db6b620867c8ede63aadc1364b3af75330b7c401
[gnulib.git] / ChangeLog
1 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2
3         stdint: be more consistent with glibc, SunOS libc
4         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
5         (gl_int_fast16_t, gl_uint_fast16_t)
6         (gl_int_fast32_t, gl_uint_fast32_t)
7         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
8         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
9         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
10         Be consistent with glibc by default, and with SunOS 5.10 and later
11         if __sun is defined.  This lessens the likelihood of clashes if
12         code compiled for older hosts is combined with code compiled for
13         newer ones.  Problem reported by Niels Möller in
14         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
15
16 2012-05-07  Eric Blake  <eblake@redhat.com>
17
18         isatty: relax license to LGPLv2+
19         * modules/isatty (License): Relax license.
20
21 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22
23         stat-size: comment fix
24         * lib/stat-size.h: Remove obsolete comment about indenting.
25
26 2012-05-06  Bruno Haible  <bruno@clisp.org>
27
28         Tests for module 'sh-quote'.
29         * modules/sh-quote-tests: New file.
30         * tests/test-sh-quote.c: New file.
31
32 2012-05-06  Bruno Haible  <bruno@clisp.org>
33
34         sh-quote: Improve shell_quote_argv's signature.
35         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
36         * lib/sh-quote.c (shell_quote_argv): Likewise.
37
38 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
39
40         stdint: document issues with int_fast8_t etc.
41         * doc/posix-headers/stdint.texi (stdint.h): Say that other
42         stdint.h substitutes may define these types differently.  See
43         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
44
45 2012-05-05  Bruno Haible  <bruno@clisp.org>
46
47         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
48         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
49         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
50         or 'guessing no (mishandles large arguments)'.
51
52 2012-05-05  Bruno Haible  <bruno@clisp.org>
53
54         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
55         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
56         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
57         set gl_cv_func_link_follows_symlink to "guessing no".
58
59 2012-05-05  Bruno Haible  <bruno@clisp.org>
60
61         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
62         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
63         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
64         "guessing no".
65         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
66
67 2012-05-05  Bruno Haible  <bruno@clisp.org>
68
69         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
70         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
71         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
72         set gl_cv_struct_dirent_d_ino to "guessing yes".
73
74 2012-05-05  Bruno Haible  <bruno@clisp.org>
75
76         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
77         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
78         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
79         "guessing yes".
80
81 2012-05-05  Bruno Haible  <bruno@clisp.org>
82
83         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
84         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
85         compiling to a glibc system, set gl_cv_func_signbit and
86         gl_cv_func_signbit_gcc to "guessing yes".
87
88 2012-05-05  Bruno Haible  <bruno@clisp.org>
89
90         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
91         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
92         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
93         to "guessing yes".
94         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
95         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
96
97 2012-05-05  Bruno Haible  <bruno@clisp.org>
98
99         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
100         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
101         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
102         gl_cv_func_realpath_works to "guessing yes".
103
104 2012-05-05  Bruno Haible  <bruno@clisp.org>
105
106         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
107         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
108         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
109
110 2012-05-04  Bruno Haible  <bruno@clisp.org>
111
112         Tweak last commit.
113         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
114         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
115
116 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
117
118         unistd_h: make it easier to avoid sys_types_h
119         This is useful for Emacs, which has its own method of porting to
120         Windows, and which therefore does not need the sys_types_h module.
121         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
122         code moved here from gl_SYS_TYPES_H.
123         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
124         using the code directly.
125         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
126         gl_SYS_TYPES_H.
127         * modules/sys_types (Files):
128         * modules/unistd (Files): Add m4/off_t.m4.
129
130 2012-05-03  Bruno Haible  <bruno@clisp.org>
131
132         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
133         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
134         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
135         "guessing yes" or "guessing no".
136         (gl_FUNC_LSTAT): Update.
137         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
138         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
139         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
140
141 2012-05-03  Bruno Haible  <bruno@clisp.org>
142
143         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
144         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
145         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
146         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
147         cross-compiling, choose the first alternative on glibc systems.
148         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
149
150 2012-05-03  Bruno Haible  <bruno@clisp.org>
151
152         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
153         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
154         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
155
156 2012-05-03  Bruno Haible  <bruno@clisp.org>
157
158         chown: Avoid "guessing no" when cross-compiling to glibc systems.
159         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
160
161 2012-05-03  Bruno Haible  <bruno@clisp.org>
162
163         Avoid "guessing no" guesses when cross-compiling to glibc systems.
164         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
165         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
166         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
167         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
168         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
169         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
170         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
171         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
172         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
173         compiling to glibc systems, set gl_cv_func_chown_slash_works,
174         gl_cv_func_chown_ctime_works to "guessing yes".
175         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
176         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
177         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
178         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
179         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
180         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
181         compiling to glibc systems, set gl_cv_func_open_directory_works to
182         "guessing yes".
183         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
184         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
185         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
186         "guessing yes".
187         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
188         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
189         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
190         compiling to glibc systems, set gl_cv_func_floorf_ieee to
191         "guessing yes".
192         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
193         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
194         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
195         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
196         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
197         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
198         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
199         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
200         "guessing yes".
201         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
202         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
203         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
204         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
205         "guessing yes".
206         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
207         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
208         "guessing yes".
209         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
210         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
211         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
212         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
213         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
214         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
215         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
216         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
217         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
218         compiling to glibc systems, set gl_cv_func_log10f_ieee to
219         "guessing yes".
220         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
221         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
222         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
223         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
224         "guessing yes".
225         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
226         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
227         "guessing yes".
228         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
229         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
230         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
231         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
232         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
233         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
234         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
235         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
236         compiling to glibc systems, set gl_cv_func_mkfifo_works to
237         "guessing yes".
238         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
239         compiling to glibc systems, set gl_cv_func_mknod_works to
240         "guessing yes".
241         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
242         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
243         "guessing yes".
244         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
245         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
246         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
247         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
248         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
249         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
250         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
251         compiling to glibc systems, set gl_cv_func_svid_putenv to
252         "guessing yes".
253         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
254         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
255         "guessing yes".
256         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
257         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
258         "guessing yes".
259         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
260         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
261         to "guessing yes".
262         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
263         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
264         to "guessing yes".
265         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
266         compiling to glibc systems, set gl_cv_func_rmdir_works to
267         "guessing yes".
268         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
269         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
270         gl_cv_func_unlink_parent_fails to "guessing yes".
271         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
272         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
273         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
274         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
275         gl_cv_func_rename_dest_works to "guessing yes".
276         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
277         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
278         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
279         compiling to glibc systems, set gl_cv_func_roundf_ieee to
280         "guessing yes".
281         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
282         compiling to glibc systems, set gl_cv_func_roundl_ieee to
283         "guessing yes".
284         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
285         compiling to glibc systems, set gl_cv_func_setenv_works to
286         "guessing yes".
287         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
288         compiling to glibc systems, set gl_cv_func_unsetenv_works to
289         "guessing yes".
290         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
291         compiling to glibc systems, set gl_cv_func_sleep_works to
292         "guessing yes".
293         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
294         compiling to glibc systems, set gl_cv_func_stat_file_slash to
295         "guessing yes".
296         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
297         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
298         "guessing yes".
299         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
300         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
301         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
302         compiling to glibc systems, set gl_cv_func_truncf_ieee to
303         "guessing yes".
304         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
305         compiling to glibc systems, set gl_cv_func_truncl_ieee to
306         "guessing yes".
307         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
308         compiling to glibc systems, set gl_cv_func_usleep_works to
309         "guessing yes".
310         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
311         compiling to glibc systems, set gl_cv_func_futimesat_works to
312         "guessing yes".
313
314 2012-05-03  Bruno Haible  <bruno@clisp.org>
315
316         Say "guessing yes" or "guessing no" when cross-compiling.
317         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
318         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
319         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
320         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
321         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
322         am_cv_func_working_getline to "guessing yes" or "guessing no".
323         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
324         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
325         (gl_FUNC_MEMMEM): When cross-compiling, set
326         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
327         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
328         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
329         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
330         set gl_cv_func_strcasestr_works_always to "guessing yes" or
331         "guessing no".
332         (gl_FUNC_STRCASESTR): When cross-compiling, set
333         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
334         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
335         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
336         (gl_FUNC_STRSTR): When cross-compiling, set
337         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
338         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
339         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
340         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
341         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
342
343 2012-05-01  Bruno Haible  <bruno@clisp.org>
344
345         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
346         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
347         * build-aux/reloc-ldflags: Likewise.
348         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
349
350 2012-05-01  Bruno Haible  <bruno@clisp.org>
351
352         gnulib-tool: Remove transitional code.
353         * gnulib-tool: Don't warn about --import with 0 arguments any more.
354         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
355
356 2012-05-01  Bruno Haible  <bruno@clisp.org>
357
358         getcwd: Fix misindentation.
359         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
360
361 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
362
363         exclude: process exclude and include directives in order
364         This restores the pre-2009 behavior, and is part of a fix of a
365         grep bug reported by Quentin Arce in
366         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
367         * lib/exclude.c (struct exclude): Remove 'tail' member.
368         (new_exclude_segment): Prepend the new segment instead of appending.
369         Return void, since that's now more convenient.
370         (file_pattern_matches): Renamed from excluded_file_pattern_p.
371         (file_name_matches): Renamed from excluded_file_name_p.
372         (file_pattern_matches, file_name_matches):
373         Return true if the pattern matches, not if it excludes.
374         All callers changed.
375         (excluded_file_name): Process the list in reverse order;
376         since the list is now reversed this restores the pre-2009 behavior.
377         (add_exclude): Adjust to new reversed-order list.  Use local var
378         rather than macro, for clarity.
379         * tests/test-exclude7.sh: Adjust to corrected behavior.
380
381         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
382         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
383         it's not possible here.  Handle the case of \ at end of pattern
384         without dumping core.
385         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
386
387         _Noreturn: future-proof non-GNU and non-MSVC compilers
388         * build-aux/snippet/_Noreturn.h (_Noreturn):
389         * m4/gnulib-common.m4 (gl_COMMON_BODY):
390         Do not define _Noreturn if __STDC_VERSION__ indicates this is
391         C11 or later.  This is more likely to work with random future C
392         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
393         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
394
395         exclude: handle wildcards with FNM_EXTMATCH
396         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
397         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
398         comment that "has wildcards" really means "has or may have
399         wildcards".  Simplify by avoiding the need to call strcspn.
400
401 2012-04-29  Bruno Haible  <bruno@clisp.org>
402
403         gnulib-tool: Fix list of authors.
404         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
405
406 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
407
408         bootstrap: support Automake-NG in $buildreq
409         * bootstrap (check_versions): Handle automake and aclocal from
410         Automake-NG specially.  They can be specified as respectively
411         the "automake-ng" and "aclocal-ng" requirements.
412
413 2012-04-25  Eric Blake  <eblake@redhat.com>
414
415         bootstrap: only force latest Makefile.in.in for gettext module
416         * build-aux/bootstrap (with_gettext): Only install latest
417         Makefile.in.in for projects requesting bleeding edge gettext.
418
419 2012-04-22  Bruno Haible  <bruno@clisp.org>
420
421         doc: Mention reason for replacement on glibc/Linux systems.
422         * doc/posix-functions/dprintf.texi: Mention the problem with special
423         'long double' values.
424         * doc/posix-functions/fprintf.texi: Likewise.
425         * doc/posix-functions/printf.texi: Likewise.
426         * doc/posix-functions/snprintf.texi: Likewise.
427         * doc/posix-functions/sprintf.texi: Likewise.
428         * doc/posix-functions/vdprintf.texi: Likewise.
429         * doc/posix-functions/vfprintf.texi: Likewise.
430         * doc/posix-functions/vprintf.texi: Likewise.
431         * doc/posix-functions/vsnprintf.texi: Likewise.
432         * doc/posix-functions/vsprintf.texi: Likewise.
433         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
434         platforms with F_DUPFD_CLOEXEC problems.
435         * doc/posix-functions/glob.texi: Mention which platforms are affected
436         by the problem with symbolic links.
437         * doc/posix-functions/linkat.texi: Mention the problem with
438         AT_SYMLINK_FOLLOW on Linux.
439
440 2012-04-22  Bruno Haible  <bruno@clisp.org>
441
442         pwrite: Don't replace on all platforms.
443         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
444
445 2012-04-22  Bruno Haible  <bruno@clisp.org>
446
447         rint* tests: Avoid gcc warnings.
448         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
449         * tests/test-rintf.c (INFINITY, NAN): Likewise.
450         * tests/test-rintl.c (INFINITY, NAN): Likewise.
451
452 2012-04-21  Bruno Haible  <bruno@clisp.org>
453
454         users.txt: Update.
455         * users.txt: Add freedink, wdiff. Update URLs for projects that have
456         switched from CVS to git, bzr, or svn.
457
458 2012-04-21  Bruno Haible  <bruno@clisp.org>
459
460         Large File Support for native Windows platforms.
461
462         * m4/largefile.m4 (gl_LARGEFILE): New macro.
463         * modules/largefile (configure.ac): Require gl_LARGEFILE.
464
465         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
466         type.
467         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
468         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
469         * doc/posix-headers/sys_types.texi: Mention the effect of the
470         'largefile' module.
471
472         * lib/fcntl.in.h: Add comments about off_t.
473         * modules/fcntl-h (Depends-on): Add sys_types.
474
475         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
476         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
477         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
478         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
479         * modules/unistd (Depends-on): Add sys_types.
480         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
481
482         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
483         instead of lseek.
484         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
485         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
486         * modules/lseek (Depends-on): Add sys_types.
487
488         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
489         msvc-nothrow.h.
490         (SetFileSize): New function.
491         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
492         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
493         if Large File Support is requested.
494         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
495         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
496
497         * lib/stdio.in.h: Add comments about off_t.
498         * modules/stdio (Depends-on): Add sys_types.
499
500         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
501         instead of ftello.
502         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
503         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
504         (gl_PREREQ_FTELLO): New macro.
505         * modules/ftello (Depends-on): Add sys_types.
506         (configure.ac): Incoke gl_PREREQ_FTELLO.
507
508         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
509         instead of fseeko.
510         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
511         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
512         (gl_PREREQ_FSEEKO): New macro.
513         * modules/fseeko (Depends-on): Add sys_types.
514         (configure.ac): Invoke gl_PREREQ_FSEEKO.
515
516         * lib/sys_stat.in.h: Add comments about off_t.
517         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
518         64-bit integer for st_size in 'struct stat'.
519         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
520         Define _GL_WINDOWS_64_BIT_ST_SIZE.
521         * modules/sys_stat (Depends-on): Add sys_types.
522         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
523
524         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
525         instead of stat or _stat.
526
527         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
528         'struct _stati64' instead of fstat and 'struct stat'.
529         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
530         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
531
532         Reported by Ray Satiro <raysatiro@yahoo.com>.
533
534 2012-04-19  Eric Blake  <eblake@redhat.com>
535
536         bootstrap: accommodate older libtool
537         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
538         Reported by Daniel P. Berrange.
539
540 2012-04-19  Jim Meyering  <meyering@redhat.com>
541
542         announce-gen: avoid failure due to lack of Digest::SHA1
543         Even with the preferred Digest::SHA available, this script
544         would fail when the backup module, Digest::SHA1, was not installed.
545         * build-aux/announce-gen: Quote the conditional use of "use".
546         Reported by Reuben Thomas in:
547         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
548
549         bootstrap: don't let a user's CDPATH setting affect this script
550         When CDPATH is set, cd will sometimes generate output.
551         When "cd" is run in a subshell whose output matters, that
552         surprising-to-some output can cause malfunction.
553         Unsetting CDPATH turns off this shell "feature."
554         * build-aux/bootstrap (CDPATH): Unset.
555         Reported by Reuben Thomas in:
556         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
557         and inspired by his patch here:
558         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
559
560 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
561         and Jim Meyering  <meyering@redhat.com>
562
563         maint.mk: catch "see @xref{}" and similar
564         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
565         prohibit "See also @xref{", "Also see @pxref{", and similar.
566
567 2012-04-16  Jim Meyering  <meyering@redhat.com>
568
569         bootstrap: really use gnulib's po/Makefile.in.in
570         * build-aux/bootstrap: Correct the source file name in previous change.
571         Reported by Akim Demaille.
572
573         configmake: correct minor inconsistency in Makefile rule
574         * modules/configmake (Makefile.am): All other rules like this one
575         run the final "mv -f ..." in the same backslash-continued command
576         as the one that does everything else.  This one put the mv -f ...
577         command on a separate, non-backslash-continued line.
578         Make it like the others.
579
580         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
581         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
582         the one from gettext.  Reported by Akim Demaille.
583
584 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
585
586         Fix recursion of install-* into po directories.
587         Bison's install-pdf bug reported by Hans Aberg at
588         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
589         * build-aux/po/Makefile.in.in (install-dvi, install-html)
590         (install-info, install-pdf, install-ps): New targets.
591
592 2012-04-16  Jim Meyering  <meyering@redhat.com>
593
594         maint: avoid spurious "make sc_maint" failure
595         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
596         exempt all *.class file names, for lib/javaversion.class.
597
598 2012-04-15  Bruno Haible  <bruno@clisp.org>
599
600         lseek: Make configure test independent of environment.
601         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
602         Windows, we know that lseek() on pipes is broken; skip the runtime
603         test.
604
605 2012-04-14  Bruno Haible  <bruno@clisp.org>
606
607         stat: Bypass buggy override in mingw64.
608         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
609         * lib/stat.c (stat) [mingw64]: Define to _stat.
610         * doc/posix-functions/stat.texi: Mention mingw64 bug.
611
612 2012-04-14  Bruno Haible  <bruno@clisp.org>
613
614         pathmax: Fix compilation error on MSVC 9.
615         * modules/pathmax (Depends-on): Add unistd.
616
617 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
618
619         README: document pointer comparison assumption
620         * README (Portability guidelines): Document assumption about
621         pointer comparisons, in response to a recent bug-gnulib comment by
622         Jeffrey Kegler.
623
624 2012-04-12  Bruno Haible  <bruno@clisp.org>
625
626         Tests for module 'getrusage'.
627         * modules/getrusage-tests: New file.
628         * tests/test-getrusage.c: New file.
629
630         New module 'getrusage'.
631         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
632         warn-on-use.h.
633         (getrusage): New declaration.
634         * lib/getrusage.c: New file.
635         * m4/getrusage.m4: New file.
636         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
637         is declared.
638         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
639         HAVE_GETRUSAGE.
640         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
641         snippet/c++defs, snippet/warn-on-use.
642         (Makefile.am): Update generation of sys/resource.h. Substitute
643         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
644         * modules/getrusage: New file.
645         * doc/posix-functions/getrusage.texi: Mention the new module.
646
647 2012-04-12  Bruno Haible  <bruno@clisp.org>
648
649         Tests for module 'sys_resource'.
650         * modules/sys_resource-tests: New file.
651         * tests/test-sys_resource.c: New file.
652
653         New module 'sys_resource'.
654         * lib/sys_resource.in.h: New file.
655         * m4/sys_resource_h.m4: New file.
656         * modules/sys_resource: New file.
657         * doc/posix-headers/sys_resource.texi: Mention the new module.
658
659 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
660
661         ioctl: Fix compilation error on mingw.
662         * lib/ioctl.c: Include <windows.h>.
663         Also reported by Ray Satiro <raysatiro@yahoo.com>.
664
665 2012-04-04  Jim Meyering  <meyering@redhat.com>
666
667         regex: correct #pragma guard expression
668         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
669         not 4.3.  Correct its cpp guard expression.
670
671 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
672
673         regex: remove unnecessary type punning
674         Problem reported by Vladimir Serbinenko in
675         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
676         * lib/regex.h (struct re_pattern_buffer): Change the type of
677         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
678         Fix comment to match code.
679         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
680         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
681         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
682         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
683         (set_regs):
684         Omit no-longer-necessary casts.
685
686 2012-04-03  Bruno Haible  <bruno@clisp.org>
687
688         Tests for module 'ilogbl'.
689         * modules/ilogbl-tests: New file.
690         * tests/test-ilogbl.c: New file.
691
692         New module 'ilogbl'.
693         * lib/math.in.h (ilogbl): New declaration.
694         * lib/ilogbl.c: New file.
695         * m4/ilogbl.m4: New file.
696         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
697         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
698         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
699         Split sed invocation, to avoid the limit of 100 substitutions of
700         HP-UX 'sed'.
701         * modules/ilogbl: New file.
702         * tests/test-math-c++.cc: Check the declaration of ilogbl.
703         * doc/posix-functions/ilogbl.texi: Mention the new module.
704
705 2012-04-03  Bruno Haible  <bruno@clisp.org>
706
707         Tests for module 'ilogbf'.
708         * modules/ilogbf-tests: New file.
709         * tests/test-ilogbf.c: New file.
710
711         New module 'ilogbf'.
712         * lib/math.in.h (ilogbf): New declaration.
713         * lib/ilogbf.c: New file.
714         * m4/ilogbf.m4: New file.
715         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
716         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
717         REPLACE_ILOGBF.
718         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
719         REPLACE_ILOGBF.
720         * modules/ilogbf: New file.
721         * tests/test-math-c++.cc: Check the declaration of ilogbf.
722         * doc/posix-functions/ilogbf.texi: Mention the new module.
723
724 2012-04-03  Bruno Haible  <bruno@clisp.org>
725
726         Tests for module 'ilogb'.
727         * modules/ilogb-tests: New file.
728         * tests/test-ilogb.c: New file.
729         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
730         tests/test-logb-ieee.h.
731
732         New module 'ilogb'.
733         * lib/math.in.h (ilogb): New declaration.
734         * lib/ilogb.c: New file.
735         * m4/ilogb.m4: New file.
736         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
737         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
738         REPLACE_ILOGB.
739         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
740         REPLACE_ILOGB.
741         * modules/ilogb: New file.
742         * tests/test-math-c++.cc: Check the declaration of ilogb.
743         * doc/posix-functions/ilogb.texi: Mention the new module.
744
745 2012-04-03  Bruno Haible  <bruno@clisp.org>
746
747         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
748         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
749         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
750         (main): Check their values.
751         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
752         problem.
753
754 2012-04-03  Bruno Haible  <bruno@clisp.org>
755
756         Tests for module 'logbl-ieee'.
757         * modules/logbl-ieee-tests: New file.
758         * tests/test-logbl-ieee.c: New file.
759
760         New module 'logbl-ieee'.
761         * modules/logbl-ieee: New file.
762
763         Tests for module 'logb-ieee'.
764         * modules/logb-ieee-tests: New file.
765         * tests/test-logb-ieee.c: New file.
766
767         New module 'logb-ieee'.
768         * modules/logb-ieee: New file.
769
770         Tests for module 'logbf-ieee'.
771         * modules/logbf-ieee-tests: New file.
772         * tests/test-logbf-ieee.c: New file.
773         * tests/test-logb-ieee.h: New file.
774
775         New module 'logbf-ieee'.
776         * modules/logbf-ieee: New file.
777
778 2012-04-03  Bruno Haible  <bruno@clisp.org>
779
780         Tests for module 'logbl'.
781         * modules/logbl-tests: New file.
782         * tests/test-logbl.c: New file.
783
784         New module 'logbl'.
785         * lib/math.in.h (logbl): New declaration.
786         * lib/logbl.c: New file.
787         * m4/logbl.m4: New file.
788         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
789         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
790         REPLACE_LOGBL.
791         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
792         REPLACE_LOGBL.
793         * modules/logbl: New file.
794         * tests/test-math-c++.cc: Check the declaration of logbl.
795         * doc/posix-functions/logbl.texi: Mention the new module.
796
797 2012-04-02  Bruno Haible  <bruno@clisp.org>
798
799         Tests for module 'logbf'.
800         * modules/logbf-tests: New file.
801         * tests/test-logbf.c: New file.
802
803         New module 'logbf'.
804         * lib/math.in.h (logbf): New declaration.
805         * lib/logbf.c: New file.
806         * m4/logbf.m4: New file.
807         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
808         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
809         REPLACE_LOGBF.
810         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
811         REPLACE_LOGBF.
812         * modules/logbf: New file.
813         * tests/test-math-c++.cc: Check the declaration of logbf.
814         * doc/posix-functions/logbf.texi: Mention the new module.
815
816 2012-04-02  Bruno Haible  <bruno@clisp.org>
817
818         logb tests: More tests.
819         * tests/test-logb.h: New file, based on tests/test-logb.c and
820         tests/test-frexp.h.
821         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
822         (main): Just invoke test_function.
823         * modules/logb-tests (Files): Add tests/test-logb.h,
824         tests/minus-zero.h, tests/randomd.c.
825         (Makefile.am): Add randomd.c to test_logb_SOURCES.
826
827         logb: Provide replacement and workarounds.
828         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
829         is 1.
830         * lib/logb.c: New file.
831         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
832         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
833         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
834         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
835         * modules/logb (Files): Add lib/logb.c.
836         (Depends-on): Add isfinite, frexp, isnand.
837         (configure.ac): Compile the replacement code logb.c if needed.
838         * tests/test-math-c++.cc: Check the declaration of logb.
839         * doc/posix-functions/logb.texi: Mention the replacement and the bug
840         with subnormal numbers.
841
842 2012-04-02  Bruno Haible  <bruno@clisp.org>
843
844         log10* tests: Speed up.
845         * tests/test-log10.h (test_function): Reduce amount of random numbers
846         to test.
847
848 2012-04-01  Bruno Haible  <bruno@clisp.org>
849
850         logf-ieee: Fix test whether logf works.
851         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
852
853 2012-04-01  Bruno Haible  <bruno@clisp.org>
854
855         log10l: Work around log10l-ieee test failure on IRIX 6.5.
856         * lib/log10l.c: Include <float.h>
857         (log10l): On IRIX, normalize the +Infinity value.
858         * modules/log10l (Depends-on): Add 'float'.
859         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
860         +Infinity.
861
862         log10f-ieee: Work around test failure on NetBSD 5.1.
863         * m4/log10f-ieee.m4: New file.
864         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
865         test whether log10f works with a negative argument. Replace it if not.
866         * lib/log10f.c (log10f): For negative arguments, return NaN.
867         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
868         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
869         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
870
871         log10f-ieee: Work around test failure on Solaris 9.
872         * modules/log10f-ieee (Depends-on): Add log10-ieee.
873         (configure.ac): Require gl_FUNC_LOG10F.
874
875         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
876         * m4/log10-ieee.m4: New file.
877         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
878         whether log10 works with a negative argument. Replace it if not.
879         * lib/log10.c (log10): For negative arguments, return NaN.
880         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
881         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
882         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
883
884         Tests for module 'log10l-ieee'.
885         * modules/log10l-ieee-tests: New file.
886         * tests/test-log10l-ieee.c: New file.
887
888         New module 'log10l-ieee'.
889         * modules/log10l-ieee: New file.
890
891         Tests for module 'log10-ieee'.
892         * modules/log10-ieee-tests: New file.
893         * tests/test-log10-ieee.c: New file.
894
895         New module 'log10-ieee'.
896         * modules/log10-ieee: New file.
897
898         Tests for module 'log10f-ieee'.
899         * modules/log10f-ieee-tests: New file.
900         * tests/test-log10f-ieee.c: New file.
901         * tests/test-log10-ieee.h: New file.
902
903         New module 'log10f-ieee'.
904         * modules/log10f-ieee: New file.
905
906 2012-04-01  Bruno Haible  <bruno@clisp.org>
907
908         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
909         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
910         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
911         workaround.
912         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
913         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
914         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
915         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
916         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
917         (Depends-on): Update conditions.
918         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
919         IRIX 6.5, OSF/1 5.1 problems.
920
921 2012-04-01  Bruno Haible  <bruno@clisp.org>
922
923         log10f: Work around OSF/1 5.1 bug.
924         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
925         * lib/log10f.c (log10f): If logf exists, use it and provide just the
926         workaround.
927         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
928         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
929         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
930         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
931         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
932         (Depends-on): Update conditions.
933         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
934
935 2012-04-01  Bruno Haible  <bruno@clisp.org>
936
937         log10: Work around OSF/1 5.1 bug.
938         * lib/math.in.h (log10): New declaration.
939         * lib/log10.c: New file.
940         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
941         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
942         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
943         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
944         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
945         * modules/log10 (Files): Add lib/log10.c.
946         (Depends-on): Add math.
947         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
948         * tests/test-math-c++.cc: Check the declaration of log10.
949         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
950
951 2012-03-31  Bruno Haible  <bruno@clisp.org>
952
953         log10l tests: More tests.
954         * modules/log10l-tests (Files): Add tests/test-log10l.h,
955         tests/minus-zero.h, tests/randoml.c.
956         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
957         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
958         (main): Invoke test_function.
959
960         log10f tests: More tests.
961         * modules/log10f-tests (Files): Add tests/test-log10.h,
962         tests/minus-zero.h, tests/randomf.c.
963         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
964         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
965         (main): Invoke test_function.
966
967         log10 tests: More tests.
968         * tests/test-log10.h: New file.
969         * modules/log10-tests (Files): Add tests/test-log10.h,
970         tests/minus-zero.h, tests/randomd.c.
971         (Makefile.am): Add randomd.c to test_log10_SOURCES.
972         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
973         (main): Invoke test_function.
974
975 2012-03-31  Simon Josefsson  <simon@josefsson.org>
976
977         fflush: Fix syntax error.
978         * lib/fflush.c: Include unused-parameter.h, needed for
979         _GL_UNUSED_PARAMETER.
980         * modules/fflush (Depends-on): Add snippet/unused-parameter.
981
982 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
983
984         regex: pacify GCC when compiling GRUB
985         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
986         a diagnostic.  Reported by Vladimir Serbinenko in
987         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
988
989 2012-03-29  Eric Blake  <eblake@redhat.com>
990
991         stdio: don't assume gets any more
992         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
993         support.
994         * modules/stdio (Makefile.am): Likewise.
995         * lib/stdio-read.c (gets): Likewise.
996         * tests/test-stdio-c++.cc: Likewise.
997         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
998         * lib/stdio.in.h (gets): Make warning occur in more places.
999         * doc/posix-functions/gets.texi (gets): Update documentation.
1000         Reported by Christer Solskogen.
1001
1002         maint.mk: fix syntax checks without exclusions
1003         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
1004         Reported by Daniel P. Berrange.
1005
1006         strerror_r: avoid compiler warning
1007         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
1008         level.
1009
1010         fflush: avoid compiler warning
1011         * lib/fflush.c (update_fpos_cache): Mark variables that are
1012         potentially unused.
1013
1014 2012-03-25  Bruno Haible  <bruno@clisp.org>
1015
1016         Tests for module 'localeconv'.
1017         * modules/localeconv-tests: New file.
1018         * tests/test-localeconv.c: New file.
1019
1020         New module 'localeconv'.
1021         * lib/locale.in.h (localeconv): New declaration.
1022         * lib/localeconv.c: New file.
1023         * m4/localeconv.m4: New file.
1024         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
1025         REPLACE_LOCALECONV.
1026         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
1027         REPLACE_LOCALECONV.
1028         * modules/localeconv: New file.
1029         * modules/nl_langinfo (Depends-on): Add localeconv.
1030         * modules/human (Depends-on): Likewise.
1031         * doc/posix-functions/localeconv.texi: Mention the new module.
1032
1033 2012-03-25  Bruno Haible  <bruno@clisp.org>
1034
1035         locale: Provide a complete 'struct lconv'.
1036         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1037         'struct lconv' does not contain int_p_cs_precedes.
1038         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1039         * doc/posix-headers/locale.texi: Update.
1040
1041         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
1042         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
1043         * doc/posix-headers/locale.texi: Update.
1044
1045         locale: Provide a working 'struct lconv'.
1046         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
1047         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1048         'struct lconv' does not even contain decimal_point.
1049         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
1050         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
1051         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1052         * doc/posix-headers/locale.texi: Mention the problems with
1053         'struct lconv'.
1054         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
1055
1056 2012-03-24  Bruno Haible  <bruno@clisp.org>
1057
1058         Enable common subexpression optimization in GCC.
1059         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
1060         macros.
1061         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
1062         GCC attribute 'const'.
1063         (uc_locale_language): Declare with GCC attribute 'pure'.
1064         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
1065         with GCC attribute 'const'.
1066         * lib/unictype.in.h (uc_is_general_category_withtable,
1067         uc_combining_class, uc_combining_class_name,
1068         uc_combining_class_long_name, uc_bidi_class_name,
1069         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
1070         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
1071         uc_decimal_value, uc_digit_value, uc_numeric_value,
1072         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
1073         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
1074         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
1075         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
1076         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
1077         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
1078         Declare with GCC attribute 'const'.
1079         (uc_general_category_name, uc_general_category_long_name,
1080         uc_general_category_byname, uc_general_category,
1081         uc_is_general_category, uc_combining_class_byname,
1082         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
1083         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
1084         Declare with GCC attribute 'pure'.
1085         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
1086         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
1087         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
1088         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
1089         with GCC attribute 'pure'.
1090         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
1091         'const'.
1092         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
1093         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
1094         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
1095         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
1096         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
1097         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
1098         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
1099         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
1100         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
1101         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
1102         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
1103         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
1104         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
1105         GCC attribute 'pure'.
1106         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
1107         'const'.
1108         * lib/uniwidth.in.h (uc_width): Simplify declaration.
1109         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
1110         u32_strwidth): Declare with GCC attribute 'pure'.
1111
1112         Enable common subexpression optimization in GCC.
1113         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1114         (alphasort): Declare with GCC attribute 'pure'.
1115         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1116         (atoll): Declare with GCC attribute 'pure'.
1117         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
1118         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
1119         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
1120         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1121         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
1122         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
1123         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
1124
1125 2012-03-24  Bruno Haible  <bruno@clisp.org>
1126
1127         gnulib-tool: Avoid unintended error output from 'cmp'.
1128         * gnulib-tool (func_add_file, func_update_file, func_import): Use
1129         "cmp -s", not "cmp > /dev/null".
1130
1131 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1132
1133         gnulib-tool: fix imprecise comments w.r.t. an automake bug
1134
1135         It's not just Automake versions < 1.9b that creates an empty
1136         pkgdatadir at installation time if pkgdata_DATA is specified
1137         to empty; modern automake versions do this as well, at least
1138         until automake 1.11.4 (not yet released at the moment of writing,
1139         but soon to appear).  That behaviour was generally considered a
1140         feature rather than a bug, at least until this discussion:
1141         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
1142
1143         See also automake bugs #10997 and #11030.
1144
1145         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
1146         reference to relevant automake bug numbers.
1147         (func_emit_tests_Makefile_am): Likewise.
1148
1149 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1150
1151         announce-gen: use Digest::SHA when possible
1152         * build-aux/announce-gen: Use Digest::SHA when possible, falling
1153         back to Digest::SHA1 if necessary.
1154
1155 2012-03-20  Jim Meyering  <meyering@redhat.com>
1156
1157         tests: avoid gcc warnings about argv vs. const initializers
1158         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
1159         warnings about discarding 'const' qualifier from pointer target type.
1160         * tests/test-posix_spawn2.c (main): Likewise.
1161
1162 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1163
1164         README-release: simplify slightly
1165         * top/README-release: Run "git checkout master" only once.
1166
1167 2012-03-15  Mark Wielaard  <mark@klomp.org>
1168
1169         git-merge-changelog: add specific example on how to use with hg.
1170         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
1171
1172 2012-03-18  Mark Wielaard  <mark@klomp.org>
1173
1174         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
1175
1176 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
1177
1178         git-version-gen: don't let "prefix" envvar cause trouble
1179         * build-aux/git-version-gen (prefix): Initialize properly,
1180         so as not to use a value specified via the environment.
1181         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
1182
1183 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1184
1185         regex: diagnose too-large repeat counts in EREs
1186         Previously, the code did not diagnose the too-large repeat count
1187         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
1188         as if it were 'b\{1000000000}', which is unexpected.
1189         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
1190         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
1191         is a reasonable one for this problem.  Another option would be to
1192         create a new REG_OVERFLOW error for repeat counts that are too large.
1193         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
1194         count is too large, so that the caller can distinguish the two cases.
1195         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
1196         "Too large" return code, and that repeat counts are one example of this.
1197
1198 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1199
1200         doc: some glibc x32 integer width issues
1201         * doc/posix-headers/sys_types.texi (sys/types.h):
1202         * doc/posix-headers/time.texi (time.h):
1203         Mention that glibc x32 does not conform to POSIX in a couple of
1204         areas related to integer widths.
1205
1206 2012-03-15  Bruno Haible  <bruno@clisp.org>
1207
1208         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
1209         * lib/fma.c (VOLATILE): New macro.
1210         (FUNC): Use it to work around a GCC compiler bug.
1211
1212 2012-03-13  Bruno Haible  <bruno@clisp.org>
1213
1214         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1215         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
1216         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
1217         REPLACE_HYPOTL to 1.
1218         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
1219
1220 2012-03-13  Bruno Haible  <bruno@clisp.org>
1221
1222         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1223         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
1224         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
1225         REPLACE_REMAINDERL to 1.
1226         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
1227         bug.
1228
1229 2012-03-13  Bruno Haible  <bruno@clisp.org>
1230
1231         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1232         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
1233         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
1234         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
1235         too big rounding errors.
1236         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
1237         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
1238         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
1239         (Depends-on): Update conditions.
1240         * tests/test-sqrtl.c (my_ldexpl): New function.
1241         (main): Add test of a particular value.
1242         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1243
1244 2012-03-13  Pádraig Brady  <P@draigBrady.com>
1245
1246         doc: Update timer_* platform portability notes.
1247         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
1248         that always return ENOSYS.
1249         * doc/posix-functions/timer_delete.texi: Likewise.
1250         * doc/posix-functions/timer_gettime.texi: Likewise.
1251         * doc/posix-functions/timer_settime.texi: Likewise.
1252
1253 2012-03-13  Bruno Haible  <bruno@clisp.org>
1254
1255         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
1256         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
1257         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
1258         REPLACE_CBRTL to 1.
1259         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
1260
1261 2012-03-13  Bruno Haible  <bruno@clisp.org>
1262
1263         remainderl: Avoid compilation error on AIX >= 5.2.
1264         * lib/math.in.h (remainderl): Undefine macro from the system header.
1265
1266 2012-03-13  Bruno Haible  <bruno@clisp.org>
1267
1268         Avoid compilation errors with MSVC option -fp:strict.
1269         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
1270         * lib/cbrtf.c: Likewise.
1271         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1272
1273 2012-03-12  Bruno Haible  <bruno@clisp.org>
1274
1275         uninorm: Don't crash in out-of-memory conditions.
1276         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
1277         gracefully.
1278         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
1279         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
1280
1281 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
1282
1283         quote: fix syntax-check
1284         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
1285         also exports quote_quoting_options.
1286
1287 2012-03-12  Simon Josefsson  <simon@josefsson.org>
1288
1289         Collapse list of copyright years to ranges.  See
1290         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
1291         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
1292         build-aux/csharpexec.sh.in, build-aux/gnupload,
1293         build-aux/install-reloc, build-aux/javacomp.sh.in,
1294         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
1295         build-aux/move-if-change, build-aux/reloc-ldflags,
1296         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
1297
1298 2012-03-11  Bruno Haible  <bruno@clisp.org>
1299
1300         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1301         * m4/log2f-ieee.m4: New file.
1302         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
1303         whether log2f works with a minus zero argument. Replace it if not.
1304         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
1305         (Depends-on): Add log2-ieee.
1306         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
1307         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
1308
1309         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
1310         * m4/log2-ieee.m4: New file.
1311         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
1312         whether log2 works with a minus zero argument. Replace it if not.
1313         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
1314         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
1315         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
1316
1317         Tests for module 'log2l-ieee'.
1318         * modules/log2l-ieee-tests: New file.
1319         * tests/test-log2l-ieee.c: New file.
1320
1321         New module 'log2l-ieee'.
1322         * modules/log2l-ieee: New file.
1323
1324         Tests for module 'log2-ieee'.
1325         * modules/log2-ieee-tests: New file.
1326         * tests/test-log2-ieee.c: New file.
1327
1328         New module 'log2-ieee'.
1329         * modules/log2-ieee: New file.
1330
1331         Tests for module 'log2f-ieee'.
1332         * modules/log2f-ieee-tests: New file.
1333         * tests/test-log2f-ieee.c: New file.
1334         * tests/test-log2-ieee.h: New file.
1335
1336         New module 'log2f-ieee'.
1337         * modules/log2f-ieee: New file.
1338
1339 2012-03-11  Bruno Haible  <bruno@clisp.org>
1340
1341         Tests for module 'log2l'.
1342         * modules/log2l-tests: New file.
1343         * tests/test-log2l.c: New file.
1344
1345         New module 'log2l'.
1346         * lib/math.in.h (log2l): New declaration.
1347         * lib/log2l.c: New file.
1348         * m4/log2l.m4: New file.
1349         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
1350         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
1351         REPLACE_LOG2L.
1352         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
1353         REPLACE_LOG2L.
1354         * modules/log2l: New file.
1355         * tests/test-math-c++.cc: Check the declaration of log2l.
1356         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
1357         and OSF/1 problems.
1358
1359 2012-03-11  Bruno Haible  <bruno@clisp.org>
1360
1361         Tests for module 'log2f'.
1362         * modules/log2f-tests: New file.
1363         * tests/test-log2f.c: New file.
1364
1365         New module 'log2f'.
1366         * lib/math.in.h (log2f): New declaration.
1367         * lib/log2f.c: New file.
1368         * m4/log2f.m4: New file.
1369         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
1370         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
1371         REPLACE_LOG2F.
1372         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
1373         REPLACE_LOG2F.
1374         * modules/log2f: New file.
1375         * tests/test-math-c++.cc: Check the declaration of log2f.
1376         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
1377         and OSF/1 and Cygwin problems.
1378
1379 2012-03-11  Bruno Haible  <bruno@clisp.org>
1380
1381         Tests for module 'log2'.
1382         * modules/log2-tests: New file.
1383         * tests/test-log2.c: New file.
1384         * tests/test-log2.h: New file.
1385
1386         New module 'log2'.
1387         * lib/math.in.h (log2): New declaration.
1388         * lib/log2.c: New file.
1389         * m4/log2.m4: New file.
1390         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
1391         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
1392         REPLACE_LOG2.
1393         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
1394         REPLACE_LOG2.
1395         * modules/log2: New file.
1396         * tests/test-math-c++.cc: Check the declaration of log2.
1397         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
1398         and OSF/1 and Cygwin problems.
1399
1400 2012-03-11  Bruno Haible  <bruno@clisp.org>
1401
1402         exp2* tests: More tests.
1403         * tests/test-exp2.h (test_function): Test all integral arguments that
1404         don't need to overflow or denormalized numbers.
1405         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
1406         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
1407         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
1408
1409 2012-03-10  Bruno Haible  <bruno@clisp.org>
1410
1411         log1pl-ieee: Work around test failure on AIX 7.1.
1412         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
1413
1414         log1pl-ieee: Work around test failure on IRIX 6.5.
1415         * m4/log1pl-ieee.m4: New file.
1416         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
1417         test whether log1pl works with a minus zero argument. Replace it if
1418         not.
1419         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
1420         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
1421         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
1422         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
1423         (Depends-on): Update conditions.
1424         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1425         m4/signbit.m4.
1426         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
1427         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
1428
1429         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
1430         * m4/log1pf-ieee.m4: New file.
1431         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
1432         test whether log1pf works with a minus zero argument. Replace it if
1433         not.
1434         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
1435         m4/signbit.m4.
1436         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
1437         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
1438
1439         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
1440         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
1441         (configure.ac): Require gl_FUNC_LOG1PF.
1442
1443         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
1444         * m4/log1p-ieee.m4: New file.
1445         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
1446         whether log1p works with a minus zero argument. Replace it if not.
1447         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
1448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
1449         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
1450         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
1451         (Depends-on): Update conditions.
1452         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
1453         m4/signbit.m4.
1454         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
1455         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
1456
1457         Tests for module 'log1pl-ieee'.
1458         * modules/log1pl-ieee-tests: New file.
1459         * tests/test-log1pl-ieee.c: New file.
1460
1461         New module 'log1pl-ieee'.
1462         * modules/log1pl-ieee: New file.
1463
1464         Tests for module 'log1p-ieee'.
1465         * modules/log1p-ieee-tests: New file.
1466         * tests/test-log1p-ieee.c: New file.
1467
1468         New module 'log1p-ieee'.
1469         * modules/log1p-ieee: New file.
1470
1471         Tests for module 'log1pf-ieee'.
1472         * modules/log1pf-ieee-tests: New file.
1473         * tests/test-log1pf-ieee.c: New file.
1474         * tests/test-log1p-ieee.h: New file.
1475
1476         New module 'log1pf-ieee'.
1477         * modules/log1pf-ieee: New file.
1478
1479 2012-03-10  Bruno Haible  <bruno@clisp.org>
1480
1481         Tests for module 'log1pl'.
1482         * modules/log1pl-tests: New file.
1483         * tests/test-log1pl.c: New file.
1484
1485         New module 'log1pl'.
1486         * lib/math.in.h (log1pl): New declaration.
1487         * lib/log1pl.c: New file.
1488         * m4/log1pl.m4: New file.
1489         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
1490         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
1491         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
1492         * modules/log1pl: New file.
1493         * tests/test-math-c++.cc: Check the declaration of log1pl.
1494         * doc/posix-functions/log1pl.texi: Mention the new module.
1495
1496 2012-03-10  Bruno Haible  <bruno@clisp.org>
1497
1498         Tests for module 'log1pf'.
1499         * modules/log1pf-tests: New file.
1500         * tests/test-log1pf.c: New file.
1501
1502         New module 'log1pf'.
1503         * lib/math.in.h (log1pf): New declaration.
1504         * lib/log1pf.c: New file.
1505         * m4/log1pf.m4: New file.
1506         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
1507         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
1508         REPLACE_LOG1PF.
1509         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
1510         REPLACE_LOG1PF.
1511         * modules/log1pf: New file.
1512         * tests/test-math-c++.cc: Check the declaration of log1pf.
1513         * doc/posix-functions/log1pf.texi: Mention the new module.
1514
1515 2012-03-10  Bruno Haible  <bruno@clisp.org>
1516
1517         log1p tests: More tests.
1518         * tests/test-log1p.h: New file.
1519         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
1520         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
1521         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
1522         (main): Invoke test_function.
1523
1524         log1p: Provide replacement for Minix and MSVC.
1525         * lib/math.in.h (log1p): New declaration.
1526         * lib/log1p.c: New file.
1527         * m4/log1p.m4: New file.
1528         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
1529         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
1530         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
1531         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
1532         (Depends-on): Add math, isnand, log, round.
1533         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
1534         HAVE_LOG1P is 0.
1535         * tests/test-math-c++.cc: Check the declaration of log1p.
1536         * doc/posix-functions/log1p.texi: Mention the replacement.
1537
1538 2012-03-10  Bruno Haible  <bruno@clisp.org>
1539
1540         math tests: Small simplification.
1541         * tests/test-exp.h (test_function): Use the same err_bound for
1542         'double' on platforms with sizeof (long double) == sizeof (double)
1543         than on platforms with sizeof (long double) > sizeof (double).
1544         * tests/test-exp2.h (test_function): Likewise.
1545         * tests/test-expm1.h (test_function): Likewise.
1546         * tests/test-log.h (test_function): Likewise.
1547
1548 2012-03-10  Bruno Haible  <bruno@clisp.org>
1549
1550         Fix some comments.
1551         * lib/expl.c: Fix an ambiguous comment.
1552         * lib/expm1.c: Likewise.
1553         * lib/expm1l.c: Likewise.
1554         * lib/exp2.c: Likewise.
1555         * lib/exp2l.c: Likewise.
1556
1557 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
1558
1559         regex: allow inclusion of <regex.h> before <limits.h>
1560         Without this patch, portable programs had to include <limits.h> before
1561         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
1562         I ran into this problem with a test version of GNU grep on Solaris 8.
1563         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
1564         This is done conditionally so that this change can be merged
1565         back to glibc.
1566         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
1567         using the included regex.
1568
1569         fts: depend on fdopendir
1570         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
1571         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
1572         problem was introduced when fdopendir was split out.
1573
1574 2012-03-10  Bruno Haible  <bruno@clisp.org>
1575
1576         Remove unused variables.
1577         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
1578         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
1579
1580 2012-03-10  Bruno Haible  <bruno@clisp.org>
1581
1582         isnanf-nolibm: Fix last commit.
1583         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
1584
1585         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
1586         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
1587
1588 2012-03-10  Bruno Haible  <bruno@clisp.org>
1589
1590         logf-ieee: Work around test failure on NetBSD 5.1.
1591         * m4/logf-ieee.m4: New file.
1592         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
1593         whether logf works with a negative argument. Replace it if not.
1594         * lib/logf.c (logf): For negative arguments, return NaN.
1595         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
1596         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
1597         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
1598
1599         logf-ieee: Work around test failure on Solaris 9.
1600         * modules/logf-ieee (Depends-on): Add log-ieee.
1601         (configure.ac): Require gl_FUNC_LOGF.
1602
1603         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1604         * m4/log-ieee.m4: New file.
1605         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
1606         log works with a negative argument. Replace it if not.
1607         * lib/log.c (log): For negative arguments, return NaN.
1608         * modules/log-ieee (Files): Add m4/log-ieee.m4.
1609         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
1610         * doc/posix-functions/log.texi: Mention the log-ieee module.
1611
1612         Tests for module 'logl-ieee'.
1613         * modules/logl-ieee-tests: New file.
1614         * tests/test-logl-ieee.c: New file.
1615
1616         New module 'logl-ieee'.
1617         * modules/logl-ieee: New file.
1618
1619         Tests for module 'log-ieee'.
1620         * modules/log-ieee-tests: New file.
1621         * tests/test-log-ieee.c: New file.
1622
1623         New module 'log-ieee'.
1624         * modules/log-ieee: New file.
1625
1626         Tests for module 'logf-ieee'.
1627         * modules/logf-ieee-tests: New file.
1628         * tests/test-logf-ieee.c: New file.
1629         * tests/test-log-ieee.h: New file.
1630
1631         New module 'logf-ieee'.
1632         * modules/logf-ieee: New file.
1633
1634 2012-03-10  Bruno Haible  <bruno@clisp.org>
1635
1636         log: Fix bug introduced on 2012-03-09.
1637         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
1638
1639 2012-03-10  Pádraig Brady  <P@draigBrady.com>
1640
1641         timer-time: link explicitly with pthreads on glibc
1642         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
1643         to support static linking, when newer glibc is
1644         detected, as that contains pthread emulation of
1645         POSIX timer functions where required.
1646         * modules/timer-time: Depend on threadlib to
1647         pull in the appropriate library to link.
1648
1649 2012-03-10  Bruno Haible  <bruno@clisp.org>
1650
1651         log* tests: More tests.
1652         * tests/test-log.h: New file.
1653         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
1654         (main): Invoke test_function.
1655         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
1656         (main): Invoke test_function.
1657         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
1658         (main): Invoke test_function.
1659         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1660         tests/randomd.c.
1661         (Makefile.am): Add randomd.c to test_log_SOURCES.
1662         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1663         tests/randomf.c.
1664         (Makefile.am): Add randomf.c to test_logf_SOURCES.
1665         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
1666         tests/randoml.c.
1667         (Depends-on): Add 'float'.
1668         (Makefile.am): Add randoml.c to test_logl_SOURCES.
1669
1670 2012-03-09  Bruno Haible  <bruno@clisp.org>
1671
1672         logl: Work around OSF/1 5.1 bug.
1673         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
1674         * lib/logl.c (logl): If logl exists, use it and provide just the
1675         workaround.
1676         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
1677         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
1678         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
1679         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
1680         * modules/logl (configure.ac): Consider REPLACE_LOGL.
1681         (Depends-on): Update conditions.
1682         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
1683
1684 2012-03-09  Bruno Haible  <bruno@clisp.org>
1685
1686         logf: Work around OSF/1 5.1 bug.
1687         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
1688         * lib/logf.c (logf): If logf exists, use it and provide just the
1689         workaround.
1690         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
1691         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
1692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
1693         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
1694         * modules/logf (configure.ac): Consider REPLACE_LOGF.
1695         (Depends-on): Update conditions.
1696         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
1697
1698 2012-03-09  Bruno Haible  <bruno@clisp.org>
1699
1700         log: Work around OSF/1 5.1 bug.
1701         * lib/math.in.h (log): New declaration.
1702         * lib/log.c: New file.
1703         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
1704         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
1705         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
1706         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
1707         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
1708         * modules/log (Files): Add lib/log.c.
1709         (Depends-on): Add math.
1710         (configure.ac): If REPLACE_LOG is 1, compile an override.
1711         * tests/test-math-c++.cc: Check the declaration of log.
1712         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
1713
1714 2012-03-09  Jim Meyering  <meyering@redhat.com>
1715
1716         readtokens.c: adjust wording in a comment
1717         * lib/readtokens.c: Insert omitted "that" in a comment.
1718
1719 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1720
1721         modechange: add notations +40, 00440, etc.
1722         * lib/modechange.c (mode_compile): Support new notations
1723         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
1724
1725 2012-03-08  Bruno Haible  <bruno@clisp.org>
1726
1727         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
1728         * m4/exp2l-ieee.m4: New file.
1729         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
1730         test whether exp2l works with a NaN argument and with a negative
1731         infinity argument. Replace it if not.
1732         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
1733         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
1734         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
1735         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
1736         (Depends-on): Update conditions.
1737         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
1738         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
1739         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
1740
1741         Tests for module 'exp2l-ieee'.
1742         * modules/exp2l-ieee-tests: New file.
1743         * tests/test-exp2l-ieee.c: New file.
1744
1745         New module 'exp2l-ieee'.
1746         * modules/exp2l-ieee: New file.
1747
1748         Tests for module 'exp2-ieee'.
1749         * modules/exp2-ieee-tests: New file.
1750         * tests/test-exp2-ieee.c: New file.
1751
1752         New module 'exp2-ieee'.
1753         * modules/exp2-ieee: New file.
1754
1755         Tests for module 'exp2f-ieee'.
1756         * modules/exp2f-ieee-tests: New file.
1757         * tests/test-exp2f-ieee.c: New file.
1758         * tests/test-exp2-ieee.h: New file.
1759
1760         New module 'exp2f-ieee'.
1761         * modules/exp2f-ieee: New file.
1762
1763 2012-03-08  Bruno Haible  <bruno@clisp.org>
1764
1765         Tests for module 'exp2l'.
1766         * modules/exp2l-tests: New file.
1767         * tests/test-exp2l.c: New file.
1768
1769         New module 'exp2l'.
1770         * lib/math.in.h (exp2l): New declaration.
1771         * lib/exp2l.c: New file.
1772         * lib/expl-table.c: New file, extracted from lib/expl.c.
1773         * lib/expl.c (gl_expl_table): New declaration.
1774         (expl): Remove expl_table. Update reference.
1775         * m4/exp2l.m4: New file.
1776         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
1777         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
1778         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
1779         * modules/exp2l: New file.
1780         * modules/expl (Files): Add lib/expl-table.c.
1781         (configure.ac): Compile also expl-table.c.
1782         * tests/test-math-c++.cc: Check the declaration of exp2l.
1783         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
1784         problem.
1785
1786 2012-03-08  Bruno Haible  <bruno@clisp.org>
1787
1788         Tests for module 'exp2f'.
1789         * modules/exp2f-tests: New file.
1790         * tests/test-exp2f.c: New file.
1791
1792         New module 'exp2f'.
1793         * lib/math.in.h (exp2f): New declaration.
1794         * lib/exp2f.c: New file.
1795         * m4/exp2f.m4: New file.
1796         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
1797         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
1798         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
1799         * modules/exp2f: New file.
1800         * tests/test-math-c++.cc: Check the declaration of exp2f.
1801         * doc/posix-functions/exp2f.texi: Mention the new module and the
1802         IRIX problem.
1803
1804 2012-03-08  Bruno Haible  <bruno@clisp.org>
1805
1806         Tests for module 'exp2'.
1807         * modules/exp2-tests: New file.
1808         * tests/test-exp2.c: New file.
1809         * tests/test-exp2.h: New file.
1810
1811         New module 'exp2'.
1812         * lib/math.in.h (exp2): New declaration.
1813         * lib/exp2.c: New file.
1814         * m4/exp2.m4: New file.
1815         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
1816         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
1817         REPLACE_EXP2.
1818         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
1819         REPLACE_EXP2.
1820         * modules/exp2: New file.
1821         * tests/test-math-c++.cc: Check the declaration of exp2.
1822         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
1823         and OpenBSD problems.
1824
1825 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1826
1827         savedir: fix comment typo
1828         * lib/savedir.c (savedirstream): Fix typo in comment.
1829
1830 2012-03-08  Bruno Haible  <bruno@clisp.org>
1831
1832         test-readtokens.c: use const; remove unwarranted cast
1833         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
1834
1835 2012-03-08  Bruno Haible  <bruno@clisp.org>
1836
1837         fmal: Avoid compilation error on AIX.
1838         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
1839         AIX 5.2..7.1.
1840
1841 2012-03-08  Bruno Haible  <bruno@clisp.org>
1842
1843         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
1844         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
1845         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
1846         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
1847         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
1848         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
1849         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
1850
1851 2012-03-08  Bruno Haible  <bruno@clisp.org>
1852
1853         remainderf: Override buggy system function on IRIX 6.5.
1854         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
1855         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
1856         when it exists.
1857         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
1858
1859 2012-03-08  Jim Meyering  <meyering@redhat.com>
1860
1861         test-readtokens.c: avoid const-related compilation warnings
1862         * tests/test-readtokens.c: Avoid const-related compilation warnings.
1863
1864 2012-03-07  Jim Meyering  <meyering@redhat.com>
1865             Bruno Haible  <bruno@clisp.org>
1866
1867         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
1868         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
1869         tests/randomd.c.
1870         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
1871         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
1872         tests/randoml.c.
1873         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
1874
1875 2012-03-07  Bruno Haible  <bruno@clisp.org>
1876
1877         expm1l: Avoid compilation error on AIX.
1878         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
1879         AIX 5.2..7.1.
1880
1881 2012-03-07  Bruno Haible  <bruno@clisp.org>
1882
1883         expm1l: Don't override undeclared system function on IRIX 6.5.
1884         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
1885         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
1886         it exists. Set HAVE_DECL_EXPM1L.
1887         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
1888         HAVE_EXPM1L.
1889         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
1890         HAVE_EXPM1L.
1891         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
1892
1893 2012-03-07  Bruno Haible  <bruno@clisp.org>
1894
1895         remainderl: Don't override undeclared system function on IRIX 6.5.
1896         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
1897         HAVE_REMAINDERL.
1898         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
1899         declared when it exists. Set HAVE_DECL_REMAINDERL.
1900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
1901         not HAVE_REMAINDERL.
1902         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
1903         HAVE_REMAINDERL.
1904         * doc/posix-functions/remainderl.texi: Mention missing declaration
1905         problem.
1906
1907 2012-03-07  Bruno Haible  <bruno@clisp.org>
1908
1909         rintf: Don't override undeclared system function on IRIX 6.5.
1910         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
1911         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
1912         exists. Set HAVE_DECL_RINTF.
1913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
1914         HAVE_RINTF.
1915         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
1916         HAVE_RINTF.
1917         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
1918
1919 2012-03-07  Bruno Haible  <bruno@clisp.org>
1920
1921         roundl: Avoid compilation error on AIX.
1922         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
1923         AIX 5.2..7.1.
1924
1925 2012-03-07  Bruno Haible  <bruno@clisp.org>
1926
1927         roundl: Don't override undeclared system function on IRIX 6.5.
1928         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
1929         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
1930         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1931         * modules/roundl (configure.ac): For replacement code, test
1932         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
1933         (Depends-on): Update conditions.
1934         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
1935
1936 2012-03-07  Bruno Haible  <bruno@clisp.org>
1937
1938         roundf: Don't override undeclared system function on IRIX 6.5.
1939         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
1940         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
1941         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1942         * modules/roundf (configure.ac): For replacement code, test
1943         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
1944         (Depends-on): Update conditions.
1945         * modules/roundf-ieee (Depends-on): Update conditions.
1946         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
1947
1948 2012-03-07  Bruno Haible  <bruno@clisp.org>
1949
1950         round: Don't override undeclared system function on IRIX 6.5.
1951         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
1952         argument.
1953         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
1954         also when it is not declared. Set HAVE_ROUND. For replacement code,
1955         test HAVE_ROUND, not HAVE_DECL_ROUND.
1956         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
1957         not HAVE_DECL_ROUND.
1958         (Depends-on): Update conditions.
1959         * modules/round-ieee (Depends-on): Update conditions.
1960         * doc/posix-functions/round.texi: Mention the IRIX problem.
1961
1962 2012-03-07  Bruno Haible  <bruno@clisp.org>
1963
1964         copysignf: Don't override undeclared system function on IRIX 6.5.
1965         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
1966         HAVE_COPYSIGNF.
1967         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
1968         declared when it exists. Set HAVE_DECL_COPYSIGNF.
1969         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
1970         not HAVE_COPYSIGNF.
1971         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
1972         HAVE_COPYSIGNF.
1973         * doc/posix-functions/copysignf.texi: Mention missing declaration
1974         problem.
1975
1976 2012-03-07  Jim Meyering  <meyering@redhat.com>
1977
1978         readtokens: add tests
1979         * modules/readtokens-tests: New file.
1980         * tests/test-readtokens.c: New file.
1981
1982 2012-03-07  Jim Meyering  <meyering@redhat.com>
1983
1984         quotearg: the module must now include quote.h
1985         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
1986         So must the module.
1987         * modules/quotearg (Files): Add quote.h.
1988
1989 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
1990
1991         readtokens: avoid core dumps with unusual calling patterns
1992         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
1993         * lib/readtokens.c: Include limits.h.
1994         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
1995         (readtoken): Don't cache the delimiters; the cache code was buggy
1996         if !delim && saved_delim, or if the new n_delim differs from the old.
1997         Also, it wasn't thread-safe.
1998
1999 2012-03-07  Bruno Haible  <bruno@clisp.org>
2000
2001         quote: Adhere to common module description layout.
2002         * modules/quote (Makefile.am): Add back empty section.
2003
2004 2012-03-06  Akim Demaille  <demaille@gostai.com>
2005
2006         quote: fuse into quotearg
2007         This patch is made for the benefit of Bison.
2008         quote does not leave the choice of the quoting style to the user.
2009         quoting_style provides poor customizability, yet quoting_options,
2010         which is very rich, is hidden inside quotearg.c.  So in order to
2011         allow quote customization, move its implementation to quotearg.c.
2012         * lib/quote.c: Remove.
2013         * modules/quote: Adjust.
2014         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
2015         warning: provide all the members of literal structs.
2016         (quote_quoting_options): New.
2017         (quote, quote_n): Import implementation from quote.c.
2018         * lib/quote.h: Import the comments from quote.c.
2019         (quote_quoting_options): New.
2020
2021 2012-03-06  Bruno Haible  <bruno@clisp.org>
2022
2023         Tests for module 'expm1l-ieee'.
2024         * modules/expm1l-ieee-tests: New file.
2025         * tests/test-expm1l-ieee.c: New file.
2026
2027         New module 'expm1l-ieee'.
2028         * modules/expm1l-ieee: New file.
2029
2030         Tests for module 'expm1f-ieee'.
2031         * modules/expm1f-ieee-tests: New file.
2032         * tests/test-expm1f-ieee.c: New file.
2033
2034         New module 'expm1f-ieee'.
2035         * modules/expm1f-ieee: New file.
2036
2037         Tests for module 'expm1-ieee'.
2038         * modules/expm1-ieee-tests: New file.
2039         * tests/test-expm1-ieee.c: New file.
2040         * tests/test-expm1-ieee.h: New file.
2041
2042         New module 'expm1-ieee'.
2043         * modules/expm1-ieee: New file.
2044         * m4/expm1-ieee.m4: New file.
2045         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
2046         whether expm1 works with a minus zero argument. Replace it if not.
2047         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
2048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
2049         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
2050         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
2051         (Depends-on): Update conditions.
2052         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
2053         AIX problem.
2054
2055 2012-03-06  Bruno Haible  <bruno@clisp.org>
2056
2057         Work around expm1f bug on IRIX 6.5.
2058         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
2059         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
2060         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
2061         not work.
2062         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
2063         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
2064         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
2065         (Depends-on): Update conditions.
2066         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
2067
2068 2012-03-06  Bruno Haible  <bruno@clisp.org>
2069
2070         Tests for module 'expm1l'.
2071         * modules/expm1l-tests: New file.
2072         * tests/test-expm1l.c: New file.
2073
2074         New module 'expm1l'.
2075         * lib/math.in.h (expm1l): New declaration.
2076         * lib/expm1l.c: New file.
2077         * m4/expm1l.m4: New file.
2078         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
2079         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
2080         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
2081         * modules/expm1l: New file.
2082         * tests/test-math-c++.cc: Check the declaration of expm1l.
2083         * doc/posix-functions/expm1l.texi: Mention the new module.
2084
2085 2012-03-06  Bruno Haible  <bruno@clisp.org>
2086
2087         Tests for module 'expm1f'.
2088         * modules/expm1f-tests: New file.
2089         * tests/test-expm1f.c: New file.
2090
2091         New module 'expm1f'.
2092         * lib/math.in.h (expm1f): New declaration.
2093         * lib/expm1f.c: New file.
2094         * m4/expm1f.m4: New file.
2095         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
2096         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
2097         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
2098         * modules/expm1f: New file.
2099         * tests/test-math-c++.cc: Check the declaration of expm1f.
2100         * doc/posix-functions/expm1f.texi: Mention the new module.
2101
2102 2012-03-06  Bruno Haible  <bruno@clisp.org>
2103
2104         Tests for module 'expm1'.
2105         * modules/expm1-tests: New file.
2106         * tests/test-expm1.c: New file.
2107         * tests/test-expm1.h: New file.
2108
2109         New module 'expm1'.
2110         * lib/math.in.h (expm1): New declaration.
2111         * lib/expm1.c: New file.
2112         * m4/expm1.m4: New file.
2113         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
2114         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
2115         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
2116         * modules/expm1: New file.
2117         * tests/test-math-c++.cc: Check the declaration of expm1.
2118         * doc/posix-functions/expm1.texi: Mention the new module.
2119
2120 2012-03-06  Bruno Haible  <bruno@clisp.org>
2121
2122         math: Ensure declarations of math functions.
2123         * modules/acosf (Depends-on): Add 'extensions'.
2124         * modules/asinf (Depends-on): Likewise.
2125         * modules/atan2f (Depends-on): Likewise.
2126         * modules/atanf (Depends-on): Likewise.
2127         * modules/cbrt (Depends-on): Likewise.
2128         * modules/cbrtf (Depends-on): Likewise.
2129         * modules/cbrtl (Depends-on): Likewise.
2130         * modules/copysignf (Depends-on): Likewise.
2131         * modules/copysignl (Depends-on): Likewise.
2132         * modules/cosf (Depends-on): Likewise.
2133         * modules/coshf (Depends-on): Likewise.
2134         * modules/expf (Depends-on): Likewise.
2135         * modules/fabsf (Depends-on): Likewise.
2136         * modules/fabsl (Depends-on): Likewise.
2137         * modules/fmaf (Depends-on): Likewise.
2138         * modules/fmal (Depends-on): Likewise.
2139         * modules/fmodf (Depends-on): Likewise.
2140         * modules/fmodl (Depends-on): Likewise.
2141         * modules/frexpf (Depends-on): Likewise.
2142         * modules/frexpl (Depends-on): Likewise.
2143         * modules/hypot (Depends-on): Likewise.
2144         * modules/hypotf (Depends-on): Likewise.
2145         * modules/hypotl (Depends-on): Likewise.
2146         * modules/ldexpf (Depends-on): Likewise.
2147         * modules/ldexpl (Depends-on): Likewise.
2148         * modules/log10f (Depends-on): Likewise.
2149         * modules/log10l (Depends-on): Likewise.
2150         * modules/log1p (Depends-on): Likewise.
2151         * modules/logb (Depends-on): Likewise.
2152         * modules/logf (Depends-on): Likewise.
2153         * modules/modff (Depends-on): Likewise.
2154         * modules/modfl (Depends-on): Likewise.
2155         * modules/powf (Depends-on): Likewise.
2156         * modules/remainderf (Depends-on): Likewise.
2157         * modules/remainderl (Depends-on): Likewise.
2158         * modules/rintf (Depends-on): Likewise.
2159         * modules/rintl (Depends-on): Likewise.
2160         * modules/sinf (Depends-on): Likewise.
2161         * modules/sinhf (Depends-on): Likewise.
2162         * modules/sqrtf (Depends-on): Likewise.
2163         * modules/tanf (Depends-on): Likewise.
2164         * modules/tanhf (Depends-on): Likewise.
2165         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
2166         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
2167         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
2168         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
2169         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
2170         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
2171         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
2172         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
2173         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
2174         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
2175         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
2176         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
2177         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
2178         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
2179         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
2180         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
2181         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
2182         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2183         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
2184         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
2185         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
2186         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
2187         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
2188         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
2189         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
2190         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
2191         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
2192         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
2193         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
2194         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
2195         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2196         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
2197         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2198         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2199         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
2200         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
2201         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
2202         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
2203         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
2204         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
2205         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
2206
2207 2012-03-06  Bruno Haible  <bruno@clisp.org>
2208
2209         math: Update module names in warnings.
2210         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
2211         tanl): Use specific module name in warn-on-use warning.
2212
2213 2012-03-06  Bruno Haible  <bruno@clisp.org>
2214
2215         expl: Simplify computation.
2216         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
2217
2218 2012-03-05  Bruno Haible  <bruno@clisp.org>
2219
2220         exp* tests: More tests.
2221         * tests/test-exp.h: New file.
2222         * tests/test-exp.c: Include <float.h> and test-exp.h.
2223         (main): Invoke test_function.
2224         * tests/test-expf.c: Include <float.h> and test-exp.h.
2225         (main): Invoke test_function.
2226         * tests/test-expl.c: Include <float.h> and test-exp.h.
2227         (main): Invoke test_function.
2228         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
2229         (Makefile.am): Add randomd.c to test_exp_SOURCES.
2230         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
2231         (Makefile.am): Add randomf.c to test_expf_SOURCES.
2232         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
2233         (Depends-on): Add 'float'.
2234         (Makefile.am): Add randoml.c to test_expl_SOURCES.
2235
2236         expl: Fix precision of computed result.
2237         * lib/expl.c: Completely rewritten.
2238         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
2239         (Maintainer): Add me.
2240         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
2241
2242 2012-03-05  Bruno Haible  <bruno@clisp.org>
2243
2244         cbrt* tests: More tests.
2245         * tests/test-cbrt.h: New file.
2246         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
2247         (main): Invoke test_function.
2248         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
2249         (main): Invoke test_function.
2250         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
2251         (main): Invoke test_function.
2252         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
2253         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
2254         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
2255         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
2256         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
2257         (Depends-on): Add 'float'.
2258         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
2259
2260 2012-03-05  Bruno Haible  <bruno@clisp.org>
2261
2262         hypot* tests: More tests.
2263         * tests/test-hypot.h: New file, partially extracted from
2264         tests/test-hypotl.c.
2265         * tests/test-hypot.c: Include test-hypot.h.
2266         (main): Invoke test_function.
2267         * tests/test-hypotf.c: Include test-hypot.h.
2268         (main): Invoke test_function.
2269         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
2270         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
2271         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
2272         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
2273         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
2274         tests/randomf.c.
2275         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
2276         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
2277         tests/randoml.c.
2278         (Depends-on): Add 'fpucw', 'float'.
2279         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
2280
2281 2012-03-05  Bruno Haible  <bruno@clisp.org>
2282
2283         fpucw: Doc about FreeBSD.
2284         * lib/fpucw.h: Mention FreeBSD in comments.
2285
2286 2012-03-04  Bruno Haible  <bruno@clisp.org>
2287
2288         sqrt* tests: More tests.
2289         * tests/test-sqrt.h: New file.
2290         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
2291         (main): Invoke test_function.
2292         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
2293         (main): Invoke test_function.
2294         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
2295         (main): Invoke test_function.
2296         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
2297         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
2298         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
2299         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
2300         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
2301         (Depends-on): Add 'float'.
2302         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
2303
2304 2012-03-04  Bruno Haible  <bruno@clisp.org>
2305
2306         remainder* tests: More tests.
2307         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
2308         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
2309         (main): Invoke test_function.
2310         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
2311         (main): Invoke test_function.
2312         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
2313         (main): Invoke test_function.
2314         * modules/remainder-tests (Files): Add tests/test-remainder.h,
2315         tests/randomd.c.
2316         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
2317         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
2318         tests/randomf.c.
2319         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
2320         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
2321         tests/randoml.c.
2322         (Depends-on): Add 'float'.
2323         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
2324
2325 2012-03-04  Bruno Haible  <bruno@clisp.org>
2326
2327         remainder, remainderf, remainderl: Fix computation for large quotients.
2328         * lib/remainder.c: Completely rewritten.
2329         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
2330         USE_FLOAT.
2331         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
2332         USE_LONG_DOUBLE.
2333         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
2334         isnand, isinf. Remove round, fma.
2335         * modules/remainderf (Files): Add lib/remainder.c.
2336         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
2337         Remove roundf, fmaf.
2338         * modules/remainderl (Files): Add lib/remainder.c.
2339         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
2340         isinf. Remove roundl, fmal.
2341         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
2342         REMAINDER_LIBM.
2343         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
2344         REMAINDERF_LIBM.
2345         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
2346         REMAINDERL_LIBM.
2347
2348 2012-03-04  Bruno Haible  <bruno@clisp.org>
2349
2350         fmod* tests: More tests.
2351         * tests/test-fmod.h (my_ldexp): New function.
2352         (test_function): Reduce amount of random numbers to test. Add tests
2353         of very large quotients x / y.
2354         * tests/test-fmod.c (MAX_EXP): New macro.
2355         * tests/test-fmodf.c (MAX_EXP): Likewise.
2356         * tests/test-fmodl.c (MAX_EXP): Likewise.
2357
2358 2012-03-04  Bruno Haible  <bruno@clisp.org>
2359
2360         fmod, fmodl: Fix computation for large quotients x / y.
2361         * lib/fmod.c: Completely rewritten.
2362         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
2363         USE_LONG_DOUBLE.
2364         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
2365         isnand. Remove fma.
2366         * modules/fmodl (Files): Add lib/fmod.c.
2367         (Depends-on): Add float, isfinite, signbit, fabsl,
2368         frexpl, ldexpl, isnanl. Remove fma.
2369         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
2370         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
2371
2372 2012-03-03  Bruno Haible  <bruno@clisp.org>
2373
2374         fmod* tests: More tests.
2375         * tests/test-fmod.h: New file.
2376         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
2377         (main): Invoke test_function.
2378         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
2379         (main): Invoke test_function.
2380         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
2381         (main): Invoke test_function.
2382         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
2383         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
2384         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
2385         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
2386         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
2387         (Depends-on): Add 'float'.
2388         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
2389
2390 2012-03-03  Bruno Haible  <bruno@clisp.org>
2391
2392         rint* tests: More tests.
2393         * tests/test-rint.h: New file, partially extracted from
2394         tests/test-rintl.c.
2395         * tests/test-rint.c: Include test-rint.h.
2396         (main): Invoke test_function.
2397         * tests/test-rintf.c: Include test-rint.h.
2398         (main): Invoke test_function.
2399         * tests/test-rintl.c: Include test-rint.h.
2400         (main): Invoke test_function.
2401         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
2402         (Makefile.am): Add randomd.c to test_rint_SOURCES.
2403         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
2404         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
2405         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
2406         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
2407
2408 2012-03-03  Bruno Haible  <bruno@clisp.org>
2409
2410         modf* tests: More tests.
2411         * tests/test-modf.h: New file.
2412         * tests/test-modf.c: Include <float.h> and test-modf.h.
2413         (main): Invoke test_function.
2414         * tests/test-modff.c: Include <float.h> and test-modf.h.
2415         (main): Invoke test_function.
2416         * tests/test-modfl.c: Include <float.h> and test-modf.h.
2417         (main): Invoke test_function.
2418         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
2419         (Makefile.am): Add randomd.c to test_modf_SOURCES.
2420         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
2421         (Makefile.am): Add randomf.c to test_modff_SOURCES.
2422         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
2423         (Depends-on): Add 'float'.
2424         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
2425
2426 2012-03-03  Bruno Haible  <bruno@clisp.org>
2427
2428         fabs* tests: More tests.
2429         * tests/test-fabs.h: New file, partially extracted from
2430         tests/test-fabsl.c.
2431         * tests/test-fabs.c (RANDOM): New macro.
2432         * tests/test-fabsf.c (RANDOM): New macro.
2433         * tests/test-fabsl.c (RANDOM): New macro.
2434         * modules/fabs-tests (Files): Add tests/randomd.c.
2435         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
2436         * modules/fabsf-tests (Files): Add tests/randomf.c.
2437         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
2438         * modules/fabsl-tests (Files): Add tests/randoml.c.
2439         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
2440
2441 2012-03-03  Bruno Haible  <bruno@clisp.org>
2442
2443         ldexp* tests: More tests.
2444         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
2445         * tests/test-ldexp.c (RANDOM): New macro.
2446         * tests/test-ldexpf.c (RANDOM): New macro.
2447         * tests/test-ldexpl.c (RANDOM): New macro.
2448         * modules/ldexp-tests (Files): Add tests/randomd.c.
2449         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
2450         * modules/ldexpf-tests (Files): Add tests/randomf.c.
2451         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
2452         * modules/ldexpl-tests (Files): Add tests/randoml.c.
2453         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
2454
2455 2012-03-03  Bruno Haible  <bruno@clisp.org>
2456
2457         frexp* tests: More tests.
2458         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
2459         * tests/test-frexp.c (RANDOM): New macro.
2460         * tests/test-frexpf.c (RANDOM): New macro.
2461         * tests/test-frexpl.c (RANDOM): New macro.
2462         * modules/frexp-tests (Files): Add tests/randomd.c.
2463         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
2464         * modules/frexpf-tests (Files): Add tests/randomf.c.
2465         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
2466         * modules/frexpl-tests (Files): Add tests/randoml.c.
2467         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
2468
2469 2012-03-03  Bruno Haible  <bruno@clisp.org>
2470
2471         Support for pseudo-random numbers in tests.
2472         * tests/randomf.c: New file.
2473         * tests/randomd.c: New file.
2474         * tests/randoml.c: New file.
2475         * tests/macros.h (randomf, randomd, randoml): New declarations.
2476
2477 2012-03-03  Bruno Haible  <bruno@clisp.org>
2478
2479         frexp* tests: Refactor.
2480         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
2481         * tests/test-frexp.c: Include and use it.
2482         * tests/test-frexpf.c: Likewise.
2483         * tests/test-frexpl.c: Likewise.
2484         * modules/frexp-tests (Files): Add tests/test-frexp.h.
2485         * modules/frexpf-tests (Files): Likewise.
2486         * modules/frexpl-tests (Files): Likewise.
2487
2488 2012-03-02  Jim Meyering  <meyering@redhat.com>
2489
2490         maint: don't specify XZ_OPT=-9ev in dist-related rule
2491         Using xz's -9 option is warranted only if you have a very large
2492         tarball (see xz's documentation for the sizes vs. presets), and
2493         requires 64MiB of memory at decompression time.
2494         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
2495         Automake's default of just "-e" is fine.  Override on a
2496         per-package basis by setting XZ_OPT e.g., in cfg.mk.
2497
2498 2012-03-01  Eric Blake  <eblake@redhat.com>
2499
2500         maint.mk: allow announcement for non-gnulib project
2501         * maint.mk (announcement): Skip gnulib version if not used.
2502
2503 2012-03-01  Jim Meyering  <meyering@redhat.com>
2504
2505         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
2506         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
2507         envvar settings cannot interfere.  Otherwise, setting envvars like
2508         prohibit=foo require=bar, etc. would cause spurious test failures.
2509
2510 2012-03-01  Eric Blake  <eblake@redhat.com>
2511
2512         maint.mk: add per-line exclusions to prohibitions
2513         * maint.mk (_sc_search_regexp): Add $exclude parameter.
2514         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2515         (sc_const_long_option): Use it.
2516
2517 2012-03-01  Bruno Haible  <bruno@clisp.org>
2518
2519         Tests for module 'expl-ieee'.
2520         * modules/expl-ieee-tests: New file.
2521         * tests/test-expl-ieee.c: New file.
2522
2523         New module 'expl-ieee'.
2524         * modules/expl-ieee: New file.
2525
2526         Tests for module 'exp-ieee'.
2527         * modules/exp-ieee-tests: New file.
2528         * tests/test-exp-ieee.c: New file.
2529
2530         New module 'exp-ieee'.
2531         * modules/exp-ieee: New file.
2532
2533         Tests for module 'expf-ieee'.
2534         * modules/expf-ieee-tests: New file.
2535         * tests/test-expf-ieee.c: New file.
2536         * tests/test-exp-ieee.h: New file.
2537
2538         New module 'expf-ieee'.
2539         * modules/expf-ieee: New file.
2540
2541 2012-02-29  Bruno Haible  <bruno@clisp.org>
2542
2543         cbrtl-ieee: Work around test failure on IRIX 6.5.
2544         * m4/cbrtl-ieee.m4: New file.
2545         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
2546         test whether cbrtl works with a minus zero argument. Replace it if not.
2547         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
2548         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
2549         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
2550         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
2551         (Depends-on): Update conditions.
2552         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
2553         m4/signbit.m4.
2554         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
2555         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
2556         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
2557
2558         Tests for module 'cbrtl-ieee'.
2559         * modules/cbrtl-ieee-tests: New file.
2560         * tests/test-cbrtl-ieee.c: New file.
2561
2562         New module 'cbrtl-ieee'.
2563         * modules/cbrtl-ieee: New file.
2564
2565         Tests for module 'cbrt-ieee'.
2566         * modules/cbrt-ieee-tests: New file.
2567         * tests/test-cbrt-ieee.c: New file.
2568
2569         New module 'cbrt-ieee'.
2570         * modules/cbrt-ieee: New file.
2571
2572         Tests for module 'cbrtf-ieee'.
2573         * modules/cbrtf-ieee-tests: New file.
2574         * tests/test-cbrtf-ieee.c: New file.
2575         * tests/test-cbrt-ieee.h: New file.
2576
2577         New module 'cbrtf-ieee'.
2578         * modules/cbrtf-ieee: New file.
2579
2580 2012-02-29  Bruno Haible  <bruno@clisp.org>
2581
2582         cbrtf: Work around bug in IRIX 6.5 system function.
2583         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
2584         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
2585         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
2586         work.
2587         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
2588         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
2589         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
2590         (Depends-on): Update conditions.
2591         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
2592
2593 2012-02-29  Bruno Haible  <bruno@clisp.org>
2594
2595         Tests for module 'cbrtl'.
2596         * modules/cbrtl-tests: New file.
2597         * tests/test-cbrtl.c: New file.
2598
2599         New module 'cbrtl'.
2600         * lib/math.in.h (cbrtl): New declaration.
2601         * lib/cbrtl.c: New file.
2602         * m4/cbrtl.m4: New file.
2603         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
2604         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
2605         HAVE_DECL_CBRTL.
2606         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
2607         HAVE_DECL_CBRTL.
2608         * modules/cbrtl: New file.
2609         * tests/test-math-c++.cc: Check the declaration of cbrtl.
2610         * doc/posix-functions/cbrtl.texi: Mention the new module.
2611
2612 2012-02-29  Bruno Haible  <bruno@clisp.org>
2613
2614         Tests for module 'cbrtf'.
2615         * modules/cbrtf-tests: New file.
2616         * tests/test-cbrtf.c: New file.
2617
2618         New module 'cbrtf'.
2619         * lib/math.in.h (cbrtf): New declaration.
2620         * lib/cbrtf.c: New file.
2621         * m4/cbrtf.m4: New file.
2622         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
2623         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
2624         HAVE_DECL_CBRTF.
2625         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
2626         HAVE_DECL_CBRTF.
2627         * modules/cbrtf: New file.
2628         * tests/test-math-c++.cc: Check the declaration of cbrtf.
2629         * doc/posix-functions/cbrtf.texi: Mention the new module.
2630
2631 2012-02-29  Bruno Haible  <bruno@clisp.org>
2632
2633         cbrt: Provide replacement on MSVC and Minix.
2634         * lib/math.in.h (cbrt): New declaration.
2635         * lib/cbrt.c: New file.
2636         * m4/cbrt.m4: New file.
2637         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
2638         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
2639         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
2640         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
2641         (Depends-on): Add dependencies.
2642         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
2643         * tests/test-math-c++.cc: Check the declaration of cbrt.
2644         * doc/posix-functions/cbrt.texi: Mention that the module provides a
2645         replacement.
2646
2647 2012-02-29  Bruno Haible  <bruno@clisp.org>
2648
2649         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
2650         * m4/hypotl-ieee.m4: New file.
2651         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
2652         test whether hypotl works with mixed NaN and Infinity arguments.
2653         Replace it if not.
2654         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
2655         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
2656         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
2657         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
2658         (Depends-on): Update conditions.
2659         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
2660         (Depends-on): Add hypot-ieee.
2661         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
2662         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
2663
2664         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
2665         * m4/hypotf-ieee.m4: New file.
2666         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
2667         test whether hypotf works with mixed NaN and Infinity arguments.
2668         Replace it if not.
2669         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
2670         (Depends-on): Add hypot-ieee.
2671         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
2672         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
2673
2674         hypot-ieee: Work around test failure on OSF/1 and native Windows.
2675         * lib/math.in.h (hypot): New declaration.
2676         * lib/hypot.c: New file.
2677         * m4/hypot-ieee.m4: New file.
2678         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
2679         whether hypot works with mixed NaN and Infinity arguments. Replace it
2680         if not.
2681         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
2682         REPLACE_HYPOT.
2683         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
2684         * modules/hypot (Files): Add lib/hypot.c.
2685         (Depends-on): Add dependencies.
2686         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
2687         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
2688         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
2689         * tests/test-math-c++.cc: Check the declaration of hypot.
2690         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
2691
2692         Tests for module 'hypotl-ieee'.
2693         * modules/hypotl-ieee-tests: New file.
2694         * tests/test-hypotl-ieee.c: New file.
2695
2696         New module 'hypotl-ieee'.
2697         * modules/hypotl-ieee: New file.
2698
2699         Tests for module 'hypot-ieee'.
2700         * modules/hypot-ieee-tests: New file.
2701         * tests/test-hypot-ieee.c: New file.
2702
2703         New module 'hypot-ieee'.
2704         * modules/hypot-ieee: New file.
2705
2706         Tests for module 'hypotf-ieee'.
2707         * modules/hypotf-ieee-tests: New file.
2708         * tests/test-hypotf-ieee.c: New file.
2709         * tests/test-hypot-ieee.h: New file.
2710
2711         New module 'hypotf-ieee'.
2712         * modules/hypotf-ieee: New file.
2713
2714 2012-02-29  Bruno Haible  <bruno@clisp.org>
2715
2716         Remove unused variables.
2717         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
2718         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2719         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
2720         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2721
2722 2012-02-29  Eric Blake  <eblake@redhat.com>
2723
2724         termios: fix pid_t always, not just for tcgetsid
2725         * doc/posix-headers/termios.texi (termios.h): Mention problem.
2726         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
2727         just when building tcgetsid.
2728
2729 2012-02-29  Bruno Haible  <bruno@clisp.org>
2730
2731         Tests for module 'hypotl'.
2732         * modules/hypotl-tests: New file.
2733         * tests/test-hypotl.c: New file.
2734
2735         New module 'hypotl'.
2736         * lib/math.in.h (hypotl): New declaration.
2737         * lib/hypotl.c: New file.
2738         * m4/hypotl.m4: New file.
2739         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2740         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
2741         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
2742         * modules/hypotl: New file.
2743         * tests/test-math-c++.cc: Check the hypotl declaration.
2744         * doc/posix-functions/hypotl.texi: Mention the new module.
2745
2746 2012-02-29  Eric Blake  <eblake@redhat.com>
2747
2748         tcgetsid: fix cygwin header bug
2749         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
2750
2751         docs: update cygwin progress
2752         * doc/posix-functions/llround.texi (llround): Added in cygwin
2753         1.7.8.
2754         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
2755         * doc/glibc-functions/program_invocation_name.texi
2756         (program_invocation_name): Likewise.
2757         * doc/glibc-functions/program_invocation_short_name.texi
2758         (program_invocation_short_name): Likewise.
2759         * doc/glibc-functions/madvise.texi (madvise): Likewise.
2760         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
2761         Likewise.
2762         * doc/posix-functions/pthread_spin_destroy.texi
2763         (pthread_spin_destroy): Added in cygwin 1.7.10.
2764         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
2765         Likewise.
2766         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
2767         Likewise.
2768         * doc/posix-functions/pthread_spin_trylock.texi
2769         (pthread_spin_trylock): Likewise.
2770         * doc/posix-functions/pthread_spin_unlock.texi
2771         (pthread_spin_unlock): Likewise.
2772         * doc/posix-functions/pthread_setschedprio.texi
2773         (pthread_setschedprio): Likewise.
2774         * doc/posix-functions/pthread_attr_getstack.texi
2775         (pthread_attr_getstack): Likewise.
2776         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
2777         (pthread_attr_getstackaddr): Likewise.
2778         * doc/glibc-functions/pthread_getattr_np.texi
2779         (pthread_getattr_np): Likewise.
2780         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
2781         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
2782         * doc/posix-functions/clock_settime.texi (clock_settime):
2783         Likewise.
2784         * doc/posix-functions/pthread_attr_getguardsize.texi
2785         (pthread_attr_getguardsize): Likewise.
2786         * doc/posix-functions/pthread_attr_setguardsize.texi
2787         (pthread_attr_setguardsize): Likewise.
2788         * doc/posix-functions/pthread_attr_setstack.texi
2789         (pthread_attr_setstack): Likewise.
2790         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
2791         (pthread_attr_setstackaddr): Likewise.
2792         * doc/posix-functions/clock_getcpuclockid.texi
2793         (clock_getcpuclockid): Likewise.
2794         * doc/posix-functions/pthread_getcpuclockid.texi
2795         (pthread_getcpuclockid): Likewise.
2796         * doc/glibc-functions/error.texi (error): Likewise.
2797         * doc/glibc-functions/error_at_line.texi (error_at_line):
2798         Likewise.
2799         * doc/glibc-functions/error_message_count.texi
2800         (error_message_count): Likewise.
2801         * doc/glibc-functions/error_one_per_line.texi
2802         (error_one_per_line): Likewise.
2803         * doc/glibc-functions/error_print_progname.texi
2804         (error_print_progname): Likewise.
2805         * doc/posix-functions/pthread_condattr_getclock.texi
2806         (pthread_condattr_getclock): Likewise.
2807         * doc/posix-functions/pthread_condattr_setclock.texi
2808         (pthread_condattr_setclock): Likewise.
2809         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
2810         Likewise.
2811         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
2812         * doc/glibc-functions/getpt.texi (getpt): Likewise.
2813         * doc/glibc-functions/get_current_dir_name.texi
2814         (get_current_dir_name): Likewise.
2815         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
2816         Likewise.
2817         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
2818         wrong return type.
2819         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
2820         1.7.11.
2821
2822 2012-02-29  Bruno Haible  <bruno@clisp.org>
2823
2824         Tests for module 'hypotf'.
2825         * modules/hypotf-tests: New file.
2826         * tests/test-hypotf.c: New file.
2827
2828         New module 'hypotf'.
2829         * lib/math.in.h (hypotf): New declaration.
2830         * lib/hypotf.c: New file.
2831         * m4/hypotf.m4: New file.
2832         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
2833         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
2834         REPLACE_HYPOTF.
2835         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
2836         REPLACE_HYPOTF.
2837         * modules/hypotf: New file.
2838         * tests/test-math-c++.cc: Check the hypotf declaration.
2839         * doc/posix-functions/hypotf.texi: Mention the new module.
2840
2841         hypot: Prepare for hypotf module.
2842         * m4/hypot.m4: New file.
2843         * modules/hypot (Files): Add m4/hypot.m4.
2844         (configure.ac): Invoke gl_FUNC_HYPOT.
2845
2846 2012-02-29  Bruno Haible  <bruno@clisp.org>
2847
2848         hypot tests: More tests.
2849         * tests/test-hypot.c: Include <float.h>.
2850         (main): Add tests about overflow and underflow.
2851
2852 2012-02-29  Bruno Haible  <bruno@clisp.org>
2853
2854         math code: Add comments.
2855         * lib/acosl.c: Add comment about related glibc source files.
2856         * lib/asinl.c: Likewise.
2857         * lib/atanl.c: Likewise.
2858         * lib/expl.c: Likewise.
2859         * lib/logl.c: Likewise.
2860         * lib/sincosl.c: Likewise.
2861         * lib/sinl.c: Likewise.
2862         * lib/tanl.c: Likewise.
2863         * lib/trigl.c: Likewise.
2864         * lib/cosl.c: Likewise. Fix comments.
2865
2866 2012-02-28  Bruno Haible  <bruno@clisp.org>
2867
2868         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
2869         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
2870         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
2871         HUGE_VALL are defined.
2872         (numeric_equald): Renamed from numeric_equal.
2873         (numeric_equalf, numeric_equall): New functions.
2874         (main): Check also HUGE_VALF, HUGE_VALL.
2875         * modules/math-tests (Files): Add tests/macros.h.
2876         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
2877         HUGE_VALL.
2878
2879 2012-02-28  Bruno Haible  <bruno@clisp.org>
2880
2881         doc: Move ISO C11 feature notes into POSIX chapters.
2882         * doc/posix-functions/aligned_alloc.texi: Renamed from
2883         doc/glibc-functions/aligned_alloc.texi.
2884         * doc/posix-functions/quick_exit.texi: Renamed from
2885         doc/glibc-functions/quick_exit.texi.
2886         * doc/posix-headers/uchar.texi: Renamed from
2887         doc/glibc-headers/uchar.texi.
2888         * doc/posix-functions/c16rtomb.texi: Renamed from
2889         doc/glibc-functions/c16rtomb.texi.
2890         * doc/posix-functions/c32rtomb.texi: Renamed from
2891         doc/glibc-functions/c32rtomb.texi.
2892         * doc/posix-functions/mbrtoc16.texi: Renamed from
2893         doc/glibc-functions/mbrtoc16.texi.
2894         * doc/posix-functions/mbrtoc32.texi: Renamed from
2895         doc/glibc-functions/mbrtoc32.texi.
2896         * doc/gnulib.texi: Update.
2897         (Glibc uchar.h): Remove section.
2898         Suggested by Eric Blake.
2899
2900 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
2901
2902         stdnoreturn: port to MSVC better
2903         MSVC standard headers use __declspec(noreturn), so #define noreturn
2904         to empty on that platform.  Reported by Bruno Haible in
2905         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
2906         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
2907         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
2908
2909 2012-02-28  Bruno Haible  <bruno@clisp.org>
2910
2911         doc: Mention new glibc headers and functions.
2912         * doc/glibc-headers/uchar.texi: New file.
2913         * doc/glibc-functions/aligned_alloc.texi: New file.
2914         * doc/glibc-functions/c16rtomb.texi: New file.
2915         * doc/glibc-functions/c32rtomb.texi: New file.
2916         * doc/glibc-functions/clock_adjtime.texi: New file.
2917         * doc/glibc-functions/fanotify_init.texi: New file.
2918         * doc/glibc-functions/fanotify_mark.texi: New file.
2919         * doc/glibc-functions/inet6_opt_append.texi: New file.
2920         * doc/glibc-functions/inet6_opt_find.texi: New file.
2921         * doc/glibc-functions/inet6_opt_finish.texi: New file.
2922         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
2923         * doc/glibc-functions/inet6_opt_init.texi: New file.
2924         * doc/glibc-functions/inet6_opt_next.texi: New file.
2925         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
2926         * doc/glibc-functions/inet6_rth_add.texi: New file.
2927         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
2928         * doc/glibc-functions/inet6_rth_init.texi: New file.
2929         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
2930         * doc/glibc-functions/inet6_rth_segments.texi: New file.
2931         * doc/glibc-functions/inet6_rth_space.texi: New file.
2932         * doc/glibc-functions/login.texi: New file.
2933         * doc/glibc-functions/mbrtoc16.texi: New file.
2934         * doc/glibc-functions/mbrtoc32.texi: New file.
2935         * doc/glibc-functions/name_to_handle_at.texi: New file.
2936         * doc/glibc-functions/ntp_gettimex.texi: New file.
2937         * doc/glibc-functions/open_by_handle_at.texi: New file.
2938         * doc/glibc-functions/prlimit.texi: New file.
2939         * doc/glibc-functions/process_vm_readv.texi: New file.
2940         * doc/glibc-functions/process_vm_writev.texi: New file.
2941         * doc/glibc-functions/recvmmsg.texi: New file.
2942         * doc/glibc-functions/scandirat.texi: New file.
2943         * doc/glibc-functions/sendmmsg.texi: New file.
2944         * doc/glibc-functions/setns.texi: New file.
2945         * doc/glibc-functions/timespec_get.texi: New file.
2946         * doc/gnulib.texi: Include them.
2947         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
2948         sections.
2949         Reported by Eric Blake.
2950
2951 2012-02-28  Bruno Haible  <bruno@clisp.org>
2952
2953         Avoid compilation errors with MSVC option -fp:strict.
2954         * lib/floor.c: Use MSVC specific pragma fenv_access.
2955         * lib/ceil.c: Likewise.
2956         * lib/trunc.c: Likewise.
2957         * lib/round.c: Likewise.
2958         * lib/rint.c: Likewise.
2959         * lib/fma.c: Likewise.
2960         * lib/integer_length.c: Likewise.
2961         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2962         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2963         * tests/test-floor2.c: Likewise.
2964         * tests/test-floorf2.c: Likewise.
2965         * tests/test-ceil2.c: Likewise.
2966         * tests/test-ceilf2.c: Likewise.
2967         * tests/test-trunc2.c: Likewise.
2968         * tests/test-truncf2.c: Likewise.
2969         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2970
2971 2012-02-27  Bruno Haible  <bruno@clisp.org>
2972
2973         Tests for module 'sqrtl-ieee'.
2974         * modules/sqrtl-ieee-tests: New file.
2975         * tests/test-sqrtl-ieee.c: New file.
2976
2977         New module 'sqrtl-ieee'.
2978         * modules/sqrtl-ieee: New file.
2979
2980         Tests for module 'sqrt-ieee'.
2981         * modules/sqrt-ieee-tests: New file.
2982         * tests/test-sqrt-ieee.c: New file.
2983
2984         New module 'sqrt-ieee'.
2985         * modules/sqrt-ieee: New file.
2986
2987         Tests for module 'sqrtf-ieee'.
2988         * modules/sqrtf-ieee-tests: New file.
2989         * tests/test-sqrtf-ieee.c: New file.
2990         * tests/test-sqrt-ieee.h: New file.
2991
2992         New module 'sqrtf-ieee'.
2993         * modules/sqrtf-ieee: New file.
2994
2995 2012-02-27  Bruno Haible  <bruno@clisp.org>
2996
2997         remainderl-ieee: Work around test failure on OSF/1.
2998         * m4/remainderl-ieee.m4: New file.
2999         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
3000         present, test whether remainderl works with a zero second argument.
3001         Replace it if not.
3002         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
3003         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
3004         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
3005         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
3006         (Depends-on): Update conditions.
3007         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
3008         (Depends-on): Add remainder-ieee.
3009         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
3010         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
3011         module.
3012
3013         remainderf-ieee: Work around test failure on OSF/1.
3014         * m4/remainderf-ieee.m4: New file.
3015         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
3016         present, test whether remainderf works with a zero second argument.
3017         Replace it if not.
3018         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
3019         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
3020         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
3021         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
3022         (Depends-on): Update conditions.
3023         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
3024         (Depends-on): Add remainder-ieee.
3025         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
3026         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
3027         module.
3028
3029         remainder-ieee: Work around test failure on OSF/1.
3030         * m4/remainder-ieee.m4: New file.
3031         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
3032         present, test whether remainder works with a zero second argument.
3033         Replace it if not.
3034         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
3035         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
3036         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
3037         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
3038         (Depends-on): Update dependencies.
3039         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
3040         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
3041         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
3042
3043         Tests for module 'remainderl-ieee'.
3044         * modules/remainderl-ieee-tests: New file.
3045         * tests/test-remainderl-ieee.c: New file.
3046
3047         New module 'remainderl-ieee'.
3048         * modules/remainderl-ieee: New file.
3049
3050         Tests for module 'remainder-ieee'.
3051         * modules/remainder-ieee-tests: New file.
3052         * tests/test-remainder-ieee.c: New file.
3053
3054         New module 'remainder-ieee'.
3055         * modules/remainder-ieee: New file.
3056
3057         Tests for module 'remainderf-ieee'.
3058         * modules/remainderf-ieee-tests: New file.
3059         * tests/test-remainderf-ieee.c: New file.
3060         * tests/test-remainder-ieee.h: New file.
3061
3062         New module 'remainderf-ieee'.
3063         * modules/remainderf-ieee: New file.
3064
3065 2012-02-27  Bruno Haible  <bruno@clisp.org>
3066
3067         modff, modfl: Fix configure syntax error.
3068         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
3069         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3070
3071 2012-02-27  Bruno Haible  <bruno@clisp.org>
3072
3073         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
3074         * m4/fmodl-ieee.m4: New file.
3075         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
3076         whether fmodl works with zero arguments. Replace it if not.
3077         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
3078         (Depends-on): Add fmod-ieee.
3079         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
3080         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
3081
3082         fmodf-ieee: Work around test failure on OSF/1.
3083         * m4/fmodf-ieee.m4: New file.
3084         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
3085         whether fmodf works with zero arguments. Replace it if not.
3086         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
3087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
3088         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
3089         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
3090         (Depends-on): Update dependencies.
3091         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
3092         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
3093         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
3094
3095         fmodf-ieee: Work around test failure on MSVC 9.
3096         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
3097         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
3098
3099         fmod-ieee: Work around test failures on OSF/1, mingw.
3100         * m4/fmod-ieee.m4: New file.
3101         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
3102         whether fmod works with zero arguments. Replace it if not.
3103         * lib/math.in.h (fmod): New declaration.
3104         * lib/fmod.c: New file.
3105         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
3106         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
3107         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
3108         * modules/fmod (Files): Add lib/fmod.c.
3109         (Depends-on): Add math, isinf, trunc, fma.
3110         (configure.ac): Arrange to compile lib/fmod.c if needed.
3111         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
3112         m4/signbit.m4.
3113         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
3114         * tests/test-math-c++.cc: Check the declaration of fmod.
3115         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
3116
3117         fmodl-ieee: Fix test failures.
3118         * lib/fmodl.c (fmodl): Treat Inf specially.
3119         * modules/fmodl (Depends-on): Add isinf.
3120
3121         Tests for module 'fmodl-ieee'.
3122         * modules/fmodl-ieee-tests: New file.
3123         * tests/test-fmodl-ieee.c: New file.
3124
3125         New module 'fmodl-ieee'.
3126         * modules/fmodl-ieee: New file.
3127
3128         Tests for module 'fmod-ieee'.
3129         * modules/fmod-ieee-tests: New file.
3130         * tests/test-fmod-ieee.c: New file.
3131
3132         New module 'fmod-ieee'.
3133         * modules/fmod-ieee: New file.
3134
3135         Tests for module 'fmodf-ieee'.
3136         * modules/fmodf-ieee-tests: New file.
3137         * tests/test-fmodf-ieee.c: New file.
3138         * tests/test-fmod-ieee.h: New file.
3139
3140         New module 'fmodf-ieee'.
3141         * modules/fmodf-ieee: New file.
3142
3143 2012-02-27  Bruno Haible  <bruno@clisp.org>
3144
3145         Tests for module 'rintl-ieee'.
3146         * modules/rintl-ieee-tests: New file.
3147         * tests/test-rintl-ieee.c: New file.
3148
3149         New module 'rintl-ieee'.
3150         * modules/rintl-ieee: New file.
3151
3152         Tests for module 'rint-ieee'.
3153         * modules/rint-ieee-tests: New file.
3154         * tests/test-rint-ieee.c: New file.
3155
3156         New module 'rint-ieee'.
3157         * modules/rint-ieee: New file.
3158
3159         Tests for module 'rintf-ieee'.
3160         * modules/rintf-ieee-tests: New file.
3161         * tests/test-rintf-ieee.c: New file.
3162         * tests/test-rint-ieee.h: New file.
3163
3164         New module 'rintf-ieee'.
3165         * modules/rintf-ieee: New file.
3166
3167 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
3168
3169         regex: re_search etc. should return -2 when memory exhausted
3170         This bug was uncovered when testing 'grep'.  Without the fix,
3171         re_search and friends return -1 when memory is exhausted, but -1
3172         means no match, and this causes grep to falsely report no-match
3173         instead of memory-exhaustion.  See
3174         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
3175         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
3176         trouble; this can occur if re_search_internal ran out of memory.
3177
3178 2012-02-26  Bruno Haible  <bruno@clisp.org>
3179
3180         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
3181         * m4/modfl-ieee.m4: New file.
3182         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
3183         whether modfl works with Inf. Replace it if not.
3184         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
3185         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
3186         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
3187         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
3188         (Depends-on): Update dependencies.
3189         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
3190         m4/signbit.m4.
3191         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
3192         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
3193
3194         modfl-ieee: Fix dependencies.
3195         * modules/modfl-ieee (Depends-on): Add modf-ieee.
3196
3197         modfl-ieee: Fix test failures.
3198         * lib/modfl.c (modfl): Treat NaN and Inf specially.
3199         * modules/modfl (Depends-on): Add isfinite, isinf.
3200
3201         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
3202         * m4/modff-ieee.m4: New file.
3203         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
3204         whether modff works with NaN and Inf. Replace it if not.
3205         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
3206         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
3207         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
3208         * modules/modff (configure.ac): Consider REPLACE_MODFF.
3209         (Depends-on): Update dependencies.
3210         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
3211         m4/signbit.m4.
3212         (Depends-on): Add modf-ieee.
3213         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
3214         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
3215
3216         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
3217         * m4/modf-ieee.m4: New file.
3218         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
3219         whether modf works with NaN and Inf. Replace it if not.
3220         * lib/math.in.h (modf): New declaration.
3221         * lib/modf.c: New file.
3222         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
3223         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
3224         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
3225         * modules/modf (Files): Add lib/modf.c.
3226         (Depends-on): Add math, isfinite, trunc, isinf.
3227         (configure.ac): Addrange to compile lib/modf.c if needed.
3228         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
3229         m4/signbit.m4.
3230         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
3231         * tests/test-math-c++.cc: Check the declaration of modf.
3232         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
3233
3234         Tests for module 'modfl-ieee'.
3235         * modules/modfl-ieee-tests: New file.
3236         * tests/test-modfl-ieee.c: New file.
3237
3238         New module 'modfl-ieee'.
3239         * modules/modfl-ieee: New file.
3240
3241         Tests for module 'modf-ieee'.
3242         * modules/modf-ieee-tests: New file.
3243         * tests/test-modf-ieee.c: New file.
3244
3245         New module 'modf-ieee'.
3246         * modules/modf-ieee: New file.
3247
3248         Tests for module 'modff-ieee'.
3249         * modules/modff-ieee-tests: New file.
3250         * tests/test-modff-ieee.c: New file.
3251         * tests/test-modf-ieee.h: New file.
3252
3253         New module 'modff-ieee'.
3254         * modules/modff-ieee: New file.
3255
3256 2012-02-26  Bruno Haible  <bruno@clisp.org>
3257
3258         Tests for module 'fabsl-ieee'.
3259         * modules/fabsl-ieee-tests: New file.
3260         * tests/test-fabsl-ieee.c: New file.
3261
3262         New module 'fabsl-ieee'.
3263         * modules/fabsl-ieee: New file.
3264
3265         Tests for module 'fabs-ieee'.
3266         * modules/fabs-ieee-tests: New file.
3267         * tests/test-fabs-ieee.c: New file.
3268
3269         New module 'fabs-ieee'.
3270         * modules/fabs-ieee: New file.
3271
3272         Tests for module 'fabsf-ieee'.
3273         * modules/fabsf-ieee-tests: New file.
3274         * tests/test-fabsf-ieee.c: New file.
3275         * tests/test-fabs-ieee.h: New file.
3276
3277         New module 'fabsf-ieee'.
3278         * modules/fabsf-ieee: New file.
3279
3280 2012-02-26  Bruno Haible  <bruno@clisp.org>
3281
3282         Tests for module 'fmal-ieee'.
3283         * modules/fmal-ieee-tests: New file.
3284         * tests/test-fmal-ieee.c: New file.
3285
3286         New module 'fmal-ieee'.
3287         * modules/fmal-ieee: New file.
3288
3289         Tests for module 'fma-ieee'.
3290         * modules/fma-ieee-tests: New file.
3291         * tests/test-fma-ieee.c: New file.
3292
3293         New module 'fma-ieee'.
3294         * modules/fma-ieee: New file.
3295
3296         Tests for module 'fmaf-ieee'.
3297         * modules/fmaf-ieee-tests: New file.
3298         * tests/test-fmaf-ieee.c: New file.
3299         * tests/test-fma-ieee.h: New file.
3300
3301         New module 'fmaf-ieee'.
3302         * modules/fmaf-ieee: New file.
3303
3304 2012-02-26  Bruno Haible  <bruno@clisp.org>
3305
3306         Tests for module 'ldexpl-ieee'.
3307         * modules/ldexpl-ieee-tests: New file.
3308         * tests/test-ldexpl-ieee.c: New file.
3309
3310         New module 'ldexpl-ieee'.
3311         * modules/ldexpl-ieee: New file.
3312
3313         Tests for module 'ldexp-ieee'.
3314         * modules/ldexp-ieee-tests: New file.
3315         * tests/test-ldexp-ieee.c: New file.
3316
3317         New module 'ldexp-ieee'.
3318         * modules/ldexp-ieee: New file.
3319
3320         Tests for module 'ldexpf-ieee'.
3321         * modules/ldexpf-ieee-tests: New file.
3322         * tests/test-ldexpf-ieee.c: New file.
3323         * tests/test-ldexp-ieee.h: New file.
3324
3325         New module 'ldexpf-ieee'.
3326         * modules/ldexpf-ieee: New file.
3327
3328 2012-02-26  Bruno Haible  <bruno@clisp.org>
3329
3330         Refactor frexp*-ieee tests.
3331         * tests/test-frexp-ieee.h: New file.
3332         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
3333         (main): Just call test_function.
3334         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
3335         (main): Just call test_function.
3336         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
3337         (main): Just call test_function.
3338         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
3339         * modules/frexp-ieee-tests (Files): Likewise.
3340         * modules/frexpl-ieee-tests (Files): Likewise.
3341
3342         Tests for module 'frexpl-ieee'.
3343         * modules/frexpl-ieee-tests: New file.
3344         * tests/test-frexpl-ieee.c: New file.
3345
3346         New module 'frexpl-ieee'.
3347         * modules/frexpl-ieee: New file.
3348
3349         Tests for module 'frexp-ieee'.
3350         * modules/frexp-ieee-tests: New file.
3351         * tests/test-frexp-ieee.c: New file.
3352
3353         New module 'frexp-ieee'.
3354         * modules/frexp-ieee: New file.
3355
3356         Tests for module 'frexpf-ieee'.
3357         * modules/frexpf-ieee-tests: New file.
3358         * tests/test-frexpf-ieee.c: New file.
3359
3360         New module 'frexpf-ieee'.
3361         * modules/frexpf-ieee: New file.
3362
3363 2012-02-26  Bruno Haible  <bruno@clisp.org>
3364
3365         roundl-ieee tests: More tests.
3366         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3367         (main): Add tests for [MX] shaded specification in POSIX.
3368         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3369         (Depends-on): Add isnanl-nolibm.
3370
3371         round-ieee tests: More tests.
3372         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3373         (main): Add tests for [MX] shaded specification in POSIX.
3374         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3375         (Depends-on): Add isnand-nolibm.
3376
3377         roundf-ieee tests: More tests.
3378         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3379         (main): Add tests for [MX] shaded specification in POSIX.
3380         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3381         (Depends-on): Add isnanf-nolibm.
3382
3383         truncl-ieee tests: More tests.
3384         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3385         (main): Add tests for [MX] shaded specification in POSIX.
3386         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3387         (Depends-on): Add isnanl-nolibm.
3388
3389         trunc-ieee tests: More tests.
3390         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3391         (main): Add tests for [MX] shaded specification in POSIX.
3392         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3393         (Depends-on): Add isnand-nolibm.
3394
3395         truncf-ieee tests: More tests.
3396         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3397         (main): Add tests for [MX] shaded specification in POSIX.
3398         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3399         (Depends-on): Add isnanf-nolibm.
3400
3401         ceill-ieee tests: More tests.
3402         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3403         (main): Add tests for [MX] shaded specification in POSIX.
3404         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3405         (Depends-on): Add isnanl-nolibm.
3406
3407         ceil-ieee tests: More tests.
3408         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3409         (main): Add tests for [MX] shaded specification in POSIX.
3410         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3411         (Depends-on): Add isnand-nolibm.
3412
3413         ceilf-ieee tests: More tests.
3414         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3415         (main): Add tests for [MX] shaded specification in POSIX.
3416         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3417         (Depends-on): Add isnanf-nolibm.
3418
3419         floorl-ieee tests: More tests.
3420         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
3421         (main): Add tests for [MX] shaded specification in POSIX.
3422         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3423         (Depends-on): Add isnanl-nolibm.
3424
3425         floor-ieee tests: More tests.
3426         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
3427         (main): Add tests for [MX] shaded specification in POSIX.
3428         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3429         (Depends-on): Add isnand-nolibm.
3430
3431         floorf-ieee tests: More tests.
3432         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
3433         (main): Add tests for [MX] shaded specification in POSIX.
3434         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
3435         (Depends-on): Add isnanf-nolibm.
3436
3437 2012-02-26  Bruno Haible  <bruno@clisp.org>
3438
3439         fpieee: More comments.
3440         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
3441
3442 2012-02-25  Bruno Haible  <bruno@clisp.org>
3443
3444         Tests for module 'log10l'.
3445         * modules/log10l-tests: New file.
3446         * tests/test-log10l.c: New file.
3447         * tests/test-math-c++.cc: Check the declaration of log10l.
3448
3449         New module 'log10l'.
3450         * lib/math.in.h (log10l): New declaration.
3451         * lib/log10l.c: New file.
3452         * m4/log10l.m4: New file.
3453         * modules/log10l: New file.
3454         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
3455         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
3456         HAVE_DECL_LOG10L.
3457         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
3458         HAVE_DECL_LOG10L.
3459         * doc/posix-functions/log10l.texi: Mention the new module.
3460
3461 2012-02-25  Bruno Haible  <bruno@clisp.org>
3462
3463         fmodl, remainder*: Avoid wrong results due to rounding errors.
3464         * lib/fmodl.c (fmodl): Correct the result if it is not within the
3465         expected bounds.
3466         * lib/remainderf.c (remainderf): Likewise.
3467         * lib/remainder.c (remainder): Likewise.
3468         * lib/remainderl.c (remainderl): Likewise.
3469
3470 2012-02-25  Bruno Haible  <bruno@clisp.org>
3471
3472         Tests for module 'remainderl'.
3473         * modules/remainderl-tests: New file.
3474         * tests/test-remainderl.c: New file.
3475         * tests/test-math-c++.cc: Check the declaration of remainderl.
3476
3477         New module 'remainderl'.
3478         * lib/math.in.h (remainderl): New declaration.
3479         * lib/remainderl.c: New file.
3480         * m4/remainderl.m4: New file.
3481         * modules/remainderl: New file.
3482         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
3483         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
3484         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
3485         HAVE_REMAINDERL.
3486         * doc/posix-functions/remainderl.texi: Mention the new module.
3487
3488 2012-02-25  Bruno Haible  <bruno@clisp.org>
3489
3490         Tests for module 'remainderf'.
3491         * modules/remainderf-tests: New file.
3492         * tests/test-remainderf.c: New file.
3493         * tests/test-math-c++.cc: Check the declaration of remainderf.
3494
3495         New module 'remainderf'.
3496         * lib/math.in.h (remainderf): New declaration.
3497         * lib/remainderf.c: New file.
3498         * m4/remainderf.m4: New file.
3499         * modules/remainderf: New file.
3500         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
3501         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
3502         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
3503         HAVE_REMAINDERF.
3504         * doc/posix-functions/remainderf.texi: Mention the new module.
3505
3506 2012-02-25  Bruno Haible  <bruno@clisp.org>
3507
3508         remainder: Support for MSVC.
3509         * lib/math.in.h (remainder): New declaration.
3510         * lib/remainder.c: New file.
3511         * m4/remainder.m4: New file.
3512         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
3513         (Depends-on): Add math, round, fma.
3514         (configure.ac): Use results of gl_FUNC_REMAINDER.
3515         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
3516         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
3517         HAVE_DECL_REMAINDER.
3518         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
3519         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
3520         * tests/test-math-c++.cc: Check the declaration of remainder.
3521         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
3522         problems are fixed.
3523
3524 2012-02-25  Bruno Haible  <bruno@clisp.org>
3525
3526         Tests for module 'fmodl'.
3527         * modules/fmodl-tests: New file.
3528         * tests/test-fmodl.c: New file.
3529         * tests/test-math-c++.cc: Check the declaration of fmodl.
3530
3531         New module 'fmodl'.
3532         * lib/math.in.h (fmodl): New declaration.
3533         * lib/fmodl.c: New file.
3534         * m4/fmodl.m4: New file.
3535         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
3536         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
3537         REPLACE_FMODL.
3538         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
3539         REPLACE_FMODL.
3540         * modules/fmodl: New file.
3541         * doc/posix-functions/fmodl.texi: Mention the new module.
3542
3543 2012-02-25  Bruno Haible  <bruno@clisp.org>
3544
3545         Tests for module 'modfl'.
3546         * modules/modfl-tests: New file.
3547         * tests/test-modfl.c: New file.
3548         * tests/test-math-c++.cc: Check the declaration of modfl.
3549
3550         New module 'modfl'.
3551         * lib/math.in.h (modfl): New declaration.
3552         * lib/modfl.c: New file.
3553         * m4/modfl.m4: New file.
3554         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
3555         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
3556         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
3557         * modules/modfl: New file.
3558         * doc/posix-functions/modfl.texi: Mention the new module.
3559
3560 2012-02-25  Bruno Haible  <bruno@clisp.org>
3561
3562         Tests for module 'fabsl'.
3563         * modules/fabsl-tests: New file.
3564         * tests/test-fabsl.c: New file.
3565         * tests/test-math-c++.cc: Check the declaration of fabsl.
3566
3567         New module 'fabsl'.
3568         * lib/math.in.h (fabsl): New declaration.
3569         * lib/fabsl.c: New file.
3570         * m4/fabsl.m4: New file.
3571         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
3572         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
3573         REPLACE_FABSL.
3574         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
3575         REPLACE_FABSL.
3576         * modules/fabsl: New file.
3577         * doc/posix-functions/fabsl.texi: Mention the new module.
3578
3579 2012-02-25  Bruno Haible  <bruno@clisp.org>
3580
3581         fabs tests: More tests.
3582         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
3583         (zero): New variable.
3584         (main): Add tests for signed zero.
3585         * modules/fabs-tests (Files): Add tests/minus-zero.h.
3586
3587         fabsf tests: More tests.
3588         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
3589         (zero): New variable.
3590         (main): Add tests for signed zero.
3591         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
3592
3593 2012-02-24  Bruno Haible  <bruno@clisp.org>
3594
3595         atanl: Provide function definition on MSVC.
3596         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
3597         function pointer.
3598         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
3599
3600 2012-02-24  Bruno Haible  <bruno@clisp.org>
3601
3602         acosl: Provide function definition on MSVC.
3603         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
3604         function pointer.
3605         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
3606
3607 2012-02-24  Bruno Haible  <bruno@clisp.org>
3608
3609         asinl: Provide function definition on MSVC.
3610         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
3611         function pointer.
3612         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
3613
3614 2012-02-24  Bruno Haible  <bruno@clisp.org>
3615
3616         tanl: Provide function definition on MSVC.
3617         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
3618         function pointer.
3619         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
3620
3621 2012-02-24  Bruno Haible  <bruno@clisp.org>
3622
3623         cosl: Provide function definition on MSVC.
3624         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
3625         function pointer.
3626         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
3627
3628 2012-02-24  Bruno Haible  <bruno@clisp.org>
3629
3630         sinl: Provide function definition on MSVC.
3631         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
3632         function pointer.
3633         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
3634
3635 2012-02-24  Bruno Haible  <bruno@clisp.org>
3636
3637         logl: Provide function definition on MSVC.
3638         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
3639         function pointer.
3640         * lib/math.in.h (logl): Undefine if it does not exist as a function.
3641
3642 2012-02-24  Bruno Haible  <bruno@clisp.org>
3643
3644         expl: Provide function definition on MSVC.
3645         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
3646         function pointer.
3647         * lib/math.in.h (expl): Undefine if it does not exist as a function.
3648
3649 2012-02-24  Bruno Haible  <bruno@clisp.org>
3650
3651         sqrtl: Provide function definition on MSVC.
3652         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
3653         a function pointer.
3654         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
3655
3656 2012-02-24  Bruno Haible  <bruno@clisp.org>
3657
3658         ceill: Provide function definition on MSVC.
3659         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
3660         used as a function pointer.
3661         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
3662
3663 2012-02-24  Bruno Haible  <bruno@clisp.org>
3664
3665         floorl: Provide function definition on MSVC.
3666         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
3667         used as a function pointer.
3668         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
3669
3670 2012-02-24  Bruno Haible  <bruno@clisp.org>
3671
3672         ceilf: Provide function definition on MSVC.
3673         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
3674         used as a function pointer.
3675         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
3676
3677 2012-02-24  Bruno Haible  <bruno@clisp.org>
3678
3679         floorf: Provide function definition on MSVC.
3680         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
3681         used as a function pointer.
3682         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
3683
3684 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3685
3686         stdnoreturn: new module
3687         This implements a replacement for C11's <stdnoreturn.h>.
3688         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
3689         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
3690         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
3691         * tests/test-stdnoreturn.c: New files.
3692
3693 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
3694
3695         regex: fix false multibyte matches in some regular expressions
3696         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
3697         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
3698         * lib/regex_internal.c (re_string_skip_chars):
3699         Fix miscomputation of remain_len that may cause incomplete
3700         multi-byte character and false match.
3701
3702 2012-02-24  Jim Meyering  <meyering@redhat.com>
3703
3704         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
3705         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
3706         uses with "==" *before* the call, e.g., 0 == strcmp (...)
3707         Remove now-unnecessary str''cmp obfuscation.
3708         Suggested by Akim Demaille.
3709
3710 2012-02-24  Bruno Haible  <bruno@clisp.org>
3711
3712         streq: Rename macro.
3713         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
3714         * NEWS: Mention the change.
3715         * lib/mbrtowc.c (mbrtowc): Update.
3716         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
3717         * lib/wcwidth.c (wcwidth): Update.
3718         Suggested by Akim Demaille and Jim Meyering.
3719
3720 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3721
3722         regex: fix typo in definition of MIN
3723         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
3724         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
3725
3726 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3727             Bruno Haible  <bruno@clisp.org>
3728
3729         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
3730         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
3731         entries into a stack-allocated buffer directly.
3732         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
3733
3734 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
3735             Bruno Haible  <bruno@clisp.org>
3736
3737         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
3738
3739          - There were several instances of this pattern:
3740
3741              for (;;) {
3742                n = acl (f, GETACLCNT, 0, NULL);
3743                [ allocate an array A of size N ]
3744                if (acl (f, GETACL, n, a) == n)
3745                  break;
3746              }
3747
3748            This loop might never terminate if some other process is constantly
3749            manipulating the file's ACL.  The loop should be rewritten to
3750            terminate.
3751
3752          - The acl (... GETACLNT ...) call is merely an optimization; its value
3753            is merely a hint as to how big to make the array.  A better
3754            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
3755            and just guess a reasonably-big size, growing the size and trying
3756            again if it's not large enough.  This guarantees termination, and
3757            saves a system call.
3758
3759         * lib/acl-internal.h: Include <limits.h>.
3760         (MIN, SIZE_MAX): New macros.
3761         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
3762         a stack-allocated buffer, and use malloc if it does not fit. Don't
3763         use GETACLCNT.
3764         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3765
3766 2012-02-19  Bruno Haible  <bruno@clisp.org>
3767
3768         acl: Fix endless loop on Solaris with vxfs.
3769         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
3770         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
3771         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
3772         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
3773         * tests/test-sameacls.c (main)[Solaris]: Likewise.
3774         Reported by Bill Jones in
3775         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
3776
3777 2012-02-19  Bruno Haible  <bruno@clisp.org>
3778
3779         acl: Fix copy-acl test failure on Solaris 11 2011-11.
3780         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
3781         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
3782         that this function returns 0 in some more cases.
3783
3784 2012-02-19  Bruno Haible  <bruno@clisp.org>
3785
3786         acl: Update doc references.
3787         * doc/acl-resources.txt: Update links to Solaris documentation.
3788
3789 2012-02-19  Bruno Haible  <bruno@clisp.org>
3790
3791         Fix test failure in many locales on Solaris 11.
3792         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
3793         'tr' arguments.
3794         * tests/test-pipe-filter-ii1.c (main): Likewise.
3795         * build-aux/bootstrap (check_versions): Run 'tr' command with range
3796         expressions in the C locale.
3797         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
3798         * m4/host-os.m4 (gl_HOST_OS): Likewise.
3799
3800 2012-02-19  Bruno Haible  <bruno@clisp.org>
3801
3802         gnulib-tool: Improve usage message.
3803         * gnulib-tool (func_usage): Move doc of --help and --version to the
3804         section "Operation modes".
3805
3806 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
3807
3808         README-release: make it easier to execute commands
3809         * top/README-release: break commands out on to separate lines.
3810
3811 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
3812
3813         GNUmakefile: simplify detection of unconfigured trees
3814         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
3815         whether the tree make is being run from is already configured or
3816         not.  Related simplifications.
3817
3818 2012-02-13  Simon Josefsson  <simon@josefsson.org>
3819
3820         * gnulib-tool (func_usage): Document --help and --version.
3821
3822 2012-02-11  Jim Meyering  <meyering@redhat.com>
3823
3824         bootstrap: don't exit 0 upon gnulib-tool failure
3825         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
3826         its exit status, not 0.
3827
3828 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
3829
3830         README-release: various improvements
3831         * top/README-release: Give a command to push changes for the
3832         release.  Add "distcheck" to list of other pre-release checks.
3833         Fix instance of "make stable" which should be "make TYPE".
3834
3835 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3836
3837         maint: replace FSF snail-mail addresses with URLs
3838         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
3839         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
3840         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
3841         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
3842         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
3843         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
3844         * lib/check-version.c, lib/check-version.h, lib/config.charset:
3845         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
3846         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
3847         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
3848         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
3849         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
3850         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
3851         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
3852         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
3853         * lib/glthread/thread.c, lib/glthread/thread.h:
3854         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
3855         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
3856         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
3857         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
3858         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
3859         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
3860         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
3861         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
3862         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
3863         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
3864         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
3865         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
3866         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
3867         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
3868         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
3869         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
3870         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
3871         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
3872         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
3873         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
3874         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
3875         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
3876         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
3877         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
3878         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
3879         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
3880         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
3881         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
3882         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
3883         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
3884         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
3885         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
3886         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
3887         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
3888         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
3889         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
3890         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
3891         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
3892         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
3893         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
3894         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
3895         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
3896         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
3897         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
3898         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
3899         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
3900         * tests/test-poll.c, tests/test-quotearg-simple.c:
3901         * tests/test-quotearg.c, tests/test-quotearg.h:
3902         * tests/test-round-ieee.c, tests/test-round1.c:
3903         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
3904         * tests/test-roundl-ieee.c, tests/test-roundl.c:
3905         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
3906         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
3907         * tests/test-strerror.c, tests/test-strerror_r.c:
3908         * tests/test-strsignal.c, tests/test-strverscmp.c:
3909         * tests/test-xmemdup0.c:
3910         Replace FSF snail mail addresses with URLs, as per GNU coding
3911         standards.  See glibc bug
3912         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
3913
3914 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3915
3916         README-release: capitalize a word and split a line
3917         * top/README-release: Fix punctuation and spacing.
3918
3919 2012-02-08  Akim Demaille  <demaille@gostai.com>
3920
3921         fatal-signal: use C prototypes (with explicit void).
3922         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
3923         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
3924
3925 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3926
3927         regex: spelling fix
3928         * lib/regexec.c: spelling fix
3929
3930         regex: rely on stdint.h for SIZE_MAX
3931         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
3932
3933 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
3934
3935         regex: merge glibc changes
3936
3937         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
3938         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
3939         (init_word_char): Work even if bitset words are not exactly 32 or
3940         64 bits wide.  Don't assume there are no padding bits.
3941         * lib/regex.c [_LIBC]: Do not include <config.h>.
3942         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
3943         and -Wtype-limits.
3944         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
3945         needless disagreement with glibc.  All uses changed.  Define it to
3946         1 only if _GNU_SOURCE, to match glibc.
3947         (_REG_RM_NAME): Remove; no longer needed, since the names in
3948         question are now all protected by __USE_GNU.
3949         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
3950         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
3951         * lib/regex_internal.h (MIN): New macro.
3952
3953         2012-01-03 Ulrich Drepper <drepper@gmail.com>
3954         * lib/regcomp.c (init_word_char): Optimize regex a bit.
3955
3956         2011-12-30 Jakub Jelinek <jakub@redhat.com>
3957         * lib/regex_internal.c (re_string_fetch_byte_case):
3958         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
3959         is miscompiled, and it turns out it is because of an incorrect
3960         attribute on re_string_fetch_byte_case.  Unlike
3961         re_string_peek_byte_case, this one is really not pure, it modifies
3962         memory (increments pstr->cur_idx), and with the pure attribute GCC
3963         assumed it doesn't and it cached the presumed value of
3964         regexp->cur_idx in a variable across the
3965          for (;; ++i)
3966            {
3967              if (i >= BRACKET_NAME_BUF_SIZE)
3968                return REG_EBRACK;
3969              if (token->type == OP_OPEN_CHAR_CLASS)
3970                ch = re_string_fetch_byte_case (regexp);
3971              else
3972                ch = re_string_fetch_byte (regexp);
3973              if (re_string_eoi(regexp))
3974                return REG_EBRACK;
3975              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
3976                break;
3977              elem->opr.name[i] = ch;
3978            }
3979
3980         2011-11-29 Andreas Schwab <schwab@redhat.com>
3981         * lib/regcomp.c (build_equiv_class):
3982         Fix access after end of search string in regex matcher.
3983
3984         2011-11-12 Ulrich Drepper <drepper@redhat.com>
3985         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
3986
3987         2011-10-12 Ulrich Drepper <drepper@redhat.com>
3988         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
3989
3990         2011-10-11 Ulrich Drepper <drepper@redhat.com>
3991         * lib/regcomp.c (parse_branch, parse_sub_exp):
3992         More regex memory leak fixes and tests.
3993         (parse_sub_exp, parse_bracket_exp):
3994         Fix memory leak for some invalid regular expressions.
3995
3996         2011-05-28 Ulrich Drepper <drepper@gmail.com>
3997         * lib/regex_internal.c, lib/regexec.c:
3998         Fix unnecessary overallocation due to incomplete character.  When
3999         incomplete characters are found at the end of a string the code
4000         ran amok and allocated lots of memory.  Stricter limits are now in
4001         place.
4002
4003         2011-05-20 Reuben Thomas <rrt@sc3d.org>
4004         * lib/regex.h: Update documentation.
4005
4006         2011-05-16 Aharon Robbins <arnold@skeeve.com>
4007         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
4008
4009         2010-05-05 Andreas Schwab <schwab@redhat.com>
4010         * lib/regexec.c (find_collation_sequence_value):
4011         Fix lookup of collation sequence value during regexp matching.
4012
4013         2010-01-22 Ulrich Drepper <drepper@redhat.com>
4014         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
4015
4016         2008-01-16 Ulrich Drepper <drepper@redhat.com>
4017         * lib/regex.h: Cleanup namespace.
4018
4019         2007-11-26 Ulrich Drepper <drepper@redhat.com>
4020         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
4021
4022         2007-08-26 Ulrich Drepper <drepper@redhat.com>
4023         * lib/regex_internal.h: Prevent some declarations and definitions
4024         to be seen when used in tests.
4025
4026         2005-05-06 Ulrich Drepper <drepper@redhat.com>
4027         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
4028         __libc_lock_* macros if not _LIBC.
4029         (struct re_dfa_t): Add lock.
4030
4031 2012-02-07  Eric Blake  <eblake@redhat.com>
4032
4033         maint.mk: also prohibit lower-case @var@
4034         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
4035         lower case, like @top_srcdir@.
4036
4037 2012-02-04  Eric Blake  <eblake@redhat.com>
4038
4039         canonicalize: avoid uninitialized memory use
4040         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
4041         random '/' left in dest.
4042         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
4043
4044 2012-02-04  Bruno Haible  <bruno@clisp.org>
4045
4046         isatty: Fix test failure of ptsname_r on native Windows.
4047         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
4048         and don't set errno.
4049         (isatty): Test first whether fd is valid. Set errno when returning 0.
4050
4051 2012-02-04  Bruno Haible  <bruno@clisp.org>
4052
4053         spawn-pipe tests: Fix a NULL program name in a diagnostic.
4054         * tests/test-spawn-pipe-main.c: Include progname.h.
4055         (main): Invoke set_program_name.
4056         * modules/spawn-pipe-tests (Depends-on): Add progname.
4057
4058         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
4059         * tests/test-nonblocking-socket-main.c: Include progname.h.
4060         (main): Invoke set_program_name.
4061         * modules/nonblocking-socket-tests (Depends-on): Add progname.
4062
4063         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
4064         * tests/test-nonblocking-pipe-main.c: Include progname.h.
4065         (main): Invoke set_program_name.
4066         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
4067
4068 2012-02-04  Eric Blake  <eblake@redhat.com>
4069
4070         canonicalize-lgpl: fix // handling
4071         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
4072
4073         canonicalize: fix // handling
4074         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
4075         /// to //, since only // is special.
4076
4077 2012-02-04  Bruno Haible  <bruno@clisp.org>
4078
4079         ioctl: Fix test failure on native Windows.
4080         * lib/ioctl.c: Include msvc-nothrow.h.
4081         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
4082
4083 2012-02-04  Bruno Haible  <bruno@clisp.org>
4084
4085         fsync: Avoid test failure on native Windows.
4086         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
4087         read-only.
4088
4089 2012-02-04  Bruno Haible  <bruno@clisp.org>
4090
4091         sys_select: Avoid syntax error on OpenBSD 5.0.
4092         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
4093         currently being included, just include the system's <sys/select.h>.
4094
4095 2012-02-04  Bruno Haible  <bruno@clisp.org>
4096
4097         sys_select: Avoid syntax error on OpenBSD 5.0.
4098         * lib/sys_select.in.h: Include <signal.h> only after the include_next
4099         <sys/select.h>, not before.
4100         Reported by Jiri B <jirib@devio.us>.
4101
4102 2012-02-04  Bruno Haible  <bruno@clisp.org>
4103
4104         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
4105         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
4106         global variables.
4107         * tests/test-get-rusage-data.c (main): Likewise.
4108         Reported by Jim Meyering.
4109
4110 2012-02-04  Bruno Haible  <bruno@clisp.org>
4111
4112         stdioext: Fix last commit.
4113         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
4114
4115 2012-02-03  Bruno Haible  <bruno@clisp.org>
4116
4117         stdioext: Add tentative support for Plan9.
4118         * lib/stdio-impl.h: Include <errno.h>.
4119         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
4120         * lib/freadable.c (freadable): Likewise.
4121         * lib/fwritable.c (fwritable): Likewise.
4122         * lib/fbufmode.c (fbufmode): Likewise.
4123         * lib/freading.c (freading): Likewise.
4124         * lib/fwriting.c (fwriting): Likewise.
4125         * lib/freadptr.c (freadptr): Likewise.
4126         * lib/freadseek.c (freadptrinc): Likewise.
4127         * lib/freadahead.c (freadahead): Likewise.
4128         * lib/fpurge.c (fpurge): Likewise.
4129         * lib/fseeko.c (rpl_fseeko): Likewise.
4130         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
4131         Reported by Jens Staal <staal1978@gmail.com>.
4132
4133 2012-02-02  Jim Meyering  <meyering@redhat.com>
4134
4135         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
4136         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
4137         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
4138         not even to try to add the attribute.  Instead, add a pragma to suppress
4139         the suggestion/warning.
4140
4141 2012-01-31  Karl Berry  <karl@gnu.org>
4142
4143         setstate doc: typo.
4144         * doc/posix-functions/setstate.texi (setstate): { not (.
4145
4146 2012-01-31  Bruno Haible  <bruno@clisp.org>
4147
4148         popen: Make more robust on Windows.
4149         * lib/popen.c: On native Windows, use the _popen based code even if
4150         HAVE_POPEN is set.
4151         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
4152         environment variable on native Windows.
4153
4154 2012-01-30  Bruno Haible  <bruno@clisp.org>
4155
4156         pclose: Fix typo.
4157         * lib/stdio.in.h (pclose): Fix typo in warning message.
4158
4159 2012-01-30  Bruno Haible  <bruno@clisp.org>
4160
4161         doc about getlogin_r, setstate.
4162         * doc/posix-functions/getlogin_r.texi: List the incompatible
4163         declaration problem under "not fixed by gnulib".
4164         * doc/posix-functions/setstate.texi: Mention incompatible declaration
4165         problem on Solaris 11 and other platforms.
4166
4167 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
4168             Bruno Haible  <bruno@clisp.org>
4169
4170         poll tests: Make test more robust.
4171         * tests/test-poll.c: Include macros.h.
4172         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
4173         return value of various I/O operations.
4174         * modules/poll-tests (Files): Add tests/macros.h.
4175
4176 2012-01-30  Bruno Haible  <bruno@clisp.org>
4177
4178         sys_stat: Fix support for mingw64 and MSVC.
4179         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
4180         header files already do it.
4181         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
4182         stat itself.
4183         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4184
4185 2012-01-30  Bruno Haible  <bruno@clisp.org>
4186
4187         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
4188         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
4189         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
4190
4191 2012-01-29  Bruno Haible  <bruno@clisp.org>
4192
4193         quotearg: Fix test failure on MacOS X 10.5.
4194         * tests/test-quotearg-simple.c: Include localcharset.h.
4195         (main): If the locale encoding is not ASCII, bypass the tests of
4196         locale_quoting_style and clocale_quoting_style.
4197         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
4198
4199 2012-01-29  Jim Meyering  <meyering@redhat.com>
4200
4201         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
4202         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
4203         detect uses of canonicalize_file_name.
4204
4205 2012-01-28  Bruno Haible  <bruno@clisp.org>
4206
4207         test-framework-sh: Fix test failure with AIX 7.1 diff.
4208         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
4209         in column 1, like 'diff -c' does.
4210         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
4211         whether 'diff -u' is used. Instead, test whether the output contains
4212         some '@' character.
4213
4214 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4215
4216         strtoimax: eliminate need for stdint.h, inttypes.h checks
4217         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
4218         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
4219         the prerequisites for a recently-introduced strtoimax test.
4220         I guess this might cause strtoimax to be replaced when not
4221         strictly necessary on older hosts, but this shouldn't introduce
4222         any bugs and it should make Emacs 'configure' faster on typical
4223         modern hosts.  Problem discovered when importing the latest gnulib
4224         to an Emacs test version.
4225         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
4226
4227 2012-01-28  Bruno Haible  <bruno@clisp.org>
4228
4229         sys_time: Override 'struct timeval' on some native Windows platforms.
4230         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
4231         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
4232         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
4233         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
4234         needs to be overridden.
4235         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
4236         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
4237         * tests/test-sys_select.c: Check that the tv_sec member has the same
4238         size as a 'time_t'.
4239         * tests/test-sys_time.c: Likewise.
4240         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
4241         is set, set also REPLACE_GETTIMEOFDAY.
4242         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
4243         convert the resulting 'struct timeval' before returning.
4244         * lib/select.c: Include <sys/time.h>.
4245         (select, timeval): Undefine at the right place.
4246         * modules/select (Depends-on): Add sys_time.
4247         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
4248         some Windows platforms.
4249         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4250
4251 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4252
4253         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
4254         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
4255         an integer.
4256         * lib/fcntl.c (dupfd): Likewise.
4257         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
4258
4259 2012-01-28  Bruno Haible  <bruno@clisp.org>
4260
4261         fcntl: Avoid compilation error on native Windows.
4262         * modules/fcntl (Depends-on): Add 'close'.
4263
4264 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4265
4266         select, poll, isatty: Avoid warnings on x86_64 mingw64.
4267         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
4268         pointer to an integer.
4269         * lib/poll.c (IsConsoleHandle): Likewise.
4270         * lib/isatty.c (IsConsoleHandle): Likewise.
4271
4272 2012-01-28  Jim Meyering  <meyering@redhat.com>
4273
4274         doc: clarify README-release
4275         * top/README-release: Clarify: you should make a point to have
4276         the latest stable versions of build tools in your PATH, and the
4277         reference to buildreq is solely for its list of tool names, not
4278         for its minimal-functional version numbers.
4279         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
4280
4281         maint.mk: use more readable (yet functionally equivalent) quoting
4282         It is common to quote a single quote in a single quoted string like
4283         this:  '...'\''...'.  Unless you know the idiom, that looks like
4284         gibberish, so prefer to double-quote the string when possible.
4285         Then you can use a more readable, lone single quote: "...'..."
4286         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
4287         "don't" is more readable than the equivalent 'don'\''t'.
4288         (sc_cast_of_x_alloc_return_value): Likewise.
4289         (sc_cast_of_alloca_return_value): Likewise.
4290         (sc_makefile_path_separator_check): Similar: use ":" in '...',
4291         rather than '\'':'\''.
4292
4293 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4294
4295         stdalign: relax _Alignof and tighten _Alignas test
4296         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
4297         as it was too strict: alignof must divide offsetof, but it need
4298         not equal offsetof.  Inspired by Joseph S. Myers's comment
4299         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
4300         Conversely, tighten the _Alignas test a bit, as the resulting
4301         alignment must be exactly 8.
4302
4303 2012-01-27  Bruno Haible  <bruno@clisp.org>
4304
4305         stdalign: Document the last change.
4306         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
4307
4308 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
4309
4310         stdalign: check that alignof and offsetof are consistent
4311         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
4312         Problem reported for gnulib by Richard W.M. Jones in
4313         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
4314
4315 2012-01-27  Jim Meyering  <meyering@redhat.com>
4316
4317         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
4318         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
4319         convert a sequence with gaps to the minimal containing range.
4320         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
4321         * tests/test-update-copyright.sh: Test for this.
4322         The FSF confirmed it is ok to do this, assuming there is at
4323         least one significant change per year in the affected range:
4324         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
4325
4326 2012-01-26  Bruno Haible  <bruno@clisp.org>
4327
4328         pipe2: refine doc about thread-safety
4329         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
4330         multithread-safety problem.
4331         * doc/glibc-functions/accept4.texi: Likewise.
4332
4333 2012-01-26  Bruno Haible  <bruno@clisp.org>
4334
4335         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
4336         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
4337         In the test program, include <fcntl.h>, for O_RDONLY.
4338
4339 2012-01-26  Eric Blake  <eblake@redhat.com>
4340
4341         pipe2: document lack of thread-safety in replacement
4342         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
4343         issue in replacement.
4344         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4345         Based on a report by Eric Wong.
4346
4347 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
4348             Bruno Haible  <bruno@clisp.org>
4349
4350         malloca: Avoid warnings on x86_64 mingw64.
4351         * lib/malloca.c: Include <stdint.h>.
4352         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
4353         * modules/malloca (Depends-on): Add stdint.
4354         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
4355
4356 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
4357
4358         obstack: remove __STDC__ conditionals
4359         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
4360         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
4361         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
4362         m4/include_next.m4 as the only gnulib-maintained places that still
4363         refer to __STDC__.
4364
4365 2012-01-24  Bruno Haible  <bruno@clisp.org>
4366
4367         havelib: Modern quoting.
4368         * build-aux/config.rpath: Quote 'like this', not `like this', as per
4369         the recent change to the GNU coding standards.
4370
4371 2012-01-24  Bruno Haible  <bruno@clisp.org>
4372
4373         stdint: Improve support for Android.
4374         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
4375         Reported by Simon Josefsson <simon@josefsson.org>.
4376
4377 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4378
4379         doc: omit trailing empty lines from INSTALL etc.
4380         * doc/Makefile (INSTALL): Omit trailing empty lines.
4381         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
4382         omit trailing empty lines.  This simplifies the build procedure.
4383
4384 2012-01-23  Jim Meyering  <meyering@redhat.com>
4385
4386         tests: avoid spurious warnings about gl_sockets_startup
4387         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
4388         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
4389         reporting a "statement with no effect".
4390         * tests/test-accept.c (main): Mark as "(void)".
4391         * tests/test-accept4.c (main): Likewise.
4392         * tests/test-bind.c (main): Likewise.
4393         * tests/test-connect.c (main): Likewise.
4394         * tests/test-getpeername.c (main): Likewise.
4395         * tests/test-getsockname.c (main): Likewise.
4396         * tests/test-getsockopt.c (main): Likewise.
4397         * tests/test-listen.c (main): Likewise.
4398         * tests/test-recv.c (main): Likewise.
4399         * tests/test-recvfrom.c (main): Likewise.
4400         * tests/test-send.c (main): Likewise.
4401         * tests/test-sendto.c (main): Likewise.
4402         * tests/test-setsockopt.c (main): Likewise.
4403         * tests/test-shutdown.c (main): Likewise.
4404
4405 2012-01-21  Bruno Haible  <bruno@clisp.org>
4406
4407         locale-fr.m4: Fix for Android.
4408         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
4409         failure of the test program on Bionic libc.
4410
4411 2012-01-21  Jim Meyering  <meyering@redhat.com>
4412
4413         bootstrap: fail when bootstrap_post_import_hook fails
4414         Otherwise, it's far too easy to miss diagnostics emitted
4415         between gnulib-tool's output and that of running configure.
4416         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
4417
4418 2012-01-17  Jim Meyering  <meyering@redhat.com>
4419
4420         maint: enable sc_trailing_blank
4421         * build-aux/pmccabe.css: Remove trailing blanks.
4422         * doc/acl-cygwin.txt: Likewise.
4423         * doc/gnu-oids.texi: Likewise
4424         * cfg.mk: Enable sc_trailing_blank.
4425         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
4426
4427 2012-01-17  Jim Meyering  <meyering@redhat.com>
4428
4429         maint: enable sc_prohibit_openat_without_use
4430         * cfg.mk: Enable sc_prohibit_openat_without_use.
4431         Exempt lib/selinux-at.c.
4432
4433 2012-01-17  Jim Meyering  <meyering@redhat.com>
4434
4435         maint: enable sc_prohibit_cloexec_without_use
4436         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
4437         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
4438
4439 2012-01-17  Jim Meyering  <meyering@redhat.com>
4440
4441         maint: enable sc_prohibit_intprops_without_use
4442         * cfg.mk: Enable sc_prohibit_intprops_without_use
4443         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
4444
4445 2012-01-17  Jim Meyering  <meyering@redhat.com>
4446
4447         maint: enable sc_prohibit_hash_pjw_without_use
4448         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
4449         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
4450         to match any use of \<hash_pjw\>, i.e., not necessarily with a
4451         following " (".
4452
4453 2012-01-17  Jim Meyering  <meyering@redhat.com>
4454
4455         maint: enable double-word-prohibiting rule
4456         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
4457         Exempt three files.
4458
4459 2012-01-17  Jim Meyering  <meyering@redhat.com>
4460
4461         maint: remove empty lines at EOF, but excluding modules/*
4462         Apply syntax rules at home as well as abroad.  Most changes
4463         were induced by running this:
4464           make srcdir=. _build-aux=build-aux -f top/maint.mk \
4465             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
4466             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
4467         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
4468         Exempt modules/* and two binary files.
4469         Also exempt doc/INSTALL*, per request from Bruno Haible.
4470         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
4471         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
4472         * doc/Copyright/request-assign.future: Likewise.
4473         * doc/Copyright/request-disclaim.changes: Likewise.
4474         * doc/INSTALL: Likewise.
4475         * doc/INSTALL.ISO: Likewise.
4476         * doc/INSTALL.UTF-8: Likewise.
4477         * doc/acl-cygwin.txt: Likewise.
4478         * doc/acl-resources.txt: Likewise.
4479         * doc/fdl-1.2.texi: Likewise.
4480         * doc/fdl-1.3.texi: Likewise.
4481         * doc/fdl.texi: Likewise.
4482         * lib/argp-pin.c: Likewise.
4483         * lib/round.c: Likewise.
4484         * lib/unicase/u16-totitle.c: Likewise.
4485         * lib/unictype/block_test.c: Likewise.
4486         * lib/uninorm/canonical-decomposition.c: Likewise.
4487         * m4/README: Likewise.
4488         * m4/relocatable-lib.m4: Likewise.
4489         * tests/test-isnand-nolibm.c: Likewise.
4490         * tests/test-isnand.c: Likewise.
4491         * tests/uninorm/NormalizationTest.txt: Likewise.
4492
4493 2012-01-17  Jim Meyering  <meyering@redhat.com>
4494
4495         maint: add framework to run syntax-check rules against gnulib sources
4496         * cfg.mk: New file, to disable all currently-failing tests.
4497         We'll enable them one by one, as they are made to pass.
4498         * Makefile (sc_maint): New rule.
4499
4500 2012-01-21  Bruno Haible  <bruno@clisp.org>
4501
4502         stdint: Add support for Android.
4503         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
4504         include the system's <stdint.h>.
4505         Reported by Simon Josefsson <simon@josefsson.org>.
4506
4507 2012-01-19  Jim Meyering  <meyering@redhat.com>
4508
4509         bootstrap: add bootstrap_post_import_hook
4510         Bison does still need something like the gnulib_mk_hook whose
4511         invocation I had to remove along with slurp in commit 767ccd40.
4512         Technically, we could get along without it, but doing so would
4513         have required living with a warning and a mandatory post-bootstrap
4514         automake rerun.
4515         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
4516         (bootstrap_post_import_hook): New function.
4517         Invoke it after gnulib-tool --import and before autoreconf.
4518
4519 2012-01-18  Jim Meyering  <meyering@redhat.com>
4520
4521         gitlog-to-changelog: don't use "no_"-prefixed variable name
4522         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
4523         to enable both --cluster and --no-cluster.  Change variable name,
4524         s/\$no_cluster/$cluster/, and reverse usage to match.
4525
4526         gitlog-to-changelog: use "||", not "or" in expressions
4527         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
4528         expressions.
4529
4530 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
4531
4532         gitlog-to-changelog: new option --no-cluster
4533         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
4534         clustering of adjacent commit messages.
4535
4536 2012-01-17  Jim Meyering  <meyering@redhat.com>
4537
4538         maint: spell file systems with two words, not one
4539         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
4540         two words, not one.
4541
4542 2012-01-16  Jim Meyering  <meyering@redhat.com>
4543
4544         bootstrap: add a FIXME comment to ensure we eventually remove the hack
4545         * build-aux/bootstrap (gnulib_tool_options): Add comment.
4546
4547 2012-01-16  Eric Blake  <eblake@redhat.com>
4548
4549         bootstrap: cater to autoconf 2.59
4550         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
4551         is not available.
4552
4553         bootstrap: properly check for libtool
4554         * build-aux/bootstrap (libtoolize): Also run libtool when older
4555         usage is detected.
4556
4557 2012-01-15  Bruno Haible  <bruno@clisp.org>
4558
4559         Improve support for MSVC 9.
4560         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
4561         clashes on MSVC.
4562         * lib/fcntl.in.h: Likewise.
4563         * lib/stdlib.in.h: Likewise.
4564         * lib/sys_stat.in.h: Likewise.
4565
4566 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
4567
4568         gnupload: we hold the master copy of this script now
4569         For motivation and more information, see:
4570         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
4571         * build-aux/gnupload: Make it clear in the heading comments that the
4572         master copy of this file is maintained by gnulib.  Since we are at
4573         it, bump its copyright year and ...
4574         ($scriptversion): ... the date in its version.
4575         ($usage): Patches and bug reports should be sent to the gnulib list,
4576         not the automake one.
4577         * config/srclist.txt: Don't try to sync 'gnupload' from automake
4578         anymore.
4579
4580 2012-01-15  Bruno Haible  <bruno@clisp.org>
4581
4582         Fix module 'random'.
4583         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
4584         initstate, setstate are declared.
4585
4586 2012-01-14  Bruno Haible  <bruno@clisp.org>
4587
4588         Tests for module 'random'.
4589         * modules/random-tests: New file.
4590         * tests/test-random.c: New file, based on tests/test-random_r.c.
4591
4592         New module 'random'.
4593         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
4594         declarations.
4595         * lib/random.c: New file, based on glibc/stdlib/random.c.
4596         * m4/random.m4: New file.
4597         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
4598         HAVE_RANDOM.
4599         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
4600         * modules/random: New file.
4601         * config/srclist.txt: Add an entry for random.c.
4602         * doc/posix-functions/random.texi: Mention the 'random' module.
4603         * doc/posix-functions/initstate.texi: Likewise.
4604         * doc/posix-functions/setstate.texi: Likewise.
4605         * doc/posix-functions/srandom.texi: Likewise.
4606
4607 2012-01-12  Bruno Haible  <bruno@clisp.org>
4608
4609         random_r: Use common idioms.
4610         * lib/random_r.c: Include <stdlib.h> first.
4611
4612         random_r: Override incompatible API on AIX, OSF/1.
4613         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
4614         Override the system function if REPLACE_RANDOM_R is 1.
4615         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
4616         and OSF/1, set REPLACE_RANDOM_R.
4617         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
4618         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
4619         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
4620         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
4621         * doc/glibc-functions/random_r.texi: Likewise.
4622         * doc/glibc-functions/setstate_r.texi: Likewise.
4623
4624         random_r: Support for MSVC 9.
4625         * lib/random_r.c: Include stdint.h, not inttypes.h.
4626
4627 2012-01-12  Eric Blake  <eblake@redhat.com>
4628
4629         inet_ntop: guard extra work by IF_LINT
4630         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
4631         better code generation when not checking for warnings.
4632         Suggested by Paul Eggert and Jim Meyering.
4633
4634         strptime: fix regression on mingw
4635         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
4636         Fix regression.  Reported by Bruno Haible.
4637
4638 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
4639             Bruno Haible  <bruno@clisp.org>
4640
4641         copy-file: add error-code-returning variant.
4642         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
4643         (qcopy_file_preserving): New declaration.
4644         * lib/copy-file.c (qcopy_file_preserving): Renamed from
4645         copy_file_preserving. Change return type to 'int'. Don't emit an error
4646         message here.
4647         (copy_file_preserving): New function.
4648         * tests/test-copy-file.c: Include <stdlib.h>.
4649         (main): Test qcopy_file_preserving if the environment variable
4650         NO_STDERR_OUTPUT is set.
4651         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
4652         with NO_STDERR_OUTPUT
4653         * tests/test-copy-file-2.sh: Likewise.
4654
4655 2012-01-10  Bruno Haible  <bruno@clisp.org>
4656
4657         copy-file: Use 'quote' module consistently.
4658         * lib/copy-file.c (copy_file_preserving): Use quote().
4659
4660         copy-file: Refactor.
4661         * lib/copy-file.c: Include quote.h.
4662         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
4663         message here.
4664         * modules/copy-file (Depends-on): Add quote.
4665
4666         acl: Export qcopy_acl.
4667         * lib/acl.h (qcopy_acl): New declaration.
4668         * lib/copy-acl.c (qcopy_acl): Make non-static.
4669
4670         acl: Rename a local variable.
4671         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
4672
4673         acl: Align return values of copy_acl and qcopy_acl.
4674         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
4675         maybe < -1.
4676
4677 2012-01-11  Eric Blake  <eblake@redhat.com>
4678
4679         strptime: silence gcc warnings
4680         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
4681         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
4682         Reported by Daniel P. Berrange.
4683
4684         inet_ntop: silence gcc warning
4685         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
4686         Reported by Daniel P. Berrange.
4687
4688 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
4689
4690         getloadavg test: skip the test on GNU/Linux without /proc mounted
4691         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
4692         file.  When /proc is not mounted, it always fails with ENOENT.
4693         * tests/test-getloadavg.c (main): Treat ENOENT return code from
4694         getloadavg(3) the same way as ENOSYS and ENOTSUP.
4695
4696 2012-01-10  Bruno Haible  <bruno@clisp.org>
4697
4698         regex: Avoid link error on MSVC 9.
4699         * modules/regex (Depends-on): Add wctype.
4700
4701 2012-01-10  Bruno Haible  <bruno@clisp.org>
4702
4703         doc: Mention --with-tests option.
4704         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
4705         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
4706         --with-tests.
4707         Reported by Reuben Thomas.
4708
4709 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
4710
4711         users.txt: order package names lexicographically.
4712         * users.txt: Order package names lexicographically.
4713
4714 2012-01-10  Jim Meyering  <meyering@redhat.com>
4715
4716         maint.mk: fix description in comment
4717         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
4718
4719         ignore-value: remove deprecated ignore_ptr function
4720         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
4721         * NEWS: Note this.
4722
4723 2012-01-09  Jim Meyering  <meyering@redhat.com>
4724
4725         test-init.sh: avoid a subshell
4726         * tests/test-init.sh: Remove protective subshell.
4727         Suggested by Bernhard Voelker.  While a subshell is normally
4728         required to protect against older shells (Solaris, FreeBSD) that
4729         warn about a missing program before performing redirection, the
4730         shell-selection tests performed by init.sh probably exclude any
4731         offending shell.
4732
4733 2012-01-08  Bruno Haible  <bruno@clisp.org>
4734
4735         setlocale tests: Avoid test failure on Solaris 11 2011-11.
4736         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
4737         variable.
4738
4739 2012-01-08  Bruno Haible  <bruno@clisp.org>
4740
4741         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
4742         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4743         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4744         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
4745         macro.
4746         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
4747         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4748         * lib/spawn_faction_addopen.c: Add workaround implementation if
4749         HAVE_WORKING_POSIX_SPAWN.
4750         * modules/spawn (Makefile): Substitute
4751         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
4752         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
4753         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
4754         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
4755         (Depends-on): Update conditions.
4756         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
4757         the Solaris 11 bug.
4758
4759 2012-01-08  Bruno Haible  <bruno@clisp.org>
4760
4761         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
4762         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4763         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4764         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
4765         macro.
4766         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
4767         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4768         * lib/spawn_faction_adddup2.c: Add workaround implementation if
4769         HAVE_WORKING_POSIX_SPAWN.
4770         * modules/spawn (Makefile): Substitute
4771         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
4772         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
4773         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
4774         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
4775         (Depends-on): Update conditions.
4776         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
4777         the Solaris 11 bug.
4778
4779 2012-01-08  Bruno Haible  <bruno@clisp.org>
4780
4781         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
4782         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
4783         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4784         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
4785         HAVE_WORKING_POSIX_SPAWN.
4786         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
4787         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
4788         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4789         * lib/spawn_faction_addclose.c: Add workaround implementation if
4790         HAVE_WORKING_POSIX_SPAWN.
4791         * modules/spawn (Makefile): Substitute
4792         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
4793         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
4794         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
4795         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
4796         (Depends-on): Update conditions.
4797         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
4798         the Solaris 11 bug.
4799
4800 2012-01-08  Bruno Haible  <bruno@clisp.org>
4801
4802         doc: Update for Solaris 11 2011-11.
4803         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
4804         * m4/printf.m4: Update comments.
4805
4806 2012-01-08  Bruno Haible  <bruno@clisp.org>
4807
4808         mktime: Avoid compilation error on Solaris 11.
4809         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
4810
4811 2012-01-08  Bruno Haible  <bruno@clisp.org>
4812
4813         doc: Small fix.
4814         * doc/posix-headers/nl_types.texi: Correct platforms list.
4815
4816 2012-01-08  Simon Josefsson  <simon@josefsson.org>
4817
4818         Add lgpl-3.0 module.
4819         * MODULES.html.sh (Support for building documentation): Add
4820         lgpl-3.0.
4821         * modules/lgpl-3.0: New file.
4822
4823 2012-01-08  Jim Meyering  <meyering@redhat.com>
4824
4825         select.c: indent with spaces, not TABs
4826         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
4827
4828 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4829
4830         quotearg: do not use grave accent for left quote
4831         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
4832         locale_quoting_style.
4833         (quotearg_buffer_restyled): Fix example.
4834         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
4835
4836 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4837
4838         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
4839         Most programs do not have translation catalogs for English and much
4840         less separate catalogs for British and American English.  Drop the
4841         suggestion to translators about these two, and provide it
4842         automatically for Unicode locales.  Like most programs, even those
4843         using American English, we use single quotation marks.  This conflicts
4844         with the American typographic convention, but works better when you
4845         cite the entire error message within double quotes.  It also tries not
4846         to clash with established practice and with what non-gnulib programs
4847         will usually do.
4848         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
4849         using an UTF-8 or GB-18030 locale.  The list of other locales with
4850         quotes was provided by Bruno Haible.
4851         (quotearg_buffer_restyled): Adjust instructions to translators.
4852         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
4853         text, since this would be wrong when using Unicode.
4854         * modules/quotearg: Depend on c-strcaseeq.
4855
4856 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
4857
4858         quotearg: fix Wikipedia link
4859         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
4860
4861 2012-01-07  Simon Josefsson  <simon@josefsson.org>
4862
4863         Fix for mingw with MSVC9.
4864         * m4/ld-version-script.m4: Check that compiler rejects version
4865         scripts with syntax errors.  Reported by Bruno Haible
4866         <bruno@clisp.org>.
4867
4868 2012-01-06  Bruno Haible  <bruno@clisp.org>
4869
4870         Talk about "native Windows API", not "Woe32".
4871         * lib/accept4.c: Update comments to mention native Windows.
4872         * lib/execute.c: Likewise.
4873         * lib/fatal-signal.c: Likewise.
4874         * lib/localcharset.c: Likewise.
4875         * lib/nanosleep.c: Likewise.
4876         * lib/nl_langinfo.c: Likewise.
4877         * lib/pclose.c: Likewise.
4878         * lib/pipe-filter-gi.c: Likewise.
4879         * lib/pipe-filter-ii.c: Likewise.
4880         * lib/pipe.c: Likewise.
4881         * lib/pipe2.c: Likewise.
4882         * lib/popen.c: Likewise.
4883         * lib/progreloc.c: Likewise.
4884         * lib/relocatable.c: Likewise.
4885         * lib/sigaction.c: Likewise.
4886         * lib/sigprocmask.c: Likewise.
4887         * lib/spawn-pipe.h: Likewise.
4888         * lib/spawn-pipe.c: Likewise.
4889         * lib/spawni.c: Likewise.
4890         * lib/stat-time.h: Likewise.
4891         * lib/w32spawn.h: Likewise.
4892         * tests/test-isatty.c: Likewise.
4893         * lib/config.charset: More comments.
4894         * doc/gnulib-intro.texi: Mention native Windows.
4895         * doc/posix-functions/_Exit_C99.texi: Likewise.
4896         * doc/posix-headers/fcntl.texi: Likewise.
4897
4898 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
4899
4900         argp: Avoid crash if translator uses % characters in a translation.
4901         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
4902         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4903
4904 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
4905
4906         doc: C11 and C++11 are now official
4907         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
4908         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
4909         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
4910         * modules/stdalign:
4911         Replace references to draft C1X to C11, and to draft C++0X to C++11.
4912
4913 2012-01-06  Bruno Haible  <bruno@clisp.org>
4914
4915         uc-is-grapheme-break tests: Tweak.
4916         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
4917         message.
4918
4919 2012-01-06  Bruno Haible  <bruno@clisp.org>
4920
4921         test-init.sh: correct the test for diff -u
4922         * tests/test-init.sh: Also redirect stdout to /dev/null.
4923
4924 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
4925
4926         Use ', not `, for quoting output.
4927         * build-aux/announce-gen (usage, sizes, print_news_deltas)
4928         (print_changelog_deltas, get_tool_versions, main program):
4929         * build-aux/git-version-gen:
4930         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
4931         * build-aux/move-if-change (help):
4932         * build-aux/useless-if-before-free (usage, main program):
4933         * check-module (parse_module_file, usage)
4934         (find_included_lib_files, check_module):
4935         * lib/argmatch.c (main) [TEST]:
4936         * lib/argp-help.c (_help):
4937         * lib/getopt1.c (main) [TEST]:
4938         * lib/git-merge-changelog.c (usage):
4939         * lib/xstrtol-error.c (xstrtol_error):
4940         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4941         * m4/argz.m4 (gl_FUNC_ARGZ):
4942         * m4/bison.m4 (gl_BISON):
4943         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
4944         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
4945         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
4946         * m4/fpending.m4 (gl_PREREQ_FPENDING):
4947         * m4/gc-random.m4 (gl_GC_RANDOM):
4948         * m4/intl.m4 (gt_CHECK_DECL):
4949         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
4950         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
4951         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
4952         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
4953         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
4954         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
4955         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
4956         * tests/test-dirname.c (main):
4957         * tests/test-getpass.c (main):
4958         * tests/test-iconvme.c (main):
4959         * tests/test-parse-datetime.c (LOG):
4960         * tests/test-xstrtoimax.sh:
4961         * tests/test-xstrtol.sh:
4962         * tests/test-xstrtoll.sh:
4963         * tests/test-xstrtoumax.sh:
4964         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
4965         * top/GNUmakefile (abort-due-to-no-makefile):
4966         Quote 'like this', not `like this', as per the recent change to
4967         the GNU coding standards.
4968
4969 2012-01-05  Bruno Haible  <bruno@clisp.org>
4970
4971         strtoimax: Don't force a replacement on systems where intmax_t is int.
4972         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
4973         'intmax_t' is not larger than 'int'.
4974         Reported by Pádraig Brady <P@draigBrady.com>.
4975
4976 2012-01-05  Bruno Haible  <bruno@clisp.org>
4977
4978         doc: Mention NetBSD bugs.
4979         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
4980         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
4981
4982 2012-01-05  Bruno Haible  <bruno@clisp.org>
4983
4984         strtoumax tests: Enhance tests.
4985         * tests/test-strtoumax.c (main): Add tests for large values.
4986
4987 2012-01-05  Bruno Haible  <bruno@clisp.org>
4988
4989         strtoimax: Work around AIX 5.1 bug.
4990         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
4991         definition.
4992         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
4993         Set HAVE_STRTOIMAX.
4994         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
4995         REPLACE_STRTOIMAX.
4996         * modules/inttypes-incomplete (Makefile.am): Substitute
4997         REPLACE_STRTOIMAX.
4998         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
4999         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
5000         (Depends-on): Update conditions.
5001         * tests/test-strtoimax.c (main): Add tests for large values.
5002         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
5003
5004 2012-01-05  Bruno Haible  <bruno@clisp.org>
5005
5006         inttypes: Modernize.
5007         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
5008         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
5009         (Makefile.am): Update inttypes.h rule.
5010
5011 2012-01-05  Jim Meyering  <meyering@redhat.com>
5012
5013         init.sh: don't waste a subshell just to redirect stderr
5014         * tests/init.sh: In testing for diff -u and diff -c, use a
5015         stderr-redirecting exec inside `...` rather than a subshell.
5016
5017         test-init.sh: avoid failure on HP-UX 11.00
5018         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
5019         resolves to diff -c or cmp.  Reported by Bruno Haible.
5020
5021 2012-01-05  Bruno Haible  <bruno@clisp.org>
5022
5023         Tests for module 'strtoull'.
5024         * modules/strtoull-tests: New file.
5025         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
5026
5027 2012-01-05  Bruno Haible  <bruno@clisp.org>
5028
5029         Tests for module 'strtoll'.
5030         * modules/strtoll-tests: New file.
5031         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
5032
5033 2012-01-05  Bruno Haible  <bruno@clisp.org>
5034
5035         Tests for module 'strtoul'.
5036         * modules/strtoul-tests: New file.
5037         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
5038
5039 2012-01-05  Bruno Haible  <bruno@clisp.org>
5040
5041         Tests for module 'strtol'.
5042         * modules/strtol-tests: New file.
5043         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
5044
5045 2012-01-04  Jim Meyering  <meyering@redhat.com>
5046
5047         test-init.sh: accommodate Solaris 5.10's different diff -u output
5048         * tests/test-init.sh: Also exempt @@ lines from the comparison
5049         of diff output, since Solaris 5.10 and GNU diff formats differ.
5050         Reported by Stefano Lattarini.
5051
5052 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
5053
5054         test-posixtm: don't assume signed integer wraparound
5055         * tests/test-posixtm.c (main): Don't assume wraparound semantics
5056         after signed integer overflow.  Inspired by (though it may not
5057         fix) Bruno Haible's bug report in
5058         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
5059
5060         Spell out "Windows 9x" and "Windows XP".
5061         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
5062         "Windows 9x" and "WinXP" with "Windows XP".
5063
5064 2012-01-04  Jim Meyering  <meyering@redhat.com>
5065
5066         test-vc-list-files-cvs.sh: remove obsolete comment
5067         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
5068         double exit.  Now that's all encapsulated via skip_ and Exit.
5069
5070 2012-01-04  Bruno Haible  <bruno@clisp.org>
5071
5072         Talk about "native Windows API", not "Win32".
5073         * lib/classpath.c: Update comments to mention native Windows.
5074         * lib/csharpexec.c: Likewise.
5075         * lib/dup2.c: Likewise.
5076         * lib/error.c: Likewise.
5077         * lib/fcntl.c: Likewise.
5078         * lib/filename.h: Likewise.
5079         * lib/findprog.c: Likewise.
5080         * lib/get-rusage-as.c: Likewise.
5081         * lib/get-rusage-data.c: Likewise.
5082         * lib/getpagesize.c: Likewise.
5083         * lib/javaexec.c: Likewise.
5084         * lib/msvc-inval.c: Likewise.
5085         * lib/msvc-nothrow.c: Likewise.
5086         * lib/nanosleep.c: Likewise.
5087         * lib/nonblocking.c: Likewise.
5088         * lib/printf-parse.c: Likewise.
5089         * lib/setlocale.c: Likewise.
5090         * lib/sigaction.c: Likewise.
5091         * lib/strerror_r.c: Likewise.
5092         * lib/tmpdir.c: Likewise.
5093         * lib/vasnprintf.c: Likewise.
5094         * lib/w32spawn.h: Likewise.
5095         * lib/waitpid.c: Likewise.
5096         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
5097         * m4/locale-ar.m4: Likewise.
5098         * m4/locale-fr.m4: Likewise.
5099         * m4/locale-ja.m4: Likewise.
5100         * m4/locale-tr.m4: Likewise.
5101         * m4/locale-zh.m4: Likewise.
5102         * m4/printf.m4: Likewise.
5103         * tests/test-cloexec.c: Likewise.
5104         * tests/test-copy-acl.sh: Likewise.
5105         * tests/test-copy-file.sh: Likewise.
5106         * tests/test-file-has-acl.sh: Likewise.
5107         * tests/test-set-mode-acl.sh: Likewise.
5108         * tests/test-dup-safer.c: Likewise.
5109         * tests/test-dup2.c: Likewise.
5110         * tests/test-dup3.c: Likewise.
5111         * tests/test-fcntl.c: Likewise.
5112         * tests/test-nonblocking-pipe.h: Likewise.
5113         * tests/test-nonblocking-socket.h: Likewise.
5114         * tests/test-pipe.c: Likewise.
5115         * tests/test-pipe2.c: Likewise.
5116         * tests/test-spawn-pipe-child.c: Likewise.
5117         * doc/acl-resources.txt: Likewise.
5118         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5119         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
5120         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
5121         * lib/localcharset.c: Update comments to mention native Windows.
5122         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5123         * lib/localename.c: Likewise.
5124         * lib/progreloc.c: Likewise.
5125         * lib/relocatable.c: Likewise.
5126         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5127         (windows_compute_revents): Renamed from win32_compute_revents.
5128         (windows_compute_revents_socket): Renamed from
5129         win32_compute_revents_socket.
5130         * lib/select.c: Update comments to mention native Windows.
5131         (windows_poll_handle): Renamed from win32_poll_handle.
5132         * m4/threadlib.m4: Update comments to mention native Windows.
5133         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
5134         --enable-threads=windows instead of --enable-threads=win32. Set
5135         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
5136         * lib/glthread/lock.h: Update comments to mention native Windows.
5137         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
5138         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
5139         USE_WIN32_THREADS.
5140         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
5141         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
5142         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
5143         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
5144         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
5145         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
5146         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
5147         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
5148         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
5149         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
5150         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
5151         * tests/test-tls.c: Likewise.
5152         Rationale:
5153         Microsoft renamed the "Win32 API" to "Windows API", as it is available
5154         on both 32-bit and 64-bit Windows systems.
5155         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
5156         line of distinction is between "native Windows" on one side and Unix/
5157         POSIX systems on the other side. More details in
5158         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
5159         Suggested by Paul Eggert.
5160
5161 2012-01-03  Bruno Haible  <bruno@clisp.org>
5162
5163         isatty: Support for MSVC 9.
5164         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
5165         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
5166         (_isatty_nothrow): New function.
5167         (isatty): Use it instead of _isatty.
5168         (IsConsoleHandle): Add comment, from Paolo Bonzini.
5169         * lib/poll.c (IsConsoleHandle): Likewise.
5170         * lib/select.c (IsConsoleHandle): Likewise.
5171         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
5172         (gl_PREREQ_ISATTY): New macro.
5173         * modules/isatty (Depends-on): Add msvc-inval.
5174         (configure.ac): Invoke gl_PREREQ_ISATTY.
5175
5176 2012-01-03  Jim Meyering  <meyering@redhat.com>
5177
5178         maint.mk: remove temporary transition aid from over 1.5 years ago
5179         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
5180         purpose was to aid in the transition (avoiding silent malfunction)
5181         from that old name to the new _sc_search_regexp.  This shim was
5182         added by commit 219c504b.
5183
5184         init.sh: do not try to accommodate compare arguments starting with "-"
5185         * tests/init.sh (compare_dev_null_): Do not try to accommodate
5186         compare arguments that start with "-".  Besides, we do not worry
5187         about this when invoking diff or cmp; why start now with sed?
5188         Using "--" to separate options from argument would trigger sed
5189         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
5190         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
5191
5192 2012-01-02  Bruno Haible  <bruno@clisp.org>
5193
5194         Enhance tests for module 'isatty'.
5195         * modules/isatty-tests (Depends-on): Add pipe-posix.
5196         * tests/test-isatty.c: Include <fcntl.h>.
5197         (DEV_NULL): New macro.
5198         (main): Test the resut of isatty() also on regular files, pipes, and
5199         /dev/null.
5200
5201         New module 'isatty'.
5202         * lib/unistd.in.h (isatty): New declaration.
5203         * lib/isatty.c: New file, based on an idea of
5204         Bastien Roucariès <roucaries.bastien@gmail.com>.
5205         * m4/isatty.m4: New file.
5206         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
5207         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
5208         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
5209         REPLACE_ISATTY.
5210         * modules/isatty: New file.
5211         * doc/posix-functions/isatty.texi: Mention the new module.
5212         Suggested by Paolo Bonzini.
5213
5214 2012-01-02  Bruno Haible  <bruno@clisp.org>
5215
5216         canonicalize: Tweak 2011-12-29 commit.
5217         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
5218         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
5219
5220 2012-01-02  Jim Meyering  <meyering@redhat.com>
5221
5222         gitlog-to-changelog: describe input syntax in --help output
5223         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
5224
5225         gitlog-to-changelog: fix typo in --help: show backslash before email @
5226         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
5227         in sources, but not in actual output.
5228
5229 2011-12-30  Jim Meyering  <meyering@redhat.com>
5230
5231         gitlog-to-changelog: don't malfunction when name contains %-directive
5232         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
5233         in a name string cause trouble.  E.g., with a user name of "%s",
5234         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
5235
5236 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
5237
5238         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
5239         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
5240         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
5241         the "  (tiny change)" notation that is appended to the standard
5242         ChangeLog "date  name  email" header line.
5243
5244 2012-01-01  Jim Meyering  <meyering@redhat.com>
5245
5246         test-framework-sh: init.sh: fix "make dist" failure
5247         When using gnulib-tool's --with-tests option and any module that
5248         depends on test-framework-sh, "make dist" would fail due to the
5249         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
5250         in the gltests directory, and not in the gllib/ directory.
5251         One way to work around that is to move the EXTRA_DIST += init.sh
5252         from the primary module to the -tests one:
5253         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
5254         * modules/test-framework-sh (Makefile.am): ...not here.
5255         Reported by Tom G. Christensen in
5256         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
5257
5258         version-etc: update copyright year reported by --version
5259         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
5260
5261 2011-12-31  Pádraig Brady  <P@draigBrady.com>
5262
5263         canonicalize: only stat() if required
5264         * lib/canonicalize.c (canonicalize_filename_mode):
5265         Avoid calling l?stat() when both CAN_MISSING,
5266         and CAN_NOLINKS are set, as we neither need
5267         to resolve symlinks or test component existence.
5268
5269 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
5270
5271         doc: cover st_ino issues once; add OpenVMS etc.
5272         * doc/posix-functions/stat.texi (stat):
5273         * doc/posix-functions/lstat.texi (lstat):
5274         * doc/posix-functions/fstatat.texi (fstatat):
5275         * doc/posix-functions/fstat.texi (fstat):
5276         Move general 'struct stat' stuff to sys_stat.texi,
5277         leaving behind a pointer.
5278         * doc/posix-headers/sys_stat.texi (sys/stat.h):
5279         Merge duplicate info about 'struct stat' problems into here.
5280         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
5281         and suggest partial workarounds.
5282
5283         same-inode: port to OpenVMS
5284         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
5285         three st_ino values.
5286
5287 2011-12-30  Pádraig Brady  <P@draigBrady.com>
5288
5289         canonicalize: fix references to stat() and lstat()
5290         * lib/canonicalize.c (canonicalize_filename_mode):
5291         Ensure references always resolve to a replacement
5292         function if required (even via a macro).
5293
5294 2011-12-30  Jim Meyering  <meyering@redhat.com>
5295
5296         gitlog-to-changelog: remove a little duplication
5297         * build-aux/gitlog-to-changelog (main): Grep @lines once,
5298         rather than twice.
5299
5300 2011-12-29  Pádraig Brady  <P@draigBrady.com>
5301
5302         canonicalize: add support for not resolving symlinks
5303         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
5304         indicate we don't want to follow symlinks.  Also
5305         provide CAN_MODE_MASK to aid setting these existing
5306         mutually exclusive values.
5307         * lib/canonicalize.c (canonicalize_filename_mode):
5308         Extract the flags from can_mode parameter, which
5309         are currently just used to select between stat()
5310         and lstat().  Also ensure that mutually exclusive
5311         values are flagged immediately as invalid.
5312         * tests/test-canonicalize.c: Verify symlinks are
5313         not followed, and that invalid flag combinations
5314         are diagnosed.
5315
5316 2011-12-25  Jim Meyering  <meyering@redhat.com>
5317
5318         gitlog-to-changelog: do not clump multi-paragraph entries
5319         Identical header lines (date,name,email+coauthors) are suppressed,
5320         thus putting all entries with those same characteristics under
5321         a single header.  However, when a log entry consists of two or
5322         more paragraphs, it may not be clear where it starts and ends.
5323         This change makes it so that such an entry is always separated
5324         from others by a header line, even when that header would
5325         otherwise be suppressed.
5326         * build-aux/gitlog-to-changelog: Implement the above.
5327         Inspired by a related request from Stefano Lattarini in
5328         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
5329
5330 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5331
5332         announce-gen: fix `cmd' typo in diagnostic
5333         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
5334         diagnostic: a missing '$' meant that the command was not output.
5335
5336 2011-12-23  Jim Meyering  <meyering@redhat.com>
5337
5338         test-framework-sh: distribute init.sh
5339         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
5340         Otherwise, "make -C gnulib-tests check" (at least in grep) would
5341         fail due to the lack of init.sh.
5342
5343         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
5344         * modules/atexit-tests: Rather than listing tests/init.sh,
5345         now that there's a module for it, simply depend on that new module.
5346         * modules/closein-tests: Likewise.
5347         * modules/exclude-tests: Likewise.
5348         * modules/getcwd-tests: Likewise.
5349         * modules/perror-tests: Likewise.
5350         * modules/pread-tests: Likewise.
5351         * modules/pwrite-tests: Likewise.
5352         * modules/vc-list-files-tests: Likewise.
5353         * modules/verify-tests: Likewise.
5354         * modules/xalloc-die-tests: Likewise.
5355         * modules/xstrtoimax-tests: Likewise.
5356         * modules/xstrtol-tests: Likewise.
5357         * modules/xstrtoll-tests: Likewise.
5358         * modules/xstrtoumax-tests: Likewise.
5359         * modules/yesno-tests: Likewise.
5360
5361 2011-12-22  Jim Meyering  <meyering@redhat.com>
5362
5363         test-framework-sh: add minimal tests of init.sh's compare function
5364         * modules/test-framework-sh-tests: New file.
5365         * tests/test-init.sh: New file.
5366
5367         test-framework-sh: new module
5368         * modules/test-framework-sh: New file.
5369         * MODULES.html.sh (Support for maintaining and releasing projects):
5370         List it.
5371
5372         init.sh: do not emit simulated diff output to stderr
5373         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
5374
5375 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5376
5377         .gitignore: ignore gnulib.dvi and regex.info
5378         * doc/.gitignore:add gnulib.dvi and regex.info
5379
5380 2011-12-22  Jim Meyering  <meyering@redhat.com>
5381
5382         init.sh: correct previous change
5383         * tests/init.sh (compare): My previous change was wrong.
5384         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
5385
5386         init.sh: avoid unwarranted test failure when using "set -e"
5387         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
5388         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
5389         a use like "compare exp out" would get evoke an unconditional failure.
5390
5391 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
5392
5393         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
5394         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
5395         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
5396         autoreconf that did not.
5397         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
5398         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5399
5400 2011-12-17  Jim Meyering  <meyering@redhat.com>
5401
5402         bootstrap: remove some now-unneeded code
5403         This script arose back when gnulib-tool was young.
5404         Since then, it has seen improvements that render much of this
5405         script unnecessary.  In particular, it can now make symlinks
5406         to the files it uses.  Also, I no longer see as much value in
5407         marking files as read-only via comments.
5408         If you relied on the symlink-creation feature of the preceding
5409         version of this script, you can get most of that functionality
5410         by adding the --symlink option to the definition of
5411         gnulib_tool_option_extras in your bootstrap.conf file.
5412         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
5413         Run autopoint and libtoolize *before* gnulib-tool.
5414         After it, run an abbreviated autoreconf, rather than a loop around
5415         all tools.
5416         (slirp, bt_mark_as_generated): Remove functions.
5417
5418 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5419
5420         ftoastr: fix typo
5421         * lib/ftoastr.h: Fix misspelling in comment.
5422
5423 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
5424
5425         * top/README-release: fix punctuation.
5426
5427 2011-12-17  Jim Meyering  <meyering@redhat.com>
5428
5429         bootstrap: correct the recent buildreq change
5430         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
5431         had no effect.
5432         * build-aux/bootstrap (buildreq): Bracket each search term with
5433         "*...*", so that the shell "case" statement works as intended.
5434         Add comments.
5435
5436 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
5437
5438         build: let bootstrap resort to wget when downloading .po files
5439         * build-aux/bootstrap (download_po_files): Fallback to wget when
5440         downloading the .po files via rsync fails.  This is necessary to
5441         bootstrap from behind a strict firewall.
5442
5443 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5444
5445         stdint: don't assume C++11 when compiling with g++
5446         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
5447         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
5448         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
5449         work also in C++ before C++11, as that improperly inhibits
5450         generating a substitute stdint.h for that case.
5451
5452 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
5453
5454         alloca: protect comment from gnulib-tool
5455         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
5456         that gnulib-tool doesn't think it's a license, and munge it to
5457         say "GCC version 3".
5458
5459 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
5460
5461         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
5462         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
5463         $(abs_top_builddir) instead of $(top_builddir).
5464
5465 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
5466
5467         strftime-tests: also test nanoseconds
5468         * tests/test-strftime.c (T): Add a test of %N.
5469
5470 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
5471
5472         inttypes, stdint: add C++11 support
5473         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
5474         when including inttypes.h and stdint.h.  Support this change to
5475         the standard.
5476         * doc/posix-headers/inttypes.texi (inttypes.h):
5477         * doc/posix-headers/stdint.texi (stdint.h): Document this.
5478         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
5479         Define if not defined already, for the benefit of pre-C++11 hosts.
5480         Define the standard format macros (e.g., PRId8) always.
5481         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
5482         Likewise, if __cpluspus.  Define the standard constant and limit
5483         macros (e.g., INT8_C, INT8_MAX) always.
5484         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
5485         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
5486         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
5487         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
5488         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
5489         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
5490         Likewise.
5491
5492 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
5493
5494         nonblocking tests: Fix test failure on Linux/PPC.
5495         Suggested by Prerna Saxena in
5496         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
5497         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
5498         Set to 1100000.
5499
5500 2011-12-12  Jim Meyering  <meyering@redhat.com>
5501
5502         argmatch: don't hard-code `' when listing valid option arguments
5503         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
5504         use the quote function to add quotes.  Use fputs rather than
5505         fprintf for the format string with no format directive.
5506
5507 2011-12-07  Eric Blake  <eblake@redhat.com>
5508
5509         bootstrap: detect tools required by gnulib-tool
5510         * build-aux/bootstrap (buildreq): Provide minimum implicit
5511         dependencies.
5512         * DEPENDENCIES: Mention patch as a prereq.
5513
5514 2011-12-04  Bruno Haible  <bruno@clisp.org>
5515
5516         sethostname: Port to Windows platforms.
5517         * lib/sethostname.c: Provide an alternate implementation for Windows
5518         platforms.
5519         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
5520         (main): Skip the test if sethostname() fails with EPERM. On Windows
5521         platforms, don't check the result of gethostname().
5522
5523 2011-12-04  Bruno Haible  <bruno@clisp.org>
5524             Jim Meyering  <meyering@redhat.com>
5525
5526         tests: Avoid spurious error message on platforms without mktemp program.
5527         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
5528
5529 2011-12-04  Bruno Haible  <bruno@clisp.org>
5530
5531         sethostname: Fix documentation.
5532         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
5533         "not fixed" section.
5534
5535 2011-12-03  Bruno Haible  <bruno@clisp.org>
5536
5537         gnulib-tool: Verify that the License field is present and non-empty.
5538         * gnulib-tool (func_get_license_raw): New function, extracted from
5539         func_get_license.
5540         (func_get_license): Use it. Warn if the module is not a test module and
5541         has no license.
5542         Suggested by Jim Meyering.
5543
5544 2011-12-03  Bruno Haible  <bruno@clisp.org>
5545
5546         sethostname tests: Fix link error on mingw.
5547         * tests/test-sethostname1.c: New file, extracted from
5548         tests/test-sethostname.c.
5549         * tests/test-sethostname2.c: New file, extracted from
5550         tests/test-sethostname.c.
5551         * tests/test-sethostname.c: Remove file.
5552         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
5553         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
5554         (Depends-on): Add gethostname.
5555         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
5556         Link the latter with $(GETHOSTNAME_LIB).
5557
5558         sethostname tests: Fix compilation error on mingw.
5559         * tests/test-sethostname.c: Don't include <sys/types.h>.
5560         (geteuid): Use a dummy value without uid_t.
5561         * modules/sethostname-tests (Depends-on): Remove sys_types.
5562
5563         sethostname tests: Avoid a gcc warning.
5564         * tests/test-sethostname.c (main): Remove an unused variable.
5565
5566         Tweak last commit.
5567         * modules/sethostname-tests (Files): Sort by decreasing importance.
5568         (configure.ac): Check for geteuid.
5569         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
5570         the test when there's nothing to test. Drop an unnecessary cast.
5571         Improve an error message. Verify that the final sethostname() call
5572         succeeds.
5573
5574 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5575
5576         Add a test suite for the sethostname module.
5577         * modules/sethostname-tests: New file.  A test program
5578         for the sethostname module.
5579         * tests/test-sethostname.c: Likewise.
5580
5581 2011-12-03  Bruno Haible  <bruno@clisp.org>
5582
5583         Tweak last commit.
5584         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
5585         Fix preprocessor directives indentation. Fix typos.
5586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
5587         * modules/unistd (Makefile): Likewise.
5588
5589 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5590
5591         Integrate the sethostname module into unistd.
5592         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
5593         into the unistd.h header.
5594         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
5595         preprocessor directives.
5596         * modules/unistd: Setup the Makefile substitutions of the
5597         SETHOSTNAME preprocessor directives.
5598
5599 2011-12-03  Bruno Haible  <bruno@clisp.org>
5600
5601         Tweak last commit.
5602         * lib/sethostname.c: Don't include <string.h>.
5603         (sethostname): No need to copy the argument string to the stack. Don't
5604         call clearerr. Preserve errno when fprintf failed.
5605         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
5606         Don't invoke AC_REPLACE_FUNCS.
5607         * modules/sethostname (Link): Remove empty section.
5608         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
5609         failure problem.
5610
5611 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5612
5613         New module 'sethostname'.
5614         * lib/sethostname.c (sethostname): New file.  Provide sethostname
5615         for systems that lack it.
5616         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
5617         sethostname declaration and function.
5618         * modules/sethostname: New file.  Define the sethostname module.
5619
5620 2011-12-03  Bruno Haible  <bruno@clisp.org>
5621
5622         Tweak last commit.
5623         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
5624
5625 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
5626
5627         Split the HOST_NAME_MAX detection into a separate m4 macro.
5628         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
5629         macro so it can be used by the pending sethostname module.
5630
5631 2011-12-03  Bruno Haible  <bruno@clisp.org>
5632
5633         Fix module descriptions syntax.
5634         * modules/argv-iter (License): Fix syntax.
5635         * modules/di-set (License): Likewise.
5636         * modules/ino-map (License): Likewise.
5637         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
5638
5639 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
5640
5641         stdalign: port to Clang 3.0
5642         Problem reported by Simon Josefsson in
5643         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
5644         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
5645         which has <stdalign.h> but which does not define alignof.
5646         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
5647
5648 2011-12-01  Eric Blake  <eblake@redhat.com>
5649
5650         mktempd: silence dd usage
5651         * build-aux/mktempd (rand_bytes): Silence dd.
5652
5653 2011-11-30  Simon Josefsson  <simon@josefsson.org>
5654
5655         manywarnings: Don't mention gcc version in docstring.
5656         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
5657         Jim Meyering <meyering@redhat.com>.
5658
5659 2011-11-30  Jim Meyering  <meyering@redhat.com>
5660
5661         hash: mark a few floating point constants with "f" suffix
5662         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
5663         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
5664         floating point constants with "f", since they're destined to be
5665         saved/used as "float"s.
5666
5667 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
5668
5669         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
5670         * tests/test-float.c (test_long_double): Correct and re-enable the
5671         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
5672
5673 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
5674
5675         Avoid subtracting two pointers that don't point into the same block.
5676         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
5677         only pointers into the same memory block are subtracted. We cannot
5678         assume that sizeof (ptrdiff_t) == sizeof (void *).
5679
5680 2011-11-29  Eric Blake  <eblake@redhat.com>
5681
5682         maint.mk: add syntax check for use of compare from init.sh
5683         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
5684         moved here from coreutils.
5685
5686         manywarnings: drop -Wunsuffixed-float-constants
5687         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
5688         '1.0D', which is the only way to silence this warning for 'double'.
5689
5690 2011-11-29  Jim Meyering  <meyering@redhat.com>
5691
5692         hash: mark compute_bucket_size with the pure attribute
5693         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
5694
5695         quotearg, propername: correct pragma guard expression
5696         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
5697         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
5698
5699 2011-11-28  Jim Meyering  <meyering@redhat.com>
5700
5701         propername: do not mark proper_name with the const attribute
5702         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
5703         since it examines data pointed to by its parameter.
5704         * lib/propername.c (proper_name): Instead, add a pragma to suppress
5705         the suggestion from -Wsuggest-attribute=const.
5706
5707         propername: mark one more function as const
5708         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
5709
5710 2011-11-27  Jim Meyering  <meyering@redhat.com>
5711
5712         mark functions with const and pure attributes
5713
5714         Mark functions per suggestions from gcc-4.6 when using these options:
5715         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
5716         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
5717         Follow these guidelines: when possible, apply the attribute to
5718         an extern declaration, not to its definition.  Apply it to the
5719         definition only when the definition is static.
5720         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
5721         * lib/argv-iter.h (argv_iter_n_args): Likewise.
5722         * lib/base64.h (isbase64): Likewise.
5723         * lib/basename-lgpl.c (last_component, base_len): Likewise.
5724         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
5725         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
5726         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
5727         (c_tolower, c_toupper): Likewise.
5728         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
5729         * lib/chdir-long.c (find_non_slash): Likewise.
5730         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
5731         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
5732         * lib/file-type.h (file_type): Likewise.
5733         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
5734         * lib/filevercmp.c (verrevcmp): Likewise.
5735         * lib/freadahead.h (freadahead): Likewise.
5736         * lib/fts.c (fts_maxarglen): Likewise.
5737         * lib/hash-pjw.h (hash_pjw): Likewise.
5738         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
5739         * lib/hash.c (is_prime, next_prime): Likewise.
5740         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
5741         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
5742         (hash_table_ok, hash_get_first, hash_string): Likewise.
5743         (compute_bucket_size): Likewise.
5744         * lib/i-ring.h (i_ring_empty): Likewise.
5745         * lib/isnan.c (isnanl): Likewise.
5746         * lib/math.h (isnanl, rpl_isnanl): Likewise.
5747         * lib/memcasecmp.h (memcasecmp): Likewise.
5748         * lib/memchr2.h (memchr2): Likewise.
5749         * lib/memcmp2.h (memcmp2): Likewise.
5750         * lib/parse-datetime.y (lookup_zone): Likewise.
5751         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
5752         [!WINDOWS_SOCKETS]: Likewise.
5753         * lib/strnlen1.h (strnlen1): Likewise.
5754         * lib/uniwidth.in.h (uc_width): Likewise.
5755         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
5756         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
5757         (quoting_options_from_style): Add a comment.
5758         * lib/propername.h (proper_name): Add a comment.
5759
5760 2011-11-27  Bruno Haible  <bruno@clisp.org>
5761
5762         Remove unused macros from !_LIBC code in glibc-borrowed files.
5763         * lib/fnmatch.c (STRCOLL): Remove macro.
5764         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
5765         * lib/glob.c (__stat, __readdir64): Remove macros.
5766         * lib/tempname.c (__open64, __xstat64): Remove macros.
5767         Suggested by Paul Eggert.
5768
5769 2011-11-27  Bruno Haible  <bruno@clisp.org>
5770
5771         getcwd: Fix link error on MSVC 9.
5772         * modules/getcwd (Depends-on): Add readdir, rewinddir.
5773
5774 2011-11-27  Bruno Haible  <bruno@clisp.org>
5775
5776         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
5777         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
5778         HAVE_OPENDIR is 0.
5779         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
5780         HAVE_CLOSEDIR is 0.
5781         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
5782         is 0.
5783         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
5784
5785 2011-11-27  Bruno Haible  <bruno@clisp.org>
5786
5787         getcwd: Fix bug from 2011-08-17.
5788         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
5789         platforms that need it.
5790         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
5791         code of 4 to be a failure, not a success. This ensures that
5792         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
5793
5794 2011-11-27  Bruno Haible  <bruno@clisp.org>
5795
5796         binary-io tests: Avoid test failure on mingw when libtool is used.
5797         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
5798         Don't verify the size of t-bin-out1.tmp here.
5799         * tests/test-binary-io.sh: Verify it here.
5800         Reported by Simon Josefsson.
5801
5802 2011-11-26  Bruno Haible  <bruno@clisp.org>
5803
5804         Fix conflict between two instantiations of module 'unistd'.
5805         * gnulib-tool (func_emit_autoconf_snippet): Substitute
5806         ${include_guard_prefix} also in the autoconf snippet.
5807         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
5808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
5809         GNULIB_UNISTD_H_GETOPT.
5810         * modules/getopt-posix (configure.ac): Set the
5811         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
5812         * modules/getopt-gnu (configure.ac): Likewise.
5813         * modules/unistd (Makefile.am): Change the substitution value of
5814         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
5815         Reported by Simon Josefsson.
5816
5817 2011-11-25  Bruno Haible  <bruno@clisp.org>
5818
5819         pagealign_alloc: Doc and comments.
5820         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
5821         module.
5822         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
5823
5824 2011-11-25  Jim Meyering  <meyering@redhat.com>
5825
5826         test-update-copyright.sh: avoid false-positive failure
5827         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
5828         around false positive failure on Cygwin/Windows.  The latter was
5829         matching erroneously-created files with names like
5830         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
5831
5832 2011-11-25  Simon Josefsson  <simon@josefsson.org>
5833
5834         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
5835         * m4/valgrind-tests.m4: Check that the parameters that will be
5836         used works, not just a subset of them.  Reported by Bruno Haible
5837         <bruno@clisp.org>.
5838
5839 2011-11-24  Jim Meyering  <meyering@redhat.com>
5840
5841         test-stdalign.c: comment out long double tests
5842         * tests/test-stdalign.c: Don't try to reduce alignment of long double
5843         variables.  That provokes errors like this from gcc-4.7.0 20111124:
5844         error: '_Alignas' specifiers cannot reduce alignment of \
5845         'static_longdouble_alignas'.
5846
5847 2011-11-22  Jim Meyering  <meyering@redhat.com>
5848
5849         init.sh: make "compare /dev/null FILE" output more readable
5850         * tests/init.sh (compare_): Document the preferred order of arguments.
5851         (emit_diff_u_header_): New function.
5852         (compare_dev_null_): Emit a simulated diff, rather than just the
5853         contents of the unexpected file.  Suggestion from Bruno Haible.
5854
5855 2011-11-21  Jim Meyering  <meyering@redhat.com>
5856             Eric Blake  <eblake@redhat.com>
5857
5858         init.sh: work around OSF/1 5.1's mishandling of /dev/null
5859         * tests/init.sh: Make our compare function slightly more portable.
5860         Reported by Bruno Haible in
5861         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
5862
5863 2011-11-21  Simon Josefsson  <simon@josefsson.org>
5864
5865         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
5866         before using it, in code that ends up in config.h.
5867
5868 2011-11-20  Bruno Haible  <bruno@clisp.org>
5869
5870         getcwd: Work around getcwd bug on AIX 5..7.
5871         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
5872         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
5873         Use a different value for gl_cv_func_getcwd_path_max. Move the
5874         definition of HAVE_PARTLY_WORKING_GETCWD from here...
5875         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
5876         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
5877         Define HAVE_MINIMALLY_WORKING_GETCWD.
5878         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
5879         where it is not even minimally working, that is, on AIX.
5880         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
5881         m4/getcwd-path-max.m4.
5882         (main): Update exit code computation.
5883         * doc/posix-functions/getcwd.texi: Mention list of platforms where
5884         getcwd does not handle long file names.
5885
5886 2011-11-20  Bruno Haible  <bruno@clisp.org>
5887
5888         getcwd: Fix bug from 2009-09-10.
5889         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
5890         like "no".
5891
5892 2011-11-20  Simon Josefsson  <simon@josefsson.org>
5893
5894         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
5895
5896 2011-11-20  Bruno Haible  <bruno@clisp.org>
5897
5898         fma tests: Avoid shadowing local variables.
5899         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
5900         expected.
5901
5902 2011-11-20  Bruno Haible  <bruno@clisp.org>
5903
5904         copysignf tests: Fix.
5905         * tests/test-copysignf.c: Fix signature check.
5906
5907 2011-11-20  Bruno Haible  <bruno@clisp.org>
5908
5909         fma: Remove unused code.
5910         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
5911         unused macros.
5912
5913 2011-11-20  Bruno Haible  <bruno@clisp.org>
5914
5915         sethostname: Fix doc about AIX.
5916         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
5917         sethostname; it has it.
5918
5919         sethostname: Mention more portability problems.
5920         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
5921         problem.
5922         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5923
5924 2011-11-19  Bruno Haible  <bruno@clisp.org>
5925
5926         Depend on module fcntl-h when AT_FDCWD is used.
5927         * modules/utimens (Depends-on): Add fcntl-h.
5928         * modules/areadlinkat (Depends-on): Likewise.
5929         * modules/areadlinkat-with-size (Depends-on): Likewise.
5930         * modules/faccessat (Depends-on): Likewise.
5931         * modules/fchmodat (Depends-on): Likewise.
5932         * modules/fchownat (Depends-on): Likewise.
5933         * modules/getcwd (Depends-on): Likewise.
5934         * modules/mkdirat (Depends-on): Likewise.
5935         * modules/mkfifoat (Depends-on): Likewise.
5936         * modules/readlinkat (Depends-on): Likewise.
5937         * modules/symlinkat (Depends-on): Likewise.
5938         * modules/dup2-tests (Depends-on): Likewise.
5939         * modules/fdutimensat-tests (Depends-on): Likewise.
5940         * modules/futimens-tests (Depends-on): Likewise.
5941
5942 2011-11-19  Bruno Haible  <bruno@clisp.org>
5943
5944         euidaccess: Update a comment.
5945         * lib/euidaccess.c: Update comment about platforms with faccessat.
5946
5947 2011-11-19  Bruno Haible  <bruno@clisp.org>
5948
5949         openat: Fix file list.
5950         * modules/openat (Files): Remove lib/at-func.c.
5951
5952 2011-11-19  Bruno Haible  <bruno@clisp.org>
5953
5954         fstatat: Simplify.
5955         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
5956         gnulib should define rpl_fstatat, there is a
5957         "#define fstatat rpl_fstatat" in <sys/stat.h>.
5958
5959 2011-11-19  Bruno Haible  <bruno@clisp.org>
5960
5961         Ensure 'inline' can be used in tests/test-utimens-common.h.
5962         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
5963         * modules/futimens-tests (configure.ac): Likewise.
5964         * modules/utimens-tests (configure.ac): Likewise.
5965         * modules/utimensat-tests (configure.ac): Likewise.
5966
5967 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5968
5969         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
5970         not hash_insert0.
5971         (hash_insert_if_absent): Doc fix.
5972
5973 2011-11-19  Simon Josefsson  <simon@josefsson.org>
5974
5975         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
5976
5977 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
5978
5979         test-getcwd: disambiguate exit status
5980         * tests/test-getcwd.c (test_long_name): Return 0..7.
5981         (main): Exit with an unambiguous exit status.  The old
5982         code yielded a mysterious mixture of two failure codes.
5983
5984         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
5985         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
5986         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
5987         rpl_fstatat or fstatat.  This should fix the other problem
5988         reported by Kai Habel in
5989         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
5990         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
5991         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
5992         and I reproduced it on a Solaris 8 host we still have in production.
5993
5994 2011-11-18  Jim Meyering  <meyering@redhat.com>
5995
5996         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
5997         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
5998         Add a sentence to the comment.
5999         (hash_insert0): New function that simply calls hash_insert_if_absent.
6000         * lib/hash.h (hash_insert_if_absent): Declare it.
6001         (hash_insert0): Add deprecation attribute.
6002         (_GL_ATTRIBUTE_DEPRECATED): Define.
6003         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
6004         not hash_insert0.
6005         * NEWS: Mention it, even though it's not really an incompatible change.
6006
6007 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
6008
6009         openat: avoid compilation failure due to lack of <errno.h> inclusion
6010         * lib/openat.c: Include <errno.h>.
6011
6012 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6013
6014         * modules/getcwd (Depends-on): Add fdopendir.
6015         This fixes one of the two problems reported by Kai Habel in
6016         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6017
6018         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
6019         stdalign problem reported by Ian Beckwith in
6020         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
6021         * modules/crypto/gc-arcfour (Depends-on):
6022         Depend conditionally on crypto/arcfour.
6023         * modules/crypto/gc-arctwo (Depends-on):
6024         Depend conditionally on crypto/arctwo.
6025         * modules/crypto/gc-des (Depends-on):
6026         Depend conditionally on crypto/des.
6027         * modules/crypto/gc-hmac-md5 (Depends-on):
6028         Depend conditionally on crypto/hmac-md5.
6029         * modules/crypto/gc-hmac-sha1 (Depends-on):
6030         Depend conditionally on crypto/hmac-sha1.
6031         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
6032         * modules/crypto/gc-md4 (Depends-on):
6033         Depend conditionally on crypto/md4.
6034         * modules/crypto/gc-md5 (Depends-on):
6035         Depend conditionally on crypto/md5.
6036         * modules/crypto/gc-rijndael (Depends-on):
6037         Depend conditionally on crypto/rijndael.
6038         * modules/crypto/gc-sha1 (Depends-on):
6039         Depend conditionally on crypto/sha1.
6040         * modules/crypto/gc-arcfour:
6041         * modules/crypto/gc-arctwo:
6042         * modules/crypto/gc-des:
6043         * modules/crypto/gc-hmac-md5:
6044         * modules/crypto/gc-hmac-sha1:
6045         * modules/crypto/gc-md2:
6046         * modules/crypto/gc-md4:
6047         * modules/crypto/gc-md5:
6048         * modules/crypto/gc-rijndael:
6049         * modules/crypto/gc-sha1:
6050         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
6051         now that the conditional dependencies do the work for us.
6052
6053 2011-11-17  Jim Meyering  <meyering@redhat.com>
6054
6055         tests: factor st_ctime-comparison out of two headers
6056         * tests/test-utimens-common.h (ctime_compare): Define.
6057         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
6058         * tests/test-lutimens.h (test_lutimens): Likewise.
6059         * tests/test-utimens.h (test_utimens): Likewise.
6060
6061         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
6062         Invoke the test program via an init.sh-using wrapper.
6063         * tests/test-getcwd.sh: New file.
6064         * modules/getcwd-tests (Files): Add it.
6065         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
6066
6067 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
6068
6069         gitlog-to-changelog: support multi-author commits.
6070         The FSF cares about keeping track of all authors of patches to its
6071         projects, but Git doesn't provide obvious support for multi-author
6072         changesets. Consensus seems to be forming around the use of extra
6073         Signed-off-by inspired lines in the log message formatted as
6074         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
6075         multi-author commits between version control systems.
6076         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
6077         log message and output in standard ChangeLog multi-author format.
6078         Reported by Peter Rosin <peda@lysator.liu.se>
6079
6080 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
6081             Bruno Haible  <bruno@clisp.org>
6082
6083         Fix some modules' file list.
6084         * modules/fstatat (Files): Add m4/lstat.m4.
6085         * modules/openat (Files): Likewise.
6086         * modules/unlinkat (Files): Likewise.
6087
6088 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
6089
6090         maint.mk: fix tight-scope.mk generation in VPATH builds.
6091         * top/maint.mk (tight-scope.mk): Make sure to prefix file
6092         reference with $(srcdir) so that the file is found correctly even
6093         when running `make syntax-check' in a VPATH build.
6094
6095 2011-11-13  Bruno Haible  <bruno@clisp.org>
6096             Jim Meyering  <meyering@redhat.com>
6097
6098         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
6099         * tests/init.sh (compare): Remove "No differences encountered" or
6100         synonymous output from the 'diff' program.
6101
6102 2011-11-13  Bruno Haible  <bruno@clisp.org>
6103
6104         Makefile: Tweak indentation.
6105         * Makefile: Use tab as first character in every line that contains rule
6106         commands.
6107
6108 2011-11-13  Bruno Haible  <bruno@clisp.org>
6109
6110         Syntax check for copyright statements.
6111         * check-copyright: New file.
6112         * Makefile (sc_check_copyright): New rule.
6113
6114 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6115
6116         * build-aux/git-version-gen: Add --prefix to configure the tag
6117         match string.
6118
6119 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6120
6121         * build-aux/git-version-gen: Add --help and --version.
6122
6123 2011-11-12  Jim Meyering  <meyering@redhat.com>
6124
6125         revamp the other test-exclude?.sh scripts to use init.sh, too
6126         * tests/test-exclude1.sh: Use init.sh.
6127         * tests/test-exclude2.sh: Likewise.
6128         * tests/test-exclude3.sh: Likewise.
6129         * tests/test-exclude4.sh: Likewise.
6130         * tests/test-exclude5.sh: Likewise.
6131         * tests/test-exclude6.sh: Likewise.
6132         * tests/test-exclude7.sh: Likewise.
6133         * tests/test-exclude8.sh: Likewise.
6134         * modules/exclude-tests (Files): List init.sh.
6135
6136         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
6137         These shell scripts ignored failure of the binary test-exclude,
6138         so making the latter return 77 didn't cause them to be skipped.
6139         * tests/test-exclude5.sh: Exit with test-exclude's error status
6140         when that program fails.  Revamp to use init.sh.
6141         * tests/test-exclude2.sh: Likewise.
6142
6143         test-exclude: fix a typo
6144         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
6145
6146 2011-11-11  Bruno Haible  <bruno@clisp.org>
6147
6148         obstack: Fix compilation error on MSVC 9.
6149         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
6150
6151 2011-11-11  Jim Meyering  <meyering@redhat.com>
6152
6153         test-exclude: skip tests rather than failing on deficient systems
6154         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
6155         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
6156         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
6157         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
6158
6159 2011-11-10  Bruno Haible  <bruno@clisp.org>
6160
6161         ptsname_r test: Avoid gcc warning on glibc systems.
6162         * tests/test-ptsname_r.c (null_ptr): New function.
6163         (test_errors): Use it.
6164
6165 2011-11-10  Bruno Haible  <bruno@clisp.org>
6166
6167         ptsname_r: Avoid compilation error on OSF/1 5.1.
6168         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
6169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
6170         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
6171         function is not declared or incompatibly declared.
6172         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
6173         * modules/ptsname_r (Depends-on, configure.ac): Update.
6174         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
6175
6176 2011-11-10  Bruno Haible  <bruno@clisp.org>
6177
6178         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
6179         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
6180         When cross-compiling, guess yes on all platforms except AIX.
6181         Reported by Ludovic Courtès <ludo@gnu.org>.
6182
6183 2011-11-09  Bruno Haible  <bruno@clisp.org>
6184
6185         ptsname_r tests: Fix bugs.
6186         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
6187         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
6188
6189 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
6190
6191         fstatat: work with cross-compilation
6192         Problem reported by Ludovic Courtès in
6193         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
6194         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
6195         "cross-compiling" and assume the bug is present.  Replace
6196         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
6197         an inverted sense, to be more conservative about our assumptions.
6198         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
6199
6200 2011-11-09  Bruno Haible  <bruno@clisp.org>
6201
6202         Improve MODULES.html output.
6203         * modules/mkfifoat (Description): Use the word "function".
6204         * modules/readlinkat (Description): Likewise.
6205         * modules/symlinkat (Description): Likewise.
6206
6207 2011-11-09  Eric Blake  <eblake@redhat.com>
6208
6209         ptsname_r-tests: new test module
6210         * modules/ptsname_r-tests: New module.
6211         * tests/test-ptsname_r.c: New file.
6212
6213         ptsname_r: new module
6214         * modules/ptsname_r: New module.
6215         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
6216         * lib/ptsname.c (__ptsname_r): Split...
6217         * lib/ptsname_r.c: ...into new file.
6218         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
6219         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
6220         * modules/stdlib (Makefile.am): Substitute witnesses.
6221         * lib/stdlib.in.h (ptsname_r): Declare it.
6222         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
6223         * MODULES.html.sh (Misc): Likewise.
6224         * modules/ptsname (Depends-on): Alter dependency.
6225         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
6226
6227 2011-11-09  Jim Meyering  <meyering@redhat.com>
6228
6229         announce-gen: be more concise when there's only one URL+tarball
6230         * build-aux/announce-gen (get_tool_versions): When you distribute
6231         only one type of tarball, combine the first two "Here are..."
6232         sections and make the key-checking grammar independent of
6233         how many tarballs there are.
6234
6235 2011-11-09  Eric Blake  <eblake@redhat.com>
6236
6237         openpty: provide a stub on mingw
6238         * lib/pty.in.h (includes): Provide forward declarations.
6239         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
6240
6241         raise: fix mingw handling of SIGPIPE
6242         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
6243
6244 2011-11-08  Bruno Haible  <bruno@clisp.org>
6245
6246         More conditional dependencies.
6247         * modules/faccessat (Depends-on): Add conditions.
6248         * modules/fchmodat (Depends-on): Likewise.
6249         * modules/fchownat (Depends-on): Likewise.
6250         * modules/fstatat (Depends-on): Likewise.
6251         * modules/mkfifoat (Depends-on): Likewise.
6252         * modules/readlinkat (Depends-on): Likewise.
6253         * modules/symlinkat (Depends-on): Likewise.
6254         * modules/unlinkat (Depends-on): Likewise.
6255         * modules/utimensat (Depends-on): Likewise.
6256         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
6257         * modules/linkat (Depends-on): Refine the conditions.
6258         * modules/renameat (Depends-on): Likewise.
6259
6260 2011-11-08  Bruno Haible  <bruno@clisp.org>
6261
6262         faccessat: Move AC_LIBOBJ invocation to module description.
6263         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
6264         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
6265         invocation from here...
6266         * modules/faccessat (configure.ac): ... to here. Invoke
6267         gl_PREREQ_FACCESSAT.
6268
6269 2011-11-08  Bruno Haible  <bruno@clisp.org>
6270
6271         faccessat: Simplify autoconf macro.
6272         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
6273         gl_FUNC_EUIDACCESS.
6274
6275 2011-11-08  Bruno Haible  <bruno@clisp.org>
6276
6277         renameat: Fix dependencies.
6278         * modules/renameat (Depends-on): Add stdbool.
6279
6280 2011-11-08  Bruno Haible  <bruno@clisp.org>
6281
6282         mkfifoat: Fix module description.
6283         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
6284         not gl_UNISTD_MODULE_INDICATOR.
6285
6286 2011-11-08  Bruno Haible  <bruno@clisp.org>
6287
6288         fstatat: Remove unused dependency.
6289         * modules/fstatat (Depends-on): Remove fstat.
6290
6291 2011-11-08  Simon Josefsson  <simon@josefsson.org>
6292
6293         GNUmakefile: behave when Makefile is missing.
6294         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
6295
6296 2011-11-08  Bruno Haible  <bruno@clisp.org>
6297
6298         openat: Conditionalize dependencies.
6299         * lib/openat.c: Reduce the scope of some #includes.
6300         * modules/openat (Depends-on): Add conditions.
6301
6302 2011-11-07  Jim Meyering  <meyering@redhat.com>
6303
6304         maint.mk: extract GPG key ID without using a temporary file
6305         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
6306         without using a temporary file.  Based on a suggestion from Werner Koch
6307         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
6308
6309 2011-11-07  Eric Blake  <eblake@redhat.com>
6310
6311         grantpt: fix typo
6312         * lib/stdlib.in.h (grantpt): Check correct function.
6313
6314         maint.mk: silence new syntax check
6315         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
6316
6317 2011-11-06  Bruno Haible  <bruno@clisp.org>
6318
6319         Doc about floating-point and math API.
6320         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
6321         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
6322
6323 2011-11-06  Bruno Haible  <bruno@clisp.org>
6324
6325         stdalign tests: Skip the test when compiled by Sun C.
6326         * tests/test-stdalign.c (main): Skip the test on Sun C.
6327
6328 2011-11-06  Bruno Haible  <bruno@clisp.org>
6329
6330         ansi-c++-opt: Complete the 2011-06-05 change.
6331         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
6332         does not support namespaces, set the variable to "no", not to ":".
6333
6334 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
6335
6336         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
6337
6338 2011-11-06  Bruno Haible  <bruno@clisp.org>
6339
6340         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
6341         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
6342         (minus_zerol) [HP-UX]: New macro.
6343         (unary_minus) [HP-UX]: New function.
6344         (copysignl) [HP-UX]: Use unary_minus function.
6345
6346 2011-11-06  Bruno Haible  <bruno@clisp.org>
6347
6348         ldexp, ldexpf, ldexpl: Enhance tests.
6349         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
6350         and tests/test-ldexpl.c.
6351         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
6352         LDEXP, MIN_EXP, MAX_EXP): New macros.
6353         Include test-ldexp.h.
6354         (main): Just call test_function.
6355         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
6356         infinity.h, nan.h.
6357         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6358         MAX_EXP): New macros.
6359         Include test-ldexp.h.
6360         (x, y): Remove variables.
6361         (main): Just call test_function.
6362         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
6363         infinity.h, nan.h.
6364         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
6365         MAX_EXP): New macros.
6366         Include test-ldexp.h.
6367         (x, y): Remove variables.
6368         (main): Just call test_function.
6369         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
6370         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
6371         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6372         (Depends-on): Add isnand-nolibm, signbit, float.
6373         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
6374         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
6375         (Depends-on): Add isnanf-nolibm, signbit, float.
6376
6377 2011-11-06  Bruno Haible  <bruno@clisp.org>
6378
6379         math tests: Cosmetics.
6380         * tests/test-math-c++.cc: Reorder declarations.
6381
6382 2011-11-05  Bruno Haible  <bruno@clisp.org>
6383
6384         fma*: Simplify test.
6385         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
6386         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
6387
6388         Tests for module 'fmal'.
6389         * modules/fmal-tests: New file.
6390         * tests/test-fmal1.c: New file.
6391         * tests/test-fmal2.c: New file.
6392
6393         New module 'fmal'.
6394         * lib/math.in.h (fmal): New declaration.
6395         * lib/fmal.c: New file.
6396         * m4/fmal.m4: New file.
6397         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
6398         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
6399         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
6400         REPLACE_FMAL.
6401         * modules/fmal: New file.
6402         * doc/posix-functions/fmal.texi: Mention the new module and the various
6403         bugs.
6404
6405         Tests for module 'fmaf'.
6406         * modules/fmaf-tests: New file.
6407         * tests/test-fmaf1.c: New file.
6408         * tests/test-fmaf2.c: New file.
6409
6410         New module 'fmaf'.
6411         * lib/math.in.h (fmaf): New declaration.
6412         * lib/fmaf.c: New file.
6413         * m4/fmaf.m4: New file.
6414         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
6415         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
6416         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
6417         REPLACE_FMAF.
6418         * modules/fmaf: New file.
6419         * doc/posix-functions/fmaf.texi: Mention the new module and the various
6420         bugs.
6421
6422         Tests for module 'fma'.
6423         * modules/fma-tests: New file.
6424         * tests/test-fma1.c: New file.
6425         * tests/test-fma1.h: New file.
6426         * tests/test-fma2.c: New file.
6427         * tests/test-fma2.h: New file.
6428
6429         New module 'fma'.
6430         * lib/math.in.h (fma): New declaration.
6431         * lib/fma.c: New file.
6432         * m4/fma.m4: New file.
6433         * m4/fegetround.m4: New file.
6434         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
6435         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
6436         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
6437         REPLACE_FMA.
6438         * modules/fma: New file.
6439         * doc/posix-functions/fma.texi: Mention the new module and the various
6440         bugs.
6441
6442         Extend gl_MATHFUNC.
6443         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
6444         Support 'void' as argument type.
6445         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
6446
6447 2011-11-05  Jim Meyering  <meyering@redhat.com>
6448
6449         maint.mk: also prohibit inclusion of dirent.h without use
6450         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
6451
6452 2011-11-05  Bruno Haible  <bruno@clisp.org>
6453
6454         ldexpl tests: Avoid test failure on MSVC 9.
6455         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
6456         value. Needed in order to enforce the conversion from a value greater
6457         than LDBL_MAX to Infinity.
6458
6459 2011-11-05  Bruno Haible  <bruno@clisp.org>
6460
6461         New modules 'at-internal', 'openat-h', split off from module 'openat'.
6462         * modules/at-internal: New file, extracted from modules/openat.
6463         * modules/openat-h: New file.
6464         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
6465         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
6466         * modules/openat (Description): Add reference to POSIX function.
6467         (Files): Remove lib/openat.h, lib/openat-proc.c.
6468         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
6469         intprops, unistd.
6470         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
6471         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
6472         gl_FCNTL_MODULE_INDICATOR.
6473         (Include): Remove unistd.h, openat.h.
6474         * modules/areadlinkat (Files): Add lib/at-func.c.
6475         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6476         openat-die, openat-h, save-cwd.
6477         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
6478         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6479         openat-die, openat-h, save-cwd, unistd.
6480         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
6481         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6482         openat-h, save-cwd. Remove fcntl-h, openat.
6483         * modules/fchmodat (Files): Remove lib/openat.h.
6484         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6485         openat, stdbool, unistd.
6486         * modules/fchownat (Files): Remove lib/openat.h.
6487         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6488         openat, stdbool, sys_stat.
6489         * modules/fdopendir (Files): Remove lib/openat-priv.h,
6490         lib/openat-proc.c.
6491         (Depends-on): Add at-internal.
6492         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
6493         * modules/fstatat (Files): Remove lib/openat.h.
6494         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6495         stdbool, unistd.
6496         * modules/fts (Depends-on): Add openat-h.
6497         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
6498         openat.
6499         * modules/mkdirat (Files): Remove lib/openat.h.
6500         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
6501         openat, stdbool, sys_stat.
6502         * modules/mkfifoat (Files): Add lib/at-func.c.
6503         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6504         openat-h, save-cwd. Remove fcntl-h, openat.
6505         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
6506         * modules/readlinkat (Files): Add lib/at-func.c.
6507         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6508         openat-h, save-cwd. Remove fcntl-h, openat.
6509         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
6510         openat.
6511         * modules/selinux-at (Files): Add lib/at-func.c.
6512         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
6513         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
6514         * modules/symlinkat (Files): Add lib/at-func.c.
6515         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
6516         openat-h, save-cwd. Remove fcntl-h, openat.
6517         * modules/unlinkat (Files): Remove lib/openat.h.
6518         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
6519         stdbool.
6520         * modules/utimensat (Files): Add lib/at-func.c.
6521         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
6522         openat-die, openat-h, save-cwd.
6523         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
6524         * modules/fdutimensat-tests (Depends-on): Add openat.
6525         * modules/fstatat-tests (Depends-on): Add openat-h.
6526         * modules/readlinkat-tests (Depends-on): Add openat.
6527         * modules/symlinkat-tests (Depends-on): Add openat.
6528
6529 2011-11-05  Bruno Haible  <bruno@clisp.org>
6530
6531         openat: Include <stdbool.h>.
6532         * lib/openat.c: Include <stdbool.h>.
6533
6534 2011-11-04  Bruno Haible  <bruno@clisp.org>
6535
6536         fchownat, renameat, unlinkat: Fix dependencies.
6537         * modules/fchownat (Depends-on): Add fstatat.
6538         * modules/renameat (Depends-on): Likewise.
6539         * modules/unlinkat (Depends-on): Likewise.
6540
6541 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
6542
6543         openat: remove direct dependency on dirent
6544         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
6545         and hasn't been needed ever since fdopendir was split into its own
6546         module on 2009-08-31.
6547         * modules/openat (Depends-on): Remove dirent.
6548
6549 2011-11-04  Bruno Haible  <bruno@clisp.org>
6550
6551         renameat: Optimize code size.
6552         * modules/renameat (configure.ac): Don't compile at-func2.c if
6553         REPLACE_RENAMEAT is 1.
6554
6555 2011-11-04  Bruno Haible  <bruno@clisp.org>
6556
6557         openat tests: Fix file list.
6558         * modules/openat-tests (Files): Add tests/test-open.h.
6559
6560 2011-11-04  Bruno Haible  <bruno@clisp.org>
6561
6562         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
6563         * modules/fchmodat (Depends-on): Add openat-die.
6564         * modules/fchownat (Depends-on): Likewise.
6565         * modules/linkat (Depends-on): Likewise.
6566         * modules/renameat (Depends-on): Likewise.
6567         * modules/openat (Depends-on): Add dirent.
6568
6569 2011-11-04  Jim Meyering  <meyering@redhat.com>
6570
6571         at-func*.c: fix comments
6572         * lib/at-func2.c: Correct/improve first-line comment.
6573         * lib/at-func.c: Correct grammar in first-line comment.
6574
6575 2011-11-04  Bruno Haible  <bruno@clisp.org>
6576
6577         New module 'mkdirat', split off from module 'openat'.
6578         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
6579         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
6580         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
6581         * modules/mkdirat: New file, extracted from modules/openat.
6582         * modules/openat (Files): Remove lib/mkdirat.c.
6583         (Depends-on): Remove mkdir.
6584         (configure.ac): Remove AC_LIBOBJ of mkdirat.
6585         (Include): Remove <sys/stat.h>.
6586         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
6587         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
6588         tests/test-mkdir.h.
6589         (Depends-on): Remove ignore-value.
6590         (Makefile.am): Remove rules for test-mkdirat.
6591         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
6592         of module 'openat'.
6593         * NEWS: Mention the change.
6594
6595 2011-11-04  Bruno Haible  <bruno@clisp.org>
6596
6597         closedir: Avoid warning on mingw.
6598         * lib/closedir.c: Include <unistd.h>.
6599
6600 2011-11-04  Bruno Haible  <bruno@clisp.org>
6601
6602         New module 'fstatat', split off from module 'openat'.
6603         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
6604         defined.
6605         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
6606         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
6607         gl_FUNC_FSTATAT.
6608         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
6609         * modules/fstatat: New file, extracted from modules/openat.
6610         * modules/openat (Files): Remove lib/fstatat.c.
6611         (Depends-on): Remove lstat.
6612         (configure.ac): Remove AC_LIBOBJ of fstatat.
6613         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
6614         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
6615         tests/test-lstat.h, tests/test-stat.h.
6616         (Depends-on): Remove getcwd-lgpl.
6617         (Makefile.am): Remove rules for test-fstatat.
6618         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
6619         of module 'openat'.
6620         * NEWS: Mention the change.
6621         * modules/getcwd (Depends-on): Add fstatat.
6622         * modules/linkat (Depends-on): Likewise.
6623         * modules/mkfifoat-tests (Depends-on): Likewise.
6624         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
6625
6626 2011-11-03  Bruno Haible  <bruno@clisp.org>
6627
6628         New module 'unlinkat', split off from module 'openat'.
6629         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
6630         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
6631         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
6632         * modules/unlinkat: New file, extracted from modules/openat. Correct
6633         the dependency conditions.
6634         * modules/openat (Files): Remove lib/unlinkat.c.
6635         (Depends-on): Remove rmdir, unlink.
6636         (configure.ac): Remove AC_LIBOBJ of unlinkat.
6637         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
6638         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
6639         tests/test-rmdir.h, tests/test-unlink.h.
6640         (Depends-on): Remove unlinkdir.
6641         (Makefile.am): Remove rules for test-unlinkat.
6642         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
6643         of module 'openat'.
6644         * NEWS: Mention the change.
6645         * modules/linkat-tests (Depends-on): Add unlinkat.
6646         * modules/mkfifoat-tests (Depends-on): Likewise.
6647         * modules/readlinkat-tests (Depends-on): Likewise.
6648
6649 2011-11-02  Bruno Haible  <bruno@clisp.org>
6650
6651         New module 'fchmodat', split off from module 'openat'.
6652         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
6653         defined.
6654         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
6655         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
6656         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
6657         * modules/fchmodat: New file, extracted from modules/openat.
6658         * modules/openat (Files): Remove lib/fchmodat.c.
6659         (configure.ac): Remove AC_LIBOBJ of fchmodat.
6660         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
6661         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
6662         (Makefile.am): Remove rules for test-fchmodat.
6663         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
6664         of module 'openat'.
6665         * NEWS: Mention the change.
6666
6667 2011-11-02  Jim Meyering  <meyering@redhat.com>
6668
6669         putenv: indent #definition of "environ" to placate cppi
6670         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
6671
6672         gitlog-to-changelog: provide a ChangeLog-repair mechanism
6673         Git logs are often treated as immutable, because editing them
6674         changes the SHA1 checksums of all descendants.  Thus, errors in
6675         git logs tend to stay there forever.  However, when we generate
6676         a ChangeLog file -- typically for distribution -- from that git log,
6677         we can actually make corrections in the generated file.  The key
6678         lies in recording in machine-readable/applicable form the desired
6679         corrections.  See --help for description and an example.
6680         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
6681         (usage): Describe it; alphabetize option descriptions.
6682         (main): Honor the new option, carefully.
6683
6684 2011-11-01  Jim Meyering  <meyering@redhat.com>
6685
6686         gitlog-to-changelog: avoid an infloop
6687         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
6688         that ends up being empty.
6689
6690 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6691
6692         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
6693         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
6694         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
6695         contains (possibly-quoted) backslashes.  This should avoid
6696         all-too-common shell bugs if COMPLICATED contains backslashes in
6697         the "wrong" places.  Reported by David Evans in
6698         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
6699         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
6700         because we want ASCII ranges.  Is there some reason we don't use
6701         the C locale everywhere in this script?
6702         (func_module, top level): Avoid unwanted pathname expansion when
6703         $repo_url_prefix or $repo_url_suffix_repl contain shell
6704         metacharacters like '?' and '*'.
6705
6706 2011-11-01  Bruno Haible  <bruno@clisp.org>
6707
6708         fchownat: Improve description.
6709         * modules/fchownat (Description): Add link to function.
6710
6711 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
6712
6713         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
6714         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
6715         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
6716         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
6717
6718 2011-11-01  Bruno Haible  <bruno@clisp.org>
6719
6720         alignof: Avoid collision with stdalign module.
6721         * lib/alignof.h (alignof): Remove macro.
6722         * NEWS: Mention the change.
6723         Reported by Paul Eggert.
6724
6725 2011-11-01  Bruno Haible  <bruno@clisp.org>
6726
6727         New module 'fchownat', split off from module 'openat'.
6728         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
6729         defined.
6730         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
6731         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
6732         invoke gl_FUNC_FCHOWNAT.
6733         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
6734         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
6735         * modules/fchownat: New file, extracted from modules/openat.
6736         * modules/openat (Files): Remove lib/fchownat.c.
6737         (Depends-on): Remove lchown.
6738         (configure.ac): Remove AC_LIBOBJ of fchownat.
6739         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
6740         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
6741         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
6742         (Depends-on): Remove mgetgroups, usleep, stat-time.
6743         (configure.ac): Remove test for getegid.
6744         (Makefile.am): Remove rules for test-fchownat.
6745         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
6746         of module 'openat'.
6747         * NEWS: Mention the change.
6748
6749 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
6750
6751         stdalign: port better to MSVC and to Sun C 5.11
6752         This fixes some of the problems reported by Bruno Haible in
6753         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
6754         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
6755         shortcomings of MSVC and of Sun C 5.11.
6756         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
6757         around __declspec arg.
6758         * modules/stdalign-tests (Files): Add tests/macros.h.
6759         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
6760         Include macros.h, for ASSERT.
6761         (DECLARE_ALIGNED): Remove.
6762         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
6763         to catch bug), and to 1 if not (simplifies the rest of the code).
6764         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
6765         (CHECK_AUTO): Remove.
6766         (CHECK_ALIGNED): Check only the alignment of the static vars,
6767         since auto var alignment isn't supported by Sun C 5.11.
6768         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
6769         ASSERT failures are easier to diagnose.
6770
6771 2011-10-31  Bruno Haible  <bruno@clisp.org>
6772
6773         doc about some IRIX 5.3 problems.
6774         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
6775         on IRIX 5.3.
6776         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
6777         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
6778         5.3.
6779         * doc/posix-functions/grantpt.texi: Likewise.
6780         * doc/posix-functions/unlockpt.texi: Likewise.
6781         * doc/posix-functions/lgamma.texi: Likewise.
6782         * doc/posix-functions/nextafter.texi: Likewise.
6783         * doc/posix-functions/remainder.texi: Likewise.
6784         * doc/posix-functions/select.texi: Mention misplaced declaration on
6785         IRIX 5.3.
6786         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6787
6788 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
6789
6790         gitlog-to-changelog: fix git-log invocation.
6791         git-log mishandles date strings before 1970-01-01 UTC, and there is
6792         no use to specify --since=1970-01-01 by default anyway.
6793         * build-aux/gitlog-to-changelog: By default, when no --since option
6794         was given, do not specify explicit --since option to git-log.
6795
6796 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
6797
6798         gitlog-to-changelog: new option --append-dot.
6799         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
6800         first non-blank line of each commit message terminated with a dot.
6801
6802 2011-10-30  Bruno Haible  <bruno@clisp.org>
6803
6804         ffsl, ffsll: Avoid compilation error due to 'restrict'.
6805         * lib/ffsl.h: Include <config.h>.
6806         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
6807
6808 2011-10-30  Jim Meyering  <meyering@redhat.com>
6809
6810         GNUmakefile: reenable "make syntax-check" for most projects
6811         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
6812         build-aux variable", "syntax-check" would do nothing but succeed with
6813         the "No version control files detected..." diagnostic (unless you
6814         happened to override _build-aux via cfg.mk).
6815         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
6816         to precede inclusion of maint.mk.  Otherwise, these variables would
6817         be used undefined in any project that does not override the default.
6818
6819 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
6820
6821         gitlog-to-changelog: treat a message with only blank lines as empty.
6822         * build-aux/gitlog-to-changelog: Move the code that removes leading and
6823         trailing blank lines before the code that issues a warning about an
6824         empty commit message.
6825
6826 2011-10-30  Jim Meyering  <meyering@redhat.com>
6827
6828         test-parse-datetime.c: avoid new DST-related false positive test failure
6829         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
6830         based on the time/date we'll convert, not the current time.
6831         Otherwise, the moment we cross a DST boundary like today's in
6832         Europe, (CEST to CET), that offset ends up being one hour off.
6833
6834 2011-10-27  Bruno Haible  <bruno@clisp.org>
6835
6836         fstat: Tweak documentation.
6837         * modules/fstat (Description): More precise description.
6838
6839 2011-10-27  Bruno Haible  <bruno@clisp.org>
6840
6841         Update documentation regarding 'largefile' module.
6842         * doc/posix-functions/fstat.texi: Tweak wording.
6843         * doc/posix-functions/opendir.texi: Mention that the module fixes the
6844         problems with huge directories and/or small ino_t types.
6845         * doc/posix-functions/readdir.texi: Likewise.
6846         * doc/posix-functions/rewinddir.texi: Likewise.
6847
6848 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
6849
6850         maint.mk: don't maintain a second build-aux variable.
6851         * maint.mk (build_aux): Removed.  The maintainer-makefile module
6852         depends on GNUmakefile, which already maintains a cfg.mk
6853         overridable $(_build-aux) for projects with a non-standard
6854         build-aux directory location, although without the $(srcdir)
6855         prefix.  Use that variable consistently instead of introducing a
6856         second one.  Adjust all call sites.
6857
6858 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
6859
6860         Add stdalign module and use it in other modules.
6861         This is based on a previous proposal by Bruno Haible
6862         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
6863
6864         stdalign: new module
6865         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
6866         * modules/stdalign: New files.
6867         * MODULES.html.sh (c1x_core_properties): Add stdalign.
6868         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
6869
6870         stdalign-tests: new module
6871         * modules/stdalign-tests, tests/test-stdalign.c: New files.
6872
6873         argp: use stdalign
6874         * lib/argp-parse.c: Include <stdalign.h>.
6875         (alignof): Remove.
6876         * modules/argp (Depends-on): Add stdalign.
6877
6878         crypto libraries: use stdalign
6879         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
6880         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
6881         Do not include <stdlib.h> twice, in md4.c.
6882         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
6883         because we are accessing a pointer's bit-pattern, not a size.
6884         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
6885         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
6886         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
6887         * modules/crypto/sha512: Likewise.
6888
6889         sys_socket: use stdalign, not alignof
6890         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
6891         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
6892
6893 2011-10-27  Bruno Haible  <bruno@clisp.org>
6894
6895         raise test: Avoid a test failure on Linux/MIPS.
6896         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
6897         because 99 is a valid signal on Linux/MIPS.
6898
6899 2011-10-27  Bruno Haible  <bruno@clisp.org>
6900
6901         nonblocking tests: Fix test failure on Linux/MIPS.
6902         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
6903         Set to 270000.
6904
6905 2011-10-27  Bruno Haible  <bruno@clisp.org>
6906
6907         utimensat: Work around problem on Linux/hppa.
6908         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
6909         values.
6910         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
6911
6912 2011-10-25  Jim Meyering  <meyering@redhat.com>
6913
6914         maint.mk: fix a bug in sc_prohibit_stddef_without_use
6915         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
6916         after symbols like NULL, size_t, etc.
6917         Reported by Alfred M. Szmidt.
6918
6919         maint.mk: exempt ENODATA from a syntax-check rule
6920         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
6921         from the sc_prohibit_always-defined_macros syntax-check rule.
6922         Add a comment.  See this for more details:
6923         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
6924
6925 2011-10-23  Jim Meyering  <meyering@redhat.com>
6926
6927         fts: close parent dir FD before returning from post-traversal fts_read
6928         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
6929         unlink A, even though an FD open on A remained.  This is suboptimal
6930         (holding a file descriptor open longer than needed), but otherwise not
6931         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
6932         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
6933         that represents a real problem: it causes the removal of A to fail
6934         with e.g., "rm: cannot remove `A': Device or resource busy"
6935
6936         fts visits each directory twice and keeps a cache (fts_fd_ring) of
6937         directory file descriptors.  After completing the final, FTS_DP,
6938         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
6939         cache, but then proceeded to add a new FD to it via the subsequent
6940         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
6941         final file descriptor would be closed only via fts_close's call to
6942         fd_ring_clear.  Now, it is usually closed earlier, via the final
6943         FTS_DP-returning fts_read call.
6944         * lib/fts.c (restore_initial_cwd): New function, converted from
6945         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
6946         Update callers.
6947         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
6948         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
6949
6950 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
6951             Bruno Haible  <bruno@clisp.org>
6952             Jim Meyering  <jim@meyering.net>
6953
6954         readme-release: improve safety of release prep instructions.
6955         * README-release: Don't git pull all branches when only master
6956         is needed for the release process.
6957         Run make maintainer-clean before changing trees and merging.
6958         Don't try to run ./configure right after git pull in case files
6959         that influence the bootstrap process have changed, move the
6960         ./configure step to after running ./bootstrap.
6961         Don't bootstrap "one last time"... it's the first time!
6962
6963 2011-10-22  Bruno Haible  <bruno@clisp.org>
6964
6965         errno, strerror-override: Support for MSVC 10.
6966         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
6967         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
6968         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
6969         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
6970         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
6971         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
6972         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
6973         Assign values compatible with MSVC 10.
6974         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
6975         New macros.
6976         (GNULIB_defined_EWINSOCK): New macro.
6977         * lib/strerror-override.c (strerror_override): Update accordingly.
6978         * lib/strerror-override.h: Likewise.
6979         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
6980         longer equal to the corresponding errno value.
6981         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6982
6983 2011-10-22  Bruno Haible  <bruno@clisp.org>
6984
6985         perror: Recognize when test program crashes.
6986         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
6987         strerror, set gl_cv_func_perror_works to no.
6988         Reported by Daniel Richard G. <skunk@iskunk.org>.
6989
6990         perror: Fix indentation.
6991         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
6992
6993 2011-10-22  Bruno Haible  <bruno@clisp.org>
6994
6995         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
6996         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
6997         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
6998         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
6999         functions, not as a macro.
7000         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
7001         macros.
7002         (isfinite, isinf, isnan, signbit): Check overloaded functions and
7003         absence of macro.
7004         Suggested by Eric Blake.
7005         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7006
7007 2011-10-21  Bruno Haible  <bruno@clisp.org>
7008
7009         relocatable-prog-wrapper: Don't leave object files behind.
7010         * build-aux/install-reloc: Re-synchronize list of .o files to be
7011         removed with list of compilation units.
7012
7013 2011-10-20  Bruno Haible  <bruno@clisp.org>
7014
7015         openpty, posix_openpt: Remove code duplication.
7016         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
7017         * lib/openpty.c: Include <stdlib.h>.
7018         (openpty): Use posix_openpt on all platforms except IRIX.
7019         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
7020
7021 2011-10-20  Bruno Haible  <bruno@clisp.org>
7022
7023         unlockpt: Detect invalid argument.
7024         * lib/unlockpt.c: Include <fcntl.h>.
7025         (unlockpt): Check whether fd is valid, using fcntl().
7026         * modules/unlockpt (Depends-on): Add fcntl-h.
7027
7028 2011-10-20  Bruno Haible  <bruno@clisp.org>
7029
7030         openpty: Avoid compilation error on AIX 6.1.
7031         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
7032
7033 2011-10-20  Bruno Haible  <bruno@clisp.org>
7034
7035         posix_openpt: Support for OpenBSD.
7036         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
7037         (posix_openpt) [OpenBSD]: New code.
7038         * lib/grantpt.c: Include <fcntl.h>.
7039         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
7040         * modules/grantpt (Depends-on): Add fcntl-h.
7041
7042 2011-10-20  Bruno Haible  <bruno@clisp.org>
7043
7044         posix_openpt test: Coding style.
7045         * tests/test-posix_openpt.c: Use GNU coding style.
7046
7047 2011-10-20  Bruno Haible  <bruno@clisp.org>
7048
7049         grantpt: Support --avoid=pt_chown.
7050         * modules/grantpt (Files): Add lib/pty-private.h.
7051
7052 2011-10-20  Bruno Haible  <bruno@clisp.org>
7053
7054         posix_openpt: Fix autoconf macro.
7055         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
7056         unneeded check for _getpty.
7057
7058 2011-10-20  Bruno Haible  <bruno@clisp.org>
7059
7060         openpty: Update comments.
7061         * lib/openpty.c: Add comments about Minix.
7062
7063 2011-10-19  Eric Blake  <eblake@redhat.com>
7064
7065         openpty: relax license
7066         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
7067
7068         pt_chown: use configmake to simplify build
7069         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
7070
7071         ptsname and others: relax license
7072         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
7073         * modules/unlockpt (License): Likewise.
7074         * modules/pt_chown (License): Likewise.
7075         * modules/ptsname (License): Likewise.
7076         * modules/ttyname_r (License): Likewise.
7077
7078 2011-10-19  Jim Meyering  <meyering@redhat.com>
7079
7080         posix_openpt: remove spurious #endif
7081         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
7082
7083 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
7084
7085         maint.mk: Respect $(build_aux) in web-manual rule.
7086         * top/maint.mk (web-manual): Find gen-announce script in user's
7087         $(build_aux) directory instead of hard-coding 'build-aux'.
7088
7089 2011-10-19  Bruno Haible  <bruno@clisp.org>
7090
7091         posix_openpt: Fix compilation error.
7092         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
7093         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
7094         Mention the openpty module as an alternative.
7095
7096 2011-10-19  Bruno Haible  <bruno@clisp.org>
7097
7098         Support for old NeXTstep 3.3 frexp().
7099         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
7100         execution time of the test to 5 seconds.
7101         Reported by Daniel Richard G. <skunk@iskunk.org>.
7102
7103 2011-10-19  Bruno Haible  <bruno@clisp.org>
7104
7105         Support for old NeXTstep 3.3 sed.
7106         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
7107         part, use /.../, not \|...|. Escape periods in the header file name.
7108         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7109         Reported by Daniel Richard G. <skunk@iskunk.org>.
7110
7111 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7112
7113         Support for old NeXTstep 3.3 gcc.
7114         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
7115         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
7116         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
7117         * lib/spawn.in.h (_Restrict_arr_): Likewise.
7118         * lib/regex.h (_Restrict_arr_): Likewise.
7119         * lib/regex_internal.h (re_token_t): Likewise.
7120         * lib/regexec.c (check_node_accept_bytes): Likewise.
7121         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
7122
7123 2011-10-18  Eric Blake  <eblake@redhat.com>
7124
7125         posix_openpt: new module
7126         * modules/posix_openpt: New module.
7127         * m4/posix_openpt.m4: New file.
7128         * lib/posix_openpt.c: Likewise.
7129         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7130         (gl_STDLIB_H_DEFAULTS): Set defaults.
7131         * modules/stdlib (Makefile.am): Substitute macros.
7132         * lib/stdlib.in.h (posix_openpt): Declare.
7133         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
7134         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
7135         * modules/posix_openpt-tests: New test module.
7136         * tests/test-posix_openpt.c: New test.
7137
7138 2011-10-15  Bruno Haible  <bruno@clisp.org>
7139
7140         xstrtoll: Fix compilation failure.
7141         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
7142         from lib/strtol.c.
7143         * doc/posix-headers/limits.texi: Mention missing numerical limits on
7144         some platforms.
7145         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7146
7147 2011-10-15  Bruno Haible  <bruno@clisp.org>
7148
7149         vasnprintf: Optimize bit search operation.
7150         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
7151         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
7152         gl_DOUBLE_EXPONENT_LOCATION.
7153         * modules/vasnprintf (Files): Add m4/exponentd.m4.
7154         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7155         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7156         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7157         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7158         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7159         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7160         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7161         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
7162
7163 2011-10-15  Bruno Haible  <bruno@clisp.org>
7164
7165         vasnprintf: Fix comments.
7166         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
7167
7168 2011-10-14  Bruno Haible  <bruno@clisp.org>
7169
7170         Tests for module 'integer_length_ll'.
7171         * modules/integer_length_ll-tests: New file.
7172         * tests/test-integer_length_ll.c: New file.
7173
7174         New module 'integer_length_ll'.
7175         * lib/integer_length_ll.c: New file.
7176         * modules/integer_length_ll: New file.
7177
7178 2011-10-14  Bruno Haible  <bruno@clisp.org>
7179
7180         Tests for module 'integer_length_l'.
7181         * modules/integer_length_l-tests: New file.
7182         * tests/test-integer_length_l.c: New file.
7183
7184         New module 'integer_length_l'.
7185         * lib/integer_length_l.c: New file.
7186         * modules/integer_length_l: New file.
7187
7188 2011-10-14  Bruno Haible  <bruno@clisp.org>
7189
7190         Tests for module 'integer_length'.
7191         * modules/integer_length-tests: New file.
7192         * tests/test-integer_length.c: New file.
7193
7194         New module 'integer_length'.
7195         * lib/integer_length.h: New file.
7196         * lib/integer_length.c: New file.
7197         * modules/integer_length: New file.
7198
7199 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7200
7201         popen: Fix dependency conditions.
7202         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
7203
7204 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7205
7206         perror: Fix autoconf test.
7207         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
7208         <stdlib.h> and <string.h>.
7209
7210 2011-10-14  Bruno Haible  <bruno@clisp.org>
7211
7212         ffsl: Optimize on 64-bit platforms.
7213         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
7214         unrolling.
7215
7216 2011-10-13  Bruno Haible  <bruno@clisp.org>
7217
7218         ffsl: Optimize on 32-bit platforms.
7219         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
7220         use ffs() without a loop.
7221
7222         ffsl, ffsll: Optimize for GCC.
7223         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
7224         * lib/ffsl.c (GCC_BUILTIN): New macro.
7225         * lib/ffsll.c (GCC_BUILTIN): Likewise.
7226
7227 2011-10-13  Bruno Haible  <bruno@clisp.org>
7228
7229         ffs, bcopy, memset: Support symbol renaming via config.h.
7230         * lib/ffs.c: Include <config.h>.
7231         * lib/bcopy.c: Likewise.
7232         * lib/memset.c: Likewise.
7233
7234 2011-10-10  Bruno Haible  <bruno@clisp.org>
7235
7236         atanl: Simplify for platforms where 'long double' == 'double'.
7237         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7238         alternative implementation.
7239         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7240         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7241         * modules/atanl (Depends-on): Add atan. Update conditions.
7242
7243 2011-10-10  Bruno Haible  <bruno@clisp.org>
7244
7245         acosl: Simplify for platforms where 'long double' == 'double'.
7246         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7247         alternative implementation.
7248         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7249         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7250         * modules/acosl (Depends-on): Add acos. Update conditions.
7251
7252 2011-10-10  Bruno Haible  <bruno@clisp.org>
7253
7254         asinl: Simplify for platforms where 'long double' == 'double'.
7255         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7256         alternative implementation.
7257         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7258         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7259         * modules/asinl (Depends-on): Add asin. Update conditions.
7260
7261 2011-10-10  Bruno Haible  <bruno@clisp.org>
7262
7263         tanl: Simplify for platforms where 'long double' == 'double'.
7264         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7265         implementation.
7266         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7267         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7268         * modules/tanl (Depends-on): Add tan. Update conditions.
7269         (configure.ac): Don't compile trigl.c if
7270         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7271
7272 2011-10-10  Bruno Haible  <bruno@clisp.org>
7273
7274         cosl: Simplify for platforms where 'long double' == 'double'.
7275         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7276         implementation.
7277         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7278         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7279         * modules/cosl (Depends-on): Add cos. Update conditions.
7280         (configure.ac): Don't compile sincosl.c and trigl.c if
7281         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7282
7283 2011-10-10  Bruno Haible  <bruno@clisp.org>
7284
7285         sinl: Simplify for platforms where 'long double' == 'double'.
7286         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7287         implementation.
7288         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7289         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7290         * modules/sinl (Depends-on): Add sin. Update conditions.
7291         (configure.ac): Don't compile sincosl.c and trigl.c if
7292         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7293
7294 2011-10-10  Bruno Haible  <bruno@clisp.org>
7295
7296         logl: Simplify for platforms where 'long double' == 'double'.
7297         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7298         implementation.
7299         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7300         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7301         * modules/logl (Depends-on): Add log. Update conditions.
7302
7303 2011-10-10  Bruno Haible  <bruno@clisp.org>
7304
7305         expl: Simplify for platforms where 'long double' == 'double'.
7306         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
7307         implementation.
7308         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7309         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7310         * modules/expl (Depends-on): Add exp. Update conditions.
7311
7312 2011-10-10  Bruno Haible  <bruno@clisp.org>
7313
7314         sqrtl: Simplify for platforms where 'long double' == 'double'.
7315         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7316         alternative implementation.
7317         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7318         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7319         * modules/sqrtl (Depends-on): Update conditions.
7320
7321 2011-10-10  Bruno Haible  <bruno@clisp.org>
7322
7323         ldexpl: Simplify for platforms where 'long double' == 'double'.
7324         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7325         alternative implementation.
7326         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7327         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7328         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
7329
7330 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
7331
7332         ffsll: set correct witness
7333         * modules/ffsll (configure.ac): Fix typo.
7334
7335 2011-10-10  Bruno Haible  <bruno@clisp.org>
7336
7337         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
7338         * lib/printf-frexpl.c: Include <config.h>.
7339         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7340         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
7341         second time.
7342         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
7343         gl_LONG_DOUBLE_VS_DOUBLE.
7344         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
7345         conditions.
7346
7347 2011-10-10  Bruno Haible  <bruno@clisp.org>
7348
7349         frexpl: Simplify for platforms where 'long double' == 'double'.
7350         * lib/frexpl.c: Include <config.h>.
7351         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7352         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7353         time.
7354         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7355         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7356         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
7357         * modules/frexpl (Depends-on): Add frexp. Update conditions.
7358         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
7359         conditions.
7360
7361 2011-10-10  Jim Meyering  <meyering@redhat.com>
7362
7363         test-renameat: don't leave behind a temporary file
7364         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
7365           ERROR: files left in build directory after distclean:
7366           ./gltests/test-renameat.too
7367           make[1]: *** [distcleancheck] Error 1
7368         Reported by Tom G. Christensen.
7369
7370 2011-10-09  Bruno Haible  <bruno@clisp.org>
7371
7372         rint: Determine RINT_LIBM correctly on AIX 7.
7373         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
7374         directly, not only through a function pointer. Also accept an optional
7375         4th argument with extra code.
7376         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
7377         rintf() call by gcc when optimizing.
7378
7379         mathfunc.m4: Refactor.
7380         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
7381         m4 variable.
7382
7383 2011-10-09  Bruno Haible  <bruno@clisp.org>
7384
7385         rintl: Simplify for platforms where 'long double' == 'double'.
7386         * lib/rintl.c: Include <config.h>.
7387         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7388         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7389         time.
7390         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7391         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7392         * modules/rintl (Depends-on): Add rint. Update conditions.
7393
7394 2011-10-09  Bruno Haible  <bruno@clisp.org>
7395
7396         roundl: Simplify for platforms where 'long double' == 'double'.
7397         * lib/roundl.c: Include <config.h>.
7398         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7399         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7400         time.
7401         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7402         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7403         * modules/roundl (Depends-on): Add round. Update conditions.
7404
7405 2011-10-09  Bruno Haible  <bruno@clisp.org>
7406
7407         truncl: Simplify for platforms where 'long double' == 'double'.
7408         * lib/truncl.c: Include <config.h>.
7409         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7410         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7411         time.
7412         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7413         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7414         * modules/truncl (Depends-on): Add trunc. Update conditions.
7415
7416 2011-10-09  Bruno Haible  <bruno@clisp.org>
7417
7418         ceill: Simplify for platforms where 'long double' == 'double'.
7419         * lib/ceill.c: Include <config.h>.
7420         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7421         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7422         time.
7423         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7424         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7425         * modules/ceill (Depends-on): Add ceil. Update conditions.
7426
7427 2011-10-09  Bruno Haible  <bruno@clisp.org>
7428
7429         floorl: Simplify for platforms where 'long double' == 'double'.
7430         * lib/floorl.c: Include <config.h>.
7431         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
7432         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
7433         time.
7434         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7435         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7436         * modules/floorl (Depends-on): Add floor. Update conditions.
7437
7438 2011-10-09  Bruno Haible  <bruno@clisp.org>
7439
7440         rint: Fix ordering constraints.
7441         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
7442         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
7443         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
7444
7445 2011-10-09  Bruno Haible  <bruno@clisp.org>
7446
7447         copysignl: Simplify for platforms where 'long double' == 'double'.
7448         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
7449         alternative.
7450         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7451         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
7452         * modules/copysignl (Depends-on): Add copysign. Update conditions.
7453
7454 2011-10-09  Bruno Haible  <bruno@clisp.org>
7455
7456         Tests for module 'rintl'.
7457         * modules/rintl-tests: New file.
7458         * tests/test-rintl.c: New file.
7459
7460         New module 'rintl'.
7461         * lib/math.in.h (rintl): New declaration.
7462         * lib/rintl.c: New file.
7463         * m4/rintl.m4: New file.
7464         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
7465         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
7466         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
7467         * modules/rintl: New file.
7468         * tests/test-math-c++.cc: Check the declaration of rintl.
7469         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7470         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
7471         * doc/posix-functions/rintl.texi: Mention the new module.
7472
7473 2011-10-09  Bruno Haible  <bruno@clisp.org>
7474
7475         Tests for module 'rintf'.
7476         * modules/rintf-tests: New file.
7477         * tests/test-rintf.c: New file.
7478
7479         New module 'rintf'.
7480         * lib/math.in.h (rintf): New declaration.
7481         * lib/rintf.c: New file.
7482         * m4/rintf.m4: New file.
7483         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
7484         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
7485         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
7486         * modules/rintf: New file.
7487         * tests/test-math-c++.cc: Check the declaration of rintf.
7488         * doc/posix-functions/rintf.texi: Mention the new module.
7489
7490 2011-10-09  Bruno Haible  <bruno@clisp.org>
7491
7492         rint: Support for MSVC.
7493         * lib/math.in.h (rint): New declaration.
7494         * lib/rint.c: New file.
7495         * m4/rint.m4: New file.
7496         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
7497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
7498         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
7499         * modules/rint (Description): Fix.
7500         (Files): Add lib/rint.c, m4/rint.m4.
7501         (Depends-on): Add math.
7502         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
7503         gl_MATH_MODULE_INDICATOR.
7504         * tests/test-math-c++.cc: Check the declaration of rint.
7505         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7506         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
7507         * doc/posix-functions/rint.texi: Mention the replacement provided by
7508         the module.
7509
7510         rint tests: More tests.
7511         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
7512         minus-zero.h, infinity.h, nan.h.
7513         (main): Skip the test if the current rounding mode is not standard. Add
7514         tests for negative numbers, minus zero, infinity, NaN.
7515         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
7516         tests/nan.h.
7517         (Depends-on): Add isnand-nolibm.
7518
7519 2011-10-09  Bruno Haible  <bruno@clisp.org>
7520
7521         Tests for module 'copysignl'.
7522         * modules/copysignl-tests: New file.
7523         * tests/test-copysignl.c: New file.
7524
7525         New module 'copysignl'.
7526         * lib/math.in.h (copysignl): New declaration.
7527         * lib/copysignl.c: New file.
7528         * m4/copysignl.m4: New file.
7529         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
7530         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
7531         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
7532         HAVE_COPYSIGNL.
7533         * modules/copysignl: New file.
7534         * tests/test-math-c++.cc: Check the declaration of copysignl.
7535         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
7536         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
7537         * doc/posix-functions/copysignl.texi: Mention the new module.
7538
7539 2011-10-09  Bruno Haible  <bruno@clisp.org>
7540
7541         Tests for module 'copysignf'.
7542         * modules/copysignf-tests: New file.
7543         * tests/test-copysignf.c: New file.
7544
7545         New module 'copysignf'.
7546         * lib/math.in.h (copysignf): New declaration.
7547         * lib/copysignf.c: New file.
7548         * m4/copysignf.m4: New file.
7549         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
7550         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
7551         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
7552         HAVE_COPYSIGNF.
7553         * modules/copysignf: New file.
7554         * tests/test-math-c++.cc: Check the declaration of copysignf.
7555         * doc/posix-functions/copysignf.texi: Mention the new module.
7556
7557 2011-10-09  Bruno Haible  <bruno@clisp.org>
7558
7559         Ensure that HAVE_* variables are set to 1 before they are set to 0.
7560         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
7561         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
7562         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7563         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
7564         gl_SIGNAL_H_DEFAULTS.
7565
7566 2011-10-09  Bruno Haible  <bruno@clisp.org>
7567
7568         poll: Make macro safer.
7569         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
7570         ac_cv_header_poll_h is not set.
7571
7572 2011-10-09  Bruno Haible  <bruno@clisp.org>
7573
7574         copysign: Provide replacement.
7575         * lib/math.in.h (copysign): New declaration.
7576         * lib/copysign.c: New file.
7577         * m4/copysign.m4: New file.
7578         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
7579         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
7580         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
7581         HAVE_COPYSIGN.
7582         * modules/copysign (Description): Clarify.
7583         (Files): Add lib/copysign.c, m4/copysign.m4.
7584         (Depends-on): Add math, signbit.
7585         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
7586         gl_MATH_MODULE_INDICATOR.
7587         * tests/test-math-c++.cc: Check the declaration of copysign.
7588         * doc/posix-functions/copysign.texi: Mention the effects of the module
7589         on Minix and MSVC.
7590
7591 2011-10-09  Bruno Haible  <bruno@clisp.org>
7592
7593         isinf: Ensure macro on AIX 5.1.
7594         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
7595         macro.
7596         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
7597
7598 2011-10-09  Bruno Haible  <bruno@clisp.org>
7599
7600         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
7601         * modules/snprintf-posix-tests (configure.ac): Require
7602         gl_LONG_DOUBLE_VS_DOUBLE.
7603         * modules/sprintf-posix-tests (configure.ac): Likewise.
7604         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
7605         * modules/vasprintf-posix-tests (configure.ac): Likewise.
7606         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
7607         * modules/vsprintf-posix-tests (configure.ac): Likewise.
7608         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
7609         tests on platforms where 'long double' is the same as 'double'.
7610         * tests/test-sprintf-posix.h (test_function): Likewise.
7611         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7612         * tests/test-vasprintf-posix.c (test_function): Likewise.
7613
7614         *printf: Fix for platforms where 'long double' == 'double'.
7615         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
7616         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
7617         * modules/dprintf-posix (Files): Add m4/math_h.m4.
7618         * modules/fprintf-posix (Files): Likewise.
7619         * modules/obstack-printf-posix (Files): Likewise.
7620         * modules/snprintf-posix (Files): Likewise.
7621         * modules/sprintf-posix (Files): Likewise.
7622         * modules/vasnprintf (Files): Likewise.
7623         * modules/vasnprintf-posix (Files): Likewise.
7624         * modules/vasprintf-posix (Files): Likewise.
7625         * modules/vdprintf-posix (Files): Likewise.
7626         * modules/vfprintf-posix (Files): Likewise.
7627         * modules/vsnprintf-posix (Files): Likewise.
7628         * modules/vsprintf-posix (Files): Likewise.
7629         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7630         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7631         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7632         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7633         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7634         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7635         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7636
7637         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
7638         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
7639         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
7640         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
7641         'long double'.
7642         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
7643
7644         isinf: Fix for platforms where 'long double' == 'double'.
7645         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7646         Don't blindly assume 80-bit 'long double'.
7647
7648         isfinite: Fix for platforms where 'long double' == 'double'.
7649         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
7650         Don't blindly assume 80-bit 'long double'.
7651
7652         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
7653         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
7654         * modules/isfinite-tests (configure.ac): Require
7655         gl_LONG_DOUBLE_VS_DOUBLE.
7656         * modules/isinf-tests (configure.ac): Likewise.
7657         * modules/isnan-tests (configure.ac): Likewise.
7658         * modules/isnanl-tests (configure.ac): Likewise.
7659         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
7660         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
7661         tests on platforms where 'long double' is the same as 'double'.
7662         * tests/test-isinf.c (test_isinfl): Likewise.
7663         * tests/test-isnan.c (test_long_double): Likewise.
7664         * tests/test-isnanl.h (main): Likewise.
7665
7666 2011-10-08  Bruno Haible  <bruno@clisp.org>
7667
7668         Tests for module 'tanhf'.
7669         * modules/tanhf-tests: New file.
7670         * tests/test-tanhf.c: New file.
7671
7672         New module 'tanhf'.
7673         * lib/math.in.h (tanhf): New declaration.
7674         * lib/tanhf.c: New file.
7675         * m4/tanhf.m4: New file.
7676         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
7677         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
7678         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
7679         * modules/tanhf: New file.
7680         * tests/test-math-c++.cc: Check the declaration of tanhf.
7681         * doc/posix-functions/tanhf.texi: Mention the new module.
7682
7683         tanh: Use a .m4 file.
7684         * m4/tanh.m4: New file.
7685         * modules/tanh (Files): Add it.
7686         (configure.ac): Just invoke gl_FUNC_TANH.
7687
7688 2011-10-08  Bruno Haible  <bruno@clisp.org>
7689
7690         Tests for module 'coshf'.
7691         * modules/coshf-tests: New file.
7692         * tests/test-coshf.c: New file.
7693
7694         New module 'coshf'.
7695         * lib/math.in.h (coshf): New declaration.
7696         * lib/coshf.c: New file.
7697         * m4/coshf.m4: New file.
7698         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
7699         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
7700         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
7701         * modules/coshf: New file.
7702         * tests/test-math-c++.cc: Check the declaration of coshf.
7703         * doc/posix-functions/coshf.texi: Mention the new module.
7704
7705         cosh: Use a .m4 file.
7706         * m4/cosh.m4: New file.
7707         * modules/cosh (Files): Add it.
7708         (configure.ac): Just invoke gl_FUNC_COSH.
7709
7710 2011-10-08  Bruno Haible  <bruno@clisp.org>
7711
7712         Tests for module 'sinhf'.
7713         * modules/sinhf-tests: New file.
7714         * tests/test-sinhf.c: New file.
7715
7716         New module 'sinhf'.
7717         * lib/math.in.h (sinhf): New declaration.
7718         * lib/sinhf.c: New file.
7719         * m4/sinhf.m4: New file.
7720         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
7721         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
7722         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
7723         * modules/sinhf: New file.
7724         * tests/test-math-c++.cc: Check the declaration of sinhf.
7725         * doc/posix-functions/sinhf.texi: Mention the new module.
7726
7727         sinh: Use a .m4 file.
7728         * m4/sinh.m4: New file.
7729         * modules/sinh (Files): Add it.
7730         (configure.ac): Just invoke gl_FUNC_SINH.
7731
7732 2011-10-08  Bruno Haible  <bruno@clisp.org>
7733
7734         Tests for module 'atan2f'.
7735         * modules/atan2f-tests: New file.
7736         * tests/test-atan2f.c: New file.
7737
7738         New module 'atan2f'.
7739         * lib/math.in.h (atan2f): New declaration.
7740         * lib/atan2f.c: New file.
7741         * m4/atan2f.m4: New file.
7742         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
7743         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
7744         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
7745         * modules/atan2f: New file.
7746         * tests/test-math-c++.cc: Check the declaration of atan2f.
7747         * doc/posix-functions/atan2f.texi: Mention the new module.
7748
7749         atan2: Use a .m4 file.
7750         * m4/atan2.m4: New file.
7751         * modules/atan2 (Files): Add it.
7752         (configure.ac): Just invoke gl_FUNC_ATAN2.
7753
7754 2011-10-08  Bruno Haible  <bruno@clisp.org>
7755
7756         Tests for module 'atanf'.
7757         * modules/atanf-tests: New file.
7758         * tests/test-atanf.c: New file.
7759
7760         New module 'atanf'.
7761         * lib/math.in.h (atanf): New declaration.
7762         * lib/atanf.c: New file.
7763         * m4/atanf.m4: New file.
7764         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
7765         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
7766         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
7767         * modules/atanf: New file.
7768         * tests/test-math-c++.cc: Check the declaration of atanf.
7769         * doc/posix-functions/atanf.texi: Mention the new module.
7770
7771         atan: Use a .m4 file.
7772         * m4/atan.m4: New file.
7773         * modules/atan (Files): Add it.
7774         (configure.ac): Just invoke gl_FUNC_ATAN.
7775
7776 2011-10-08  Bruno Haible  <bruno@clisp.org>
7777
7778         Tests for module 'acosf'.
7779         * modules/acosf-tests: New file.
7780         * tests/test-acosf.c: New file.
7781
7782         New module 'acosf'.
7783         * lib/math.in.h (acosf): New declaration.
7784         * lib/acosf.c: New file.
7785         * m4/acosf.m4: New file.
7786         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
7787         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
7788         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
7789         * modules/acosf: New file.
7790         * tests/test-math-c++.cc: Check the declaration of acosf.
7791         * doc/posix-functions/acosf.texi: Mention the new module.
7792
7793         acos: Use a .m4 file.
7794         * m4/acos.m4: New file.
7795         * modules/acos (Files): Add it.
7796         (configure.ac): Just invoke gl_FUNC_ACOS.
7797
7798 2011-10-08  Bruno Haible  <bruno@clisp.org>
7799
7800         Tests for module 'asinf'.
7801         * modules/asinf-tests: New file.
7802         * tests/test-asinf.c: New file.
7803
7804         New module 'asinf'.
7805         * lib/math.in.h (asinf): New declaration.
7806         * lib/asinf.c: New file.
7807         * m4/asinf.m4: New file.
7808         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
7809         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
7810         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
7811         * modules/asinf: New file.
7812         * tests/test-math-c++.cc: Check the declaration of asinf.
7813         * doc/posix-functions/asinf.texi: Mention the new module.
7814
7815         asin: Use a .m4 file.
7816         * m4/asin.m4: New file.
7817         * modules/asin (Files): Add it.
7818         (configure.ac): Just invoke gl_FUNC_ASIN.
7819
7820 2011-10-08  Bruno Haible  <bruno@clisp.org>
7821
7822         Tests for module 'tanf'.
7823         * modules/tanf-tests: New file.
7824         * tests/test-tanf.c: New file.
7825
7826         New module 'tanf'.
7827         * lib/math.in.h (tanf): New declaration.
7828         * lib/tanf.c: New file.
7829         * m4/tanf.m4: New file.
7830         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
7831         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
7832         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
7833         * modules/tanf: New file.
7834         * tests/test-math-c++.cc: Check the declaration of tanf.
7835         * doc/posix-functions/tanf.texi: Mention the new module.
7836
7837         tan: Use a .m4 file.
7838         * m4/tan.m4: New file.
7839         * modules/tan (Files): Add it.
7840         (configure.ac): Just invoke gl_FUNC_TAN.
7841
7842 2011-10-08  Bruno Haible  <bruno@clisp.org>
7843
7844         Tests for module 'cosf'.
7845         * modules/cosf-tests: New file.
7846         * tests/test-cosf.c: New file.
7847
7848         New module 'cosf'.
7849         * lib/math.in.h (cosf): New declaration.
7850         * lib/cosf.c: New file.
7851         * m4/cosf.m4: New file.
7852         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
7853         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
7854         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
7855         * modules/cosf: New file.
7856         * tests/test-math-c++.cc: Check the declaration of cosf.
7857         * doc/posix-functions/cosf.texi: Mention the new module.
7858
7859         cos: Use a .m4 file.
7860         * m4/cos.m4: New file.
7861         * modules/cos (Files): Add it.
7862         (configure.ac): Just invoke gl_FUNC_COS.
7863
7864 2011-10-08  Bruno Haible  <bruno@clisp.org>
7865
7866         Tests for module 'sinf'.
7867         * modules/sinf-tests: New file.
7868         * tests/test-sinf.c: New file.
7869
7870         New module 'sinf'.
7871         * lib/math.in.h (sinf): New declaration.
7872         * lib/sinf.c: New file.
7873         * m4/sinf.m4: New file.
7874         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
7875         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
7876         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
7877         * modules/sinf: New file.
7878         * tests/test-math-c++.cc: Check the declaration of sinf.
7879         * doc/posix-functions/sinf.texi: Mention the new module.
7880
7881         sin: Use a .m4 file.
7882         * m4/sin.m4: New file.
7883         * modules/sin (Files): Add it.
7884         (configure.ac): Just invoke gl_FUNC_SIN.
7885
7886 2011-10-08  Bruno Haible  <bruno@clisp.org>
7887
7888         Tests for module 'powf'.
7889         * modules/powf-tests: New file.
7890         * tests/test-powf.c: New file.
7891
7892         New module 'powf'.
7893         * lib/math.in.h (powf): New declaration.
7894         * lib/powf.c: New file.
7895         * m4/powf.m4: New file.
7896         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
7897         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
7898         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
7899         * modules/powf: New file.
7900         * tests/test-math-c++.cc: Check the declaration of powf.
7901         * doc/posix-functions/powf.texi: Mention the new module.
7902
7903         pow: Use a .m4 file.
7904         * m4/pow.m4: New file.
7905         * modules/pow (Files): Add it.
7906         (configure.ac): Just invoke gl_FUNC_POW.
7907
7908 2011-10-08  Bruno Haible  <bruno@clisp.org>
7909
7910         Tests for module 'log10f'.
7911         * modules/log10f-tests: New file.
7912         * tests/test-log10f.c: New file.
7913
7914         New module 'log10f'.
7915         * lib/math.in.h (log10f): New declaration.
7916         * lib/log10f.c: New file.
7917         * m4/log10f.m4: New file.
7918         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
7919         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
7920         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
7921         * modules/log10f: New file.
7922         * tests/test-math-c++.cc: Check the declaration of log10f.
7923         * doc/posix-functions/log10f.texi: Mention the new module.
7924
7925         log10: Use a .m4 file.
7926         * m4/log10.m4: New file.
7927         * modules/log10 (Files): Add it.
7928         (configure.ac): Just invoke gl_FUNC_LOG10.
7929
7930 2011-10-08  Bruno Haible  <bruno@clisp.org>
7931
7932         Tests for module 'logf'.
7933         * modules/logf-tests: New file.
7934         * tests/test-logf.c: New file.
7935
7936         New module 'logf'.
7937         * lib/math.in.h (logf): New declaration.
7938         * lib/logf.c: New file.
7939         * m4/logf.m4: New file.
7940         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
7941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
7942         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
7943         * modules/logf: New file.
7944         * tests/test-math-c++.cc: Check the declaration of logf.
7945         * doc/posix-functions/logf.texi: Mention the new module.
7946
7947         log: Use a .m4 file.
7948         * m4/log.m4: New file.
7949         * modules/log (Files): Add it.
7950         (configure.ac): Just invoke gl_FUNC_LOG.
7951
7952 2011-10-08  Bruno Haible  <bruno@clisp.org>
7953
7954         Tests for module 'expf'.
7955         * modules/expf-tests: New file.
7956         * tests/test-expf.c: New file.
7957
7958         New module 'expf'.
7959         * lib/math.in.h (expf): New declaration.
7960         * lib/expf.c: New file.
7961         * m4/expf.m4: New file.
7962         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
7963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
7964         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
7965         * modules/expf: New file.
7966         * tests/test-math-c++.cc: Check the declaration of expf.
7967         * doc/posix-functions/expf.texi: Mention the new module.
7968
7969         exp: Use a .m4 file.
7970         * m4/exp.m4: New file.
7971         * modules/exp (Files): Add it.
7972         (configure.ac): Just invoke gl_FUNC_EXP.
7973
7974 2011-10-08  Bruno Haible  <bruno@clisp.org>
7975
7976         Tests for module 'sqrtf'.
7977         * modules/sqrtf-tests: New file.
7978         * tests/test-sqrtf.c: New file.
7979
7980         New module 'sqrtf'.
7981         * lib/math.in.h (sqrtf): New declaration.
7982         * lib/sqrtf.c: New file.
7983         * m4/sqrtf.m4: New file.
7984         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
7985         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
7986         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
7987         * modules/sqrtf: New file.
7988         * tests/test-math-c++.cc: Check the declaration of sqrtf.
7989         * doc/posix-functions/sqrtf.texi: Mention the new module.
7990
7991 2011-10-08  Bruno Haible  <bruno@clisp.org>
7992
7993         Tests: Avoid link failures w.r.t. libintl.
7994         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
7995         $(LIBINTL).
7996         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
7997         $(LIBINTL).
7998         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
7999         against $(LIBINTL).
8000         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
8001         $(LIBINTL).
8002         * modules/openat-tests (Makefile.am): Link test-fchmodat against
8003         $(LIBINTL).
8004         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
8005
8006 2011-10-08  Bruno Haible  <bruno@clisp.org>
8007
8008         pow tests: Defeat compiler optimizations.
8009         * tests/test-pow.c (main): Assign arguments to x and y before use.
8010
8011 2011-10-08  Bruno Haible  <bruno@clisp.org>
8012
8013         gnulib-tool: Improve last commit.
8014         * gnulib-tool (func_modules_transitive_closure): Simplify code.
8015         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
8016         ignore dependencies that are not among the modules list.
8017
8018 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
8019
8020         gnulib-tool: don't follow dependencies to avoided modules
8021         This fixes a bug that is related to the previous one.
8022         * gnulib-tool (func_modules_transitive_closure)
8023         (func_emit_autoconf_snippets):
8024         Check whether a dependency is acceptable before using it.
8025         (--extract-dependencies): Report an error if --avoid is also used,
8026         since this combination of options is not yet supported.
8027
8028         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
8029         Problem reported by Peter Dyballa in
8030         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
8031         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
8032         when echoing "$condition".
8033
8034 2011-10-07  Bruno Haible  <bruno@clisp.org>
8035
8036         Fix documentation about math functions on MacOS X.
8037         * doc/posix-functions/exp2.texi: Don't say the function is missing on
8038         MacOS X 10.5.
8039         * doc/posix-functions/fdim.texi: Likewise.
8040         * doc/posix-functions/feclearexcept.texi: Likewise.
8041         * doc/posix-functions/fegetenv.texi: Likewise.
8042         * doc/posix-functions/fegetround.texi: Likewise.
8043         * doc/posix-functions/feholdexcept.texi: Likewise.
8044         * doc/posix-functions/feraiseexcept.texi: Likewise.
8045         * doc/posix-functions/fesetenv.texi: Likewise.
8046         * doc/posix-functions/fesetround.texi: Likewise.
8047         * doc/posix-functions/fetestexcept.texi: Likewise.
8048         * doc/posix-functions/feupdateenv.texi: Likewise.
8049         * doc/posix-functions/fmax.texi: Likewise.
8050         * doc/posix-functions/fmin.texi: Likewise.
8051         * doc/posix-functions/log2.texi: Likewise.
8052         * doc/posix-functions/modff.texi: Likewise.
8053         * doc/posix-functions/nan.texi: Likewise.
8054         * doc/posix-functions/nanf.texi: Likewise.
8055         * doc/posix-functions/nextafterf.texi: Likewise.
8056         * doc/posix-functions/remquo.texi: Likewise.
8057
8058 2011-10-07  Bruno Haible  <bruno@clisp.org>
8059
8060         modff: Drop assumption about library that defines modff.
8061         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
8062         AC_CHECK_FUNCS.
8063         * modules/modff (Files): Add m4/mathfunc.m4.
8064
8065 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
8066
8067         raise tests: Avoid a GCC warning.
8068         * tests/test-raise.c (handler): Use _Noreturn.
8069
8070 2011-10-07  Bruno Haible  <bruno@clisp.org>
8071
8072         Tests for module 'ldexpf'.
8073         * modules/ldexpf-tests: New file.
8074         * tests/test-ldexpf.c: New file.
8075
8076         New module 'ldexpf'.
8077         * lib/math.in.h (ldexpf): New declaration.
8078         * lib/ldexpf.c: New file.
8079         * m4/ldexpf.m4: New file.
8080         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
8081         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
8082         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
8083         * modules/ldexpf: New file.
8084         * tests/test-math-c++.cc: Check the declaration of ldexpf.
8085         * doc/posix-functions/ldexpf.texi: Mention the new module.
8086
8087 2011-10-06  Bruno Haible  <bruno@clisp.org>
8088
8089         frexpf: Work around problems on IRIX and mingw.
8090         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
8091         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
8092         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
8093         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
8094         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
8095         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
8096         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
8097
8098 2011-10-06  Bruno Haible  <bruno@clisp.org>
8099
8100         fabsf: Drop assumption about library that defines fabsf.
8101         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
8102         AC_CHECK_FUNCS.
8103         * modules/fabsf (Files): Add m4/mathfunc.m4.
8104
8105 2011-10-06  Bruno Haible  <bruno@clisp.org>
8106
8107         frexpf: Drop assumption about library that defines frexpf.
8108         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
8109         'int *', 'float *', 'long double *', 'float', 'long double'.
8110         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
8111         AC_CHECK_FUNCS.
8112         * modules/frexpf (Files): Add m4/mathfunc.m4.
8113
8114         Tests for module 'frexpf'.
8115         * modules/frexpf-tests: New file.
8116         * tests/test-frexpf.c: New file.
8117
8118         New module 'frexpf'.
8119         * lib/math.in.h (frexpf): New declaration.
8120         * lib/frexpf.c: New file.
8121         * m4/frexpf.m4: New file.
8122         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
8123         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
8124         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
8125         * modules/frexpf: New file.
8126         * tests/test-math-c++.cc: Check the declaration of frexpf.
8127         * doc/posix-functions/frexpf.texi: Mention the new module.
8128
8129 2011-10-06  Bruno Haible  <bruno@clisp.org>
8130
8131         math: Sort function declarations of math.in.h.
8132         * lib/math.in.h (frexp, logb): Move declarations.
8133
8134 2011-10-05  Bruno Haible  <bruno@clisp.org>
8135
8136         Tests for module 'modff'.
8137         * modules/modff-tests: New file.
8138         * tests/test-modff.c: New file.
8139
8140         New module 'modff'.
8141         * lib/math.in.h (modff): New declaration.
8142         * lib/modff.c: New file.
8143         * m4/modff.m4: New file.
8144         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
8145         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
8146         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
8147         * modules/modff: New file.
8148         * tests/test-math-c++.cc: Check the declaration of modff.
8149         * doc/posix-functions/modff.texi: Mention the new module.
8150
8151         modf tests: Make test sharper.
8152         * tests/test-modf.c (main): Strengthen upper bound.
8153
8154         modf: Use a .m4 file.
8155         * m4/modf.m4: New file.
8156         * modules/modf (Files): Add it.
8157         (configure.ac): Just invoke gl_FUNC_MODF.
8158
8159 2011-10-05  Bruno Haible  <bruno@clisp.org>
8160
8161         Tests for module 'fmodf'.
8162         * modules/fmodf-tests: New file.
8163         * tests/test-fmodf.c: New file.
8164
8165         New module 'fmodf'.
8166         * lib/math.in.h (fmodf): New declaration.
8167         * lib/fmodf.c: New file.
8168         * m4/fmodf.m4: New file.
8169         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
8170         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
8171         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
8172         * modules/fmodf: New file.
8173         * tests/test-math-c++.cc: Check the declaration of fmodf.
8174         * doc/posix-functions/fmodf.texi: Mention the new module.
8175
8176         fmod: Use a .m4 file.
8177         * m4/fmod.m4: New file.
8178         * modules/fmod (Files): Add it.
8179         (configure.ac): Just invoke gl_FUNC_FMOD.
8180
8181 2011-10-05  Bruno Haible  <bruno@clisp.org>
8182
8183         Tests for module 'fabsf'.
8184         * modules/fabsf-tests: New file.
8185         * tests/test-fabsf.c: New file.
8186
8187         New module 'fabsf'.
8188         * lib/math.in.h (fabsf): New declaration.
8189         * lib/fabsf.c: New file.
8190         * m4/fabsf.m4: New file.
8191         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
8192         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
8193         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
8194         * modules/fabsf: New file.
8195         * tests/test-math-c++.cc: Check the declaration of fabsf.
8196         * doc/posix-functions/fabsf.texi: Mention the new module.
8197
8198         fabs: Use a .m4 file.
8199         * m4/fabs.m4: New file.
8200         * modules/fabs (Files): Add it.
8201         (configure.ac): Just invoke gl_FUNC_FABS.
8202
8203 2011-10-05  Jim Meyering  <meyering@redhat.com>
8204
8205         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
8206         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
8207         ls -lL regression introduced in coreutils-8.12, it does so at the
8208         cost of an additional stat call in the common case.  Besides, now
8209         that the kernel change that prompted commit 95f7c57f has been reverted
8210         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
8211         we have no use for commit 95f7c57f, "file-has-acl: use
8212         acl_extended_file_nofollow if available".
8213
8214 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
8215
8216         file-has-acl: revert unintended change in behavior of ls -L
8217         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
8218         derived from...
8219         (file_has_acl): ...code here.  Call it.
8220         This problem was introduced with 2011-07-22 commit 95f7c57f,
8221         "file-has-acl: use acl_extended_file_nofollow if available".
8222         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
8223
8224 2011-10-03  Bruno Haible  <bruno@clisp.org>
8225
8226         poll: Avoid link errors on MSVC.
8227         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
8228         * modules/poll (Depends-on): Add sockets.
8229         (Link): New section.
8230         * NEWS: Mention the change.
8231         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
8232         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
8233         $(LIB_POLL) instead of $(LIBSOCKET).
8234
8235 2011-10-03  Bruno Haible  <bruno@clisp.org>
8236
8237         sys_select tests: Fix link error on MSVC 9.
8238         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
8239         with $(LIB_SELECT) instead of $(LIBSOCKET).
8240
8241 2011-10-03  Bruno Haible  <bruno@clisp.org>
8242
8243         sys_select: Fix compilation error on mingw.
8244         * lib/sys_select.in.h: On native Windows, include <io.h>.
8245
8246 2011-10-03  Bruno Haible  <bruno@clisp.org>
8247
8248         wmemset: Support for MSVC.
8249         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
8250         whether wmemset() exists.
8251
8252 2011-10-03  Bruno Haible  <bruno@clisp.org>
8253
8254         wmemmove: Support for MSVC.
8255         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
8256         whether wmemmove() exists.
8257
8258 2011-10-03  Bruno Haible  <bruno@clisp.org>
8259
8260         wmemcpy: Support for MSVC.
8261         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
8262         whether wmemcpy() exists.
8263
8264 2011-10-03  Bruno Haible  <bruno@clisp.org>
8265
8266         wmemcmp: Support for MSVC.
8267         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
8268         whether wmemcmp() exists.
8269
8270 2011-10-03  Bruno Haible  <bruno@clisp.org>
8271
8272         wmemchr: Support for MSVC.
8273         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
8274         whether wmemchr() exists.
8275
8276 2011-10-03  Bruno Haible  <bruno@clisp.org>
8277
8278         glthread/*, strsignal: Support for MSVC.
8279         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
8280         including <winsock.h> on MSVC 9.
8281         * lib/glthread/lock.h: Likewise.
8282         * lib/glthread/thread.h: Likewise.
8283         * lib/glthread/tls.h: Likewise.
8284         * lib/glthread/yield.h: Likewise.
8285         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
8286         if HAVE_UNISTD_H is false.
8287         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
8288
8289 2011-10-03  Bruno Haible  <bruno@clisp.org>
8290
8291         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
8292         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
8293         Set to 100000.
8294
8295 2011-10-03  Bruno Haible  <bruno@clisp.org>
8296
8297         acl: Fix specification.
8298         * lib/file-has-acl.c (file_has_acl): Fix specification.
8299
8300 2011-10-03  Bruno Haible  <bruno@clisp.org>
8301
8302         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
8303         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
8304         (compute_curr_prefix, shared_library_fullname,
8305         find_shared_library_fullname, get_shared_library_fullname, relocate):
8306         Use it together with PIC && INSTALLDIR.
8307         Reported by <jojelino@gmail.com>
8308         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
8309
8310 2011-10-01  Jim Meyering  <meyering@redhat.com>
8311
8312         maint.mk: adjust a release-related rule not to require use of gzip
8313         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
8314         Instead, check each file in $(DIST_ARCHIVES).  This is better for
8315         projects that build only .tar.xz files.  Also fix an erroneous test.
8316
8317         test-linkat: don't leave behind a temporary file
8318         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
8319         Otherwise, coreutils' "make distcheck" would fail with this:
8320           Only in /c/cu/tests/torture/coreutils/test/\
8321             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
8322           make[2]: *** [my-distcheck] Error 1
8323
8324         float, math: add omitted file
8325         * lib/itold.c: Add file, required for yesterday's float change.
8326
8327 2011-10-01  Bruno Haible  <bruno@clisp.org>
8328
8329         isinf: Fix for OpenBSD/x86.
8330         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
8331         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
8332         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
8333
8334 2011-10-01  Bruno Haible  <bruno@clisp.org>
8335
8336         isfinite: Fix syntax error in configure test.
8337         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
8338
8339         isfinite: Fix typo.
8340         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
8341         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
8342
8343 2011-10-01  Bruno Haible  <bruno@clisp.org>
8344
8345         nonblocking tests: Fix test failure on Linux/IA-64.
8346         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
8347         Set to 270000.
8348
8349 2011-10-01  Bruno Haible  <bruno@clisp.org>
8350
8351         mkfifoat tests: Fix a test failure on mingw.
8352         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
8353         with error ENOSYS.
8354
8355 2011-09-30  Bruno Haible  <bruno@clisp.org>
8356
8357         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
8358         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
8359         'long double'. Set REPLACE_ITOLD.
8360         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
8361         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
8362         * lib/itold.c: New file.
8363         * modules/float (Files): Add lib/itold.c.
8364         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
8365         (Makefile.am): Substitute REPLACE_ITOLD.
8366         * modules/math (Depends-on): Add float.
8367         (Makefile.am): Substitute REPLACE_ITOLD.
8368         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
8369         * doc/posix-headers/math.texi: Likewise.
8370         * doc/posix-functions/logl.texi: Likewise.
8371
8372 2011-09-30  Bruno Haible  <bruno@clisp.org>
8373
8374         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
8375         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
8376         Set to 140000.
8377
8378 2011-09-30  Bruno Haible  <bruno@clisp.org>
8379
8380         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
8381         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
8382         invocation, say "right after AC_PROG_CC_STDC", not "right after
8383         AC_PROG_CC".
8384         Reported by Gary V. Vaughan <gary@gnu.org>.
8385
8386 2011-09-30  Bruno Haible  <bruno@clisp.org>
8387
8388         Centralize C99 requirement.
8389         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
8390         * modules/stdarg (configure.ac-early): Invoke it instead of
8391         AC_PROG_CC_STDC.
8392         Reported by Gary V. Vaughan and Paul Eggert.
8393
8394 2011-09-29  Bruno Haible  <bruno@clisp.org>
8395
8396         float: Fix LDBL_MAX value on Linux/PowerPC.
8397         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
8398         on Linux/PowerPC.
8399         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
8400         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
8401         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
8402         platform.
8403         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
8404
8405 2011-09-29  Bruno Haible  <bruno@clisp.org>
8406
8407         doc: Improve doc about gl_EARLY.
8408         * doc/gnulib-tool.texi (Initial import): Mention where to place an
8409         AC_PROG_CC_STDC invocation.
8410         Reported by Gary V. Vaughan <gary@gnu.org>.
8411
8412 2011-09-28  Bruno Haible  <bruno@clisp.org>
8413
8414         fgetc, fputc, fread, fwrite tests: Fix link error.
8415         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
8416         on non-MSVC platforms.
8417         * tests/test-fputc.c (main): Likewise.
8418         * tests/test-fread.c (main): Likewise.
8419         * tests/test-fwrite.c (main): Likewise.
8420         Reported by Jim Meyering.
8421
8422 2011-09-27  Bruno Haible  <bruno@clisp.org>
8423
8424         fputc, fwrite tests: Avoid test failure on MSVC.
8425         * tests/test-fgetc.c: Include msvc-inval.h.
8426         (main): Invoke gl_msvc_inval_ensure_handler.
8427         * tests/test-fputc.c: Include msvc-inval.h.
8428         (main): Invoke gl_msvc_inval_ensure_handler.
8429         * tests/test-fread.c: Include msvc-inval.h.
8430         (main): Invoke gl_msvc_inval_ensure_handler.
8431         * tests/test-fwrite.c: Include msvc-inval.h.
8432         (main): Invoke gl_msvc_inval_ensure_handler.
8433         * modules/fgetc-tests (Depends-on): Add msvc-inval.
8434         * modules/fputc-tests (Depends-on): Likewise.
8435         * modules/fread-tests (Depends-on): Likewise.
8436         * modules/fwrite-tests (Depends-on): Likewise.
8437
8438 2011-09-27  Bruno Haible  <bruno@clisp.org>
8439
8440         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
8441         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
8442         (raise): Remove older, duplicated declaration.
8443         (_gl_raise_SIGPIPE): New declaration.
8444         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
8445         (rpl_raise): Remove function.
8446         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
8447         a gnulib-defined SIGPIPE here.
8448         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
8449         'sigprocmask' has detected missing signal-blocking and the module
8450         'sigpipe' is enabled.
8451         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8452
8453 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
8454
8455         base64-tests: avoid memory leak
8456         * tests/test-base64.c (main): Plug memory leak.
8457
8458         base32: new module
8459         * modules/base32: New module.
8460         * lib/base32.c: New file.
8461         * lib/base32.h: Likewise.
8462         * m4/base32.m4: Likewise.
8463         * modules/base32-tests: New test.
8464         * tests/test-base32.c: Likewise.
8465         * MODULES.html.sh (Misc): Mention it.
8466
8467 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8468
8469         gnulib: use more-standard license notice wording
8470         * gnulib-tool (func_emit_copyright_notice): When emitting a
8471         license notice into a file, use the standard wording as suggested
8472         by the current information for GNU maintainers, except say "file"
8473         rather than "program".  The new wording gives a license version
8474         number, which addresses an issue raised by Glenn Morris in
8475         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
8476         * m4/onceonly.m4: Use that same wording here, too.
8477
8478         dup2: minor simplification
8479         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
8480         as lib/dup2.c no longer uses 'inline'.
8481
8482 2011-09-25  Bruno Haible  <bruno@clisp.org>
8483
8484         strings: Fix compilation error on MSVC.
8485         * lib/strings.in.h: Include <stddef.h> for size_t.
8486
8487 2011-09-25  Bruno Haible  <bruno@clisp.org>
8488
8489         fflush et al.: Document limitation on MSVC.
8490         * doc/posix-functions/fflush.texi: Document possible crash in handling
8491         mode other than DEFAULT_HANDLING.
8492         * doc/posix-functions/fgetc.texi: Likewise.
8493         * doc/posix-functions/fputc.texi: Likewise.
8494         * doc/posix-functions/fread.texi: Likewise.
8495         * doc/posix-functions/fwrite.texi: Likewise.
8496
8497 2011-09-25  Bruno Haible  <bruno@clisp.org>
8498
8499         msvc-inval: Allow three invalid parameter handling modes.
8500         * lib/msvc-inval.h: Don't include <stdlib.h> here.
8501         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
8502         macros.
8503         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
8504         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
8505         SANE_LIBRARY_HANDLING as a no-op.
8506         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
8507         <stdlib.h>.
8508         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
8509
8510 2011-09-25  Bruno Haible  <bruno@clisp.org>
8511
8512         msvc-inval: Make handler multithread-safe.
8513         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
8514         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
8515         declarations.
8516         (gl_msvc_inval_current): New declaration.
8517         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8518         Operate on the structure returned by gl_msvc_inval_current().
8519         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
8520         Remove varaiables.
8521         (tls_index, tls_initialized): New variables.
8522         (not_per_thread): New variable.
8523         (gl_msvc_inval_current): New function.
8524         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
8525         returned by gl_msvc_inval_current().
8526
8527 2011-09-25  Bruno Haible  <bruno@clisp.org>
8528
8529         msvc-inval: Install handler globally.
8530         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
8531         !_MSC_VER.
8532         (gl_msvc_invalid_parameter_handler): Remove declaration.
8533         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
8534         declarations.
8535         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
8536         Install the handler globally, don't uninstall it.
8537         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
8538         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
8539         currently valid, call RaiseException instead.
8540         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
8541         for !_MSC_VER.
8542
8543 2011-09-25  Bruno Haible  <bruno@clisp.org>
8544
8545         strerror_r-posix: Fix for MSVC 9.
8546         * lib/strerror_r.c (local_snprintf): New function.
8547         (snprintf): Define to local_snprintf, not to _snprintf.
8548
8549 2011-09-25  Bruno Haible  <bruno@clisp.org>
8550
8551         ftruncate: Support for MSVC 9.
8552         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
8553         (chsize_nothrow): New function.
8554         (chsize): Redefine as a macro.
8555         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
8556         * modules/ftruncate (Depends-on): Add msvc-inval.
8557
8558 2011-09-25  Bruno Haible  <bruno@clisp.org>
8559
8560         New module 'fstat'.
8561         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
8562         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
8563         * lib/fchdir.c (rpl_fstat): Remove function.
8564         * m4/fstat.m4: New file.
8565         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
8566         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
8567         declared.
8568         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
8569         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
8570         * modules/fstat: New file.
8571         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
8572         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
8573         is set.
8574         * doc/posix-functions/fstat.texi: Mention the new module and the
8575         problem on MSVC.
8576         * NEWS: Mention the change.
8577         * modules/acl (Depends-on): Add fstat.
8578         * modules/chdir-safer (Depends-on): Likewise.
8579         * modules/chown (Depends-on): Likewise.
8580         * modules/copy-file (Depends-on): Likewise.
8581         * modules/fchdir (Depends-on): Likewise.
8582         * modules/fdopendir (Depends-on): Likewise.
8583         * modules/fopen (Depends-on): Likewise.
8584         * modules/fts (Depends-on): Likewise.
8585         * modules/getcwd (Depends-on): Likewise.
8586         * modules/isapipe (Depends-on): Likewise.
8587         * modules/linkat (Depends-on): Likewise.
8588         * modules/lseek (Depends-on): Likewise.
8589         * modules/mkdir-p (Depends-on): Likewise.
8590         * modules/open (Depends-on): Likewise.
8591         * modules/openat (Depends-on): Likewise.
8592         * modules/read-file (Depends-on): Likewise.
8593         * modules/renameat (Depends-on): Likewise.
8594         * modules/utimens (Depends-on): Likewise.
8595
8596 2011-09-25  Bruno Haible  <bruno@clisp.org>
8597
8598         linkat: Fix compilation on MSVC 9.
8599         * lib/linkat.c: Don't include <stdint.h>.
8600
8601 2011-09-25  Bruno Haible  <bruno@clisp.org>
8602
8603         fclose: Support for MSVC 9.
8604         * lib/fclose.c: Include msvc-inval.h.
8605         (fclose_nothrow): New function.
8606         (rpl_fclose): Use it.
8607         * modules/fclose (Depends-on): Add msvc-inval.
8608         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
8609
8610 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8611
8612         dup2: minor simplifications
8613         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
8614         that it's a performance win.
8615         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
8616         ! defined __CYGWIN__)" to "ifdef F_GETFL".
8617
8618 2011-09-24  Jim Meyering  <meyering@redhat.com>
8619
8620         test-futimens: avoid a warning from gcc -Wshadow
8621         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
8622         to avoid a shadowing warning.
8623
8624 2011-09-24  Bruno Haible  <bruno@clisp.org>
8625
8626         fdopen: Support for MSVC 9.
8627         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
8628         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
8629         * lib/fdopen.c: Include msvc-inval.h.
8630         (fdopen_nothrow): New function.
8631         (rpl_fdopen): Use it.
8632         * modules/fdopen (Depends-on): Add msvc-inval.
8633         * modules/fclose-tests (Depends-on): Add fdopen.
8634         * modules/fflush-tests (Depends-on): Likewise.
8635         * modules/fgetc-tests (Depends-on): Likewise.
8636         * modules/fputc-tests (Depends-on): Likewise.
8637         * modules/fread-tests (Depends-on): Likewise.
8638         * modules/freopen-tests (Depends-on): Likewise.
8639         * modules/fseeko-tests (Depends-on): Likewise.
8640         * modules/ftello-tests (Depends-on): Likewise.
8641         * modules/fwrite-tests  (Depends-on): Likewise.
8642         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
8643
8644 2011-09-24  Bruno Haible  <bruno@clisp.org>
8645
8646         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
8647         * modules/fgetc-tests (Depends-on): Add unistd.
8648         * modules/fputc-tests (Depends-on): Likewise.
8649         * modules/fread-tests (Depends-on): Likewise.
8650         * modules/fwrite-tests (Depends-on): Likewise.
8651
8652 2011-09-24  Bruno Haible  <bruno@clisp.org>
8653
8654         dup: Simplify autoconf test.
8655         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
8656         on gl_MSVC_INVAL's result.
8657
8658 2011-09-24  Bruno Haible  <bruno@clisp.org>
8659
8660         Tests for function fwrite().
8661         * modules/fwrite-tests: New file.
8662         * tests/test-fwrite.c: New file.
8663         * modules/stdio-tests (Depends-on): Add fwrite-tests.
8664
8665         Tests for function fread().
8666         * modules/fread-tests: New file.
8667         * tests/test-fread.c: New file.
8668         * modules/stdio-tests (Depends-on): Add fread-tests.
8669
8670         Activate fputc tests.
8671         * modules/stdio-tests (Depends-on): Add fputc-tests.
8672
8673         Enhance fgetc, fputc tests.
8674         * tests/test-fgetc.c (main): Also test the stream's error indicator.
8675         * tests/test-fputc.c (main): Likewise.
8676
8677 2011-09-24  Bruno Haible  <bruno@clisp.org>
8678
8679         write: Support for MSVC 9.
8680         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8681         is not 1.
8682         * lib/write.c (write_nothrow): New function.
8683         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
8684         not 1. Use write_nothrow.
8685         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
8686         invalid parameter handler.
8687         (gl_PREREQ_WRITE): New macro.
8688         * modules/write (Depends-on): Add msvc-inval.
8689         (configure.ac): Invoke gl_PREREQ_WRITE.
8690         * doc/posix-functions/write.texi: Mention the problem on MSVC.
8691
8692 2011-09-24  Bruno Haible  <bruno@clisp.org>
8693
8694         read: Fix last commit.
8695         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
8696
8697 2011-09-24  Bruno Haible  <bruno@clisp.org>
8698
8699         dup2: Fix last commit.
8700         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
8701         (rpl_dup2): Disable fcntl workaround on native Windows.
8702
8703         sigprocmask: Make code safer.
8704         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
8705         section that changes macro definitions for this compilation unit.
8706
8707 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8708
8709         dup2: clarify by coalescing Windows-specific material
8710         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
8711         "msvc-nothrow.h"' to the Windows-specific section, so that the
8712         Emacs source need not contain these include files.
8713         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
8714         Windows-specific fixes into this function rather than just the
8715         nothrow fix, as this shortens and clarifies the code.  Always
8716         define as a function, as that's a bit cleaner than having it be
8717         sometimes a function and sometimes a macro.
8718         (rpl_dup2): Move the Windows-specific stuff out of here and into
8719         ms_windows_dup2.  Don't protect the Haiku-related fix with
8720         "#if !defined __linux__", as the same code also works around
8721         a Linux kernel bug, and it doesn't add any system calls on any
8722         platform.  Add comment about FreeBSD 6.1.
8723
8724         sigprocmask: move #include directive
8725         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
8726         Windows-specific section, so that the Emacs source need not
8727         contain msvc-inval.h.
8728
8729 2011-09-23  Bruno Haible  <bruno@clisp.org>
8730
8731         read: Support for MSVC 9.
8732         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
8733         is not 1.
8734         * lib/read.c (read_nothrow): New function.
8735         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
8736         read_nothrow.
8737         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
8738         invalid parameter handler.
8739         (gl_PREREQ_READ): New macro.
8740         * modules/read (Depends-on): Add msvc-inval.
8741         (configure.ac): Invoke gl_PREREQ_READ.
8742         * doc/posix-functions/read.texi: Mention the problem on MSVC.
8743
8744 2011-09-23  Bruno Haible  <bruno@clisp.org>
8745
8746         close: Support for MSVC 9.
8747         * lib/close.c: Include <errno.h>, msvc-inval.h.
8748         (close_nothrow): New function.
8749         (rpl_close): Use it.
8750         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
8751         invalid parameter handler.
8752         * modules/close (Depends-on): Add msvc-inval.
8753         * modules/dup2-tests (Depends-on): Add close.
8754         * modules/dup3-tests (Depends-on): Likewise.
8755         * modules/fcntl-tests (Depends-on): Likewise.
8756         * modules/spawn-pipe-tests (Depends-on): Likewise.
8757         * modules/unistd-safer-tests (Depends-on): Likewise.
8758         * doc/posix-functions/close.texi: Mention the problem on MSVC.
8759
8760 2011-09-23  Bruno Haible  <bruno@clisp.org>
8761
8762         New module 'dup'.
8763         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
8764         Allow replacement.
8765         * lib/dup.c: New file.
8766         * lib/fchdir.c (rpl_dup): Remove function.
8767         * m4/dup.m4: New file.
8768         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
8769         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
8770         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
8771         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
8772         * modules/dup: New file.
8773         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
8774         'dup' module is in use.
8775         * modules/fdopendir (Depends-on): Add dup.
8776         * modules/fdutimensat-tests (Depends-on): Likewise.
8777         * modules/fts (Depends-on): Likewise.
8778         * modules/futimens-tests (Depends-on): Likewise.
8779         * modules/posix_spawnp-tests (Depends-on): Likewise.
8780         * modules/unistd-safer-tests (Depends-on): Likewise.
8781         * modules/utimens-tests (Depends-on): Likewise.
8782         * doc/posix-functions/dup.texi: Mention the new module and the problem
8783         on MSVC.
8784
8785 2011-09-23  Bruno Haible  <bruno@clisp.org>
8786
8787         getdtablesize: Support for MSVC 9.
8788         * lib/getdtablesize.c: Include msvc-inval.h.
8789         (_setmaxstdio_nothrow): New function.
8790         (_setmaxstdio): Redefine it.
8791         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
8792         * modules/getdtablesize (Depends-on): Add msvc-inval.
8793         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
8794
8795 2011-09-23  Bruno Haible  <bruno@clisp.org>
8796
8797         signal-h: Rename from signal.
8798         * modules/signal-h: Renamed from modules/signal.
8799         * modules/pthread_sigmask (Depends-on): Update.
8800         * modules/raise (Depends-on): Likewise.
8801         * modules/sigaction (Depends-on): Likewise.
8802         * modules/sigpipe (Depends-on): Likewise.
8803         * modules/sigprocmask (Depends-on): Likewise.
8804         * modules/sys_select (Depends-on): Likewise.
8805         * modules/signal-h-tests: Renamed from modules/signal-tests.
8806         (Files, Depends-on, Makefile.am): Update.
8807         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
8808         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
8809         (Files, Makefile.am): Update.
8810         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
8811         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
8812         * modules/signal: New placeholder file.
8813         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
8814         * doc/posix-headers/signal.texi: Update.
8815         * NEWS: Mention the change.
8816
8817 2011-09-23  Bruno Haible  <bruno@clisp.org>
8818
8819         sigprocmask: Avoid crashes through signal() on MSVC 9.
8820         * lib/sigprocmask.c: Include msvc-inval.h.
8821         (signal_nothrow): New function.
8822         (signal): Redefine it.
8823         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
8824         * modules/sigprocmask (Depends-on): Add msvc-inval.
8825         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
8826
8827 2011-09-23  Bruno Haible  <bruno@clisp.org>
8828
8829         Tests for module 'raise'.
8830         * modules/raise-tests: New file.
8831         * tests/test-raise.c: New file.
8832
8833         raise: Support for MSVC.
8834         * lib/signal.in.h (raise): New declaration.
8835         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
8836         for native Windows platforms.
8837         * m4/raise.m4: New file.
8838         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
8839         HAVE_RAISE, REPLACE_RAISE.
8840         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
8841         REPLACE_RAISE.
8842         * modules/raise (Status, Notice): Remove fields.
8843         (Files): Add m4/raise.m4.
8844         (Depends-on): Add signal, msvc-inval.
8845         (configure.ac): Use the common idioms.
8846         (Maintainer): Add me.
8847         * tests/test-signal-c++.cc: Check the signature of raise.
8848         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
8849
8850 2011-09-23  Bruno Haible  <bruno@clisp.org>
8851
8852         pipe2: Fix compilation on pre-C99 compilers.
8853         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
8854
8855 2011-09-23  Bruno Haible  <bruno@clisp.org>
8856
8857         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
8858         * lib/msvc-nothrow.h: New file.
8859         * lib/msvc-nothrow.c: New file.
8860         * m4/msvc-nothrow.m4: New file.
8861         * modules/msvc-nothrow: New file.
8862         * lib/dup2.c: Include msvc-nothrow.h.
8863         (rpl_dup2): No need to protect _get_osfhandle call here.
8864         * lib/accept4.c: Include msvc-nothrow.h.
8865         * lib/error.c: Likewise.
8866         * lib/fcntl.c: Likewise.
8867         * lib/lseek.c: Likewise.
8868         * lib/nonblocking.c: Likewise.
8869         * lib/poll.c: Likewise.
8870         * lib/read.c: Likewise.
8871         * lib/select.c: Likewise.
8872         * lib/sockets.h: Likewise.
8873         * lib/sockets.c: Likewise.
8874         * lib/stdio-read.c: Likewise.
8875         * lib/stdio-write.c: Likewise.
8876         * lib/write.c: Likewise.
8877         * lib/w32sock.h: Likewise.
8878         * lib/w32spawn.h: Likewise.
8879         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
8880         * lib/fsync.c: Likewise.
8881         * lib/isapipe.c: Likewise.
8882         * modules/dup2 (Depends-on): Add msvc-nothrow.
8883         * modules/accept4 (Depends-on): Likewise.
8884         * modules/error (Depends-on): Likewise.
8885         * modules/fcntl (Depends-on): Likewise.
8886         * modules/lseek (Depends-on): Likewise.
8887         * modules/nonblocking (Depends-on): Likewise.
8888         * modules/poll (Depends-on): Likewise.
8889         * modules/read (Depends-on): Likewise.
8890         * modules/select (Depends-on): Likewise.
8891         * modules/sockets (Depends-on): Likewise.
8892         * modules/sigpipe (Depends-on): Likewise.
8893         * modules/write (Depends-on): Likewise.
8894         * modules/accept (Depends-on): Likewise.
8895         * modules/bind (Depends-on): Likewise.
8896         * modules/connect (Depends-on): Likewise.
8897         * modules/gethostname (Depends-on): Likewise.
8898         * modules/getpeername (Depends-on): Likewise.
8899         * modules/getsockname (Depends-on): Likewise.
8900         * modules/getsockopt (Depends-on): Likewise.
8901         * modules/ioctl (Depends-on): Likewise.
8902         * modules/listen (Depends-on): Likewise.
8903         * modules/recv (Depends-on): Likewise.
8904         * modules/recvfrom (Depends-on): Likewise.
8905         * modules/send (Depends-on): Likewise.
8906         * modules/sendto (Depends-on): Likewise.
8907         * modules/setsockopt (Depends-on): Likewise.
8908         * modules/shutdown (Depends-on): Likewise.
8909         * modules/socket (Depends-on): Likewise.
8910         * modules/execute (Depends-on): Likewise.
8911         * modules/spawn-pipe (Depends-on): Likewise.
8912         * modules/flock (Depends-on): Likewise.
8913         * modules/fsync (Depends-on): Likewise.
8914         * modules/isapipe (Depends-on): Likewise.
8915         * tests/test-cloexec.c: Include msvc-nothrow.h.
8916         * tests/test-dup-safer.c: Likewise.
8917         * tests/test-dup2.c: Likewise.
8918         * tests/test-dup3.c: Likewise.
8919         * tests/test-fcntl.c: Likewise.
8920         * tests/test-pipe.c: Likewise.
8921         * tests/test-pipe2.c: Likewise.
8922         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
8923         * modules/unistd-safer-tests (Depends-on): Likewise.
8924         * modules/dup2-tests (Depends-on): Likewise.
8925         * modules/dup3-tests (Depends-on): Likewise.
8926         * modules/fcntl-tests (Depends-on): Likewise.
8927         * modules/pipe-posix-tests (Depends-on): Likewise.
8928         * modules/pipe2-tests (Depends-on): Likewise.
8929
8930 2011-09-23  Bruno Haible  <bruno@clisp.org>
8931
8932         dup2: Make code more maintainable.
8933         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
8934         (rpl_dup2): Use it.
8935         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
8936         * modules/dup2 (configure.ac): Invoke it.
8937         Reported by Paul Eggert.
8938
8939 2011-09-23  Bruno Haible  <bruno@clisp.org>
8940
8941         msvc-inval: Fix compilation error.
8942         * lib/msvc-inval.h: Include <excpt.h>.
8943
8944 2011-09-23  Bruno Haible  <bruno@clisp.org>
8945
8946         mkdir: Tweak for MSVC 9.
8947         * lib/sys_stat.in.h: Update comments.
8948         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
8949
8950         Tests for module 'chdir'.
8951         * modules/chdir-tests: New file.
8952         * tests/test-chdir.c: New file.
8953
8954         New module 'chdir'.
8955         * modules/chdir: New file.
8956         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
8957         (chdir): New declaration.
8958         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
8959         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
8960         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
8961         * tests/test-unistd-c++.cc: Check signature of chdir.
8962         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
8963         * modules/chdir-long (Depends-on): Add chdir.
8964         * modules/fchdir (Depends-on): Likewise.
8965         * modules/rename (Depends-on): Likewise.
8966         * modules/savewd (Depends-on): Likewise.
8967
8968         rmdir: Support for mingw, MSVC 9.
8969         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
8970         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
8971
8972         getcwd: Tweak for MSVC 9.
8973         * lib/unistd.in.h: Update comments.
8974         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
8975
8976 2011-09-22  Bruno Haible  <bruno@clisp.org>
8977
8978         strerror_r-posix: Avoid a link error on MSVC.
8979         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
8980         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
8981
8982 2011-09-22  Bruno Haible  <bruno@clisp.org>
8983
8984         select: Avoid link errors on MSVC.
8985         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
8986         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
8987         * modules/pselect (Link): Likewise.
8988         * NEWS: Mention the change.
8989         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
8990         test-select-stdin against $(LIB_SELECT).
8991         * modules/pselect-tests (Makefile.am): Link test-pselect against
8992         $(LIB_SELECT).
8993
8994 2011-09-22  Bruno Haible  <bruno@clisp.org>
8995
8996         select: Avoid compilation error on MSVC.
8997         * lib/select.c: Don't include <stdbool.h>.
8998
8999 2011-09-21  Bruno Haible  <bruno@clisp.org>
9000
9001         Consolidate all uses of PATH_MAX in *.m4 files.
9002         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
9003         macros.
9004         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
9005         and gl_PATHMAX_SNIPPET.
9006         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9007         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9008         * modules/chdir-long (Files): Add m4/pathmax.m4.
9009         * modules/getcwd (Files): Likewise.
9010
9011 2011-09-21  Bruno Haible  <bruno@clisp.org>
9012
9013         ftruncate: Un-deprecate, concentrate on Win32 support.
9014         * modules/ftruncate (Status, Notice): Remove sections.
9015         (Depends-on): Add largefile.
9016         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
9017         non-mingw platforms.
9018         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
9019         include <io.h>.
9020         * modules/perror-tests (Depends-on): Add ftruncate.
9021         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
9022         'ftruncate' module.
9023
9024 2011-09-21  Bruno Haible  <bruno@clisp.org>
9025
9026         Add dependencies to new dirent related modules.
9027         * modules/opendir (Depends-on): Add closedir.
9028         * modules/getcwd (Depends-on): Add opendir, closedir.
9029         * modules/dirent-safer-tests (Depends-on): Likewise.
9030         * modules/fdopendir-tests (Depends-on): Likewise.
9031         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
9032         * modules/renameat-tests (Depends-on): Likewise.
9033
9034 2011-09-21  Bruno Haible  <bruno@clisp.org>
9035
9036         opendir: Avoid compilation error on mingw.
9037         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
9038         * modules/opendir (Depends-on): Add unistd.
9039
9040 2011-09-21  Bruno Haible  <bruno@clisp.org>
9041
9042         ftruncate tests: Avoid a test failure on mingw.
9043         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
9044
9045 2011-09-21  Bruno Haible  <bruno@clisp.org>
9046
9047         select tests: Avoid test failures on OSF/1 5.1 and mingw.
9048         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
9049         native Windows.
9050
9051 2011-09-21  Bruno Haible  <bruno@clisp.org>
9052
9053         New module 'fdopen'.
9054         * lib/stdio.in.h (fdopen): New declaration.
9055         * lib/fdopen.c: New file.
9056         * m4/fdopen.m4: New file.
9057         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
9058         REPLACE_FDOPEN.
9059         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
9060         REPLACE_FDOPEN.
9061         * modules/fdopen: New file.
9062         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
9063         * tests/test-stdio-c++.cc: Check signature of fdopen.
9064         * doc/posix-functions/fdopen.texi: Mention the new module.
9065
9066 2011-09-21  Bruno Haible  <bruno@clisp.org>
9067
9068         unlockpt tests: Avoid test failure on NetBSD 5.1.
9069         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
9070         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
9071
9072 2011-09-21  Bruno Haible  <bruno@clisp.org>
9073
9074         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
9075         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
9076         * tests/test-getlogin_r.c (main): Likewise.
9077
9078 2011-09-20  Bruno Haible  <bruno@clisp.org>
9079
9080         time tests: Don't require pid_t.
9081         * doc/posix-headers/time.texi: Revert last change.
9082         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
9083         * tests/test-time.c: Comment out the check for pid_t.
9084
9085 2011-09-20  Bruno Haible  <bruno@clisp.org>
9086
9087         fsync tests: Avoid a test failure on mingw.
9088         * tests/test-fsync.c (main): Allow a failure with EIO.
9089
9090 2011-09-20  Bruno Haible  <bruno@clisp.org>
9091
9092         euidaccess: Update comments.
9093         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
9094
9095 2011-09-20  Bruno Haible  <bruno@clisp.org>
9096
9097         Ensure EBADF returns for socket functions on mingw.
9098         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
9099         descriptor is invalid.
9100         * lib/bind.c (rpl_bind): Likewise.
9101         * lib/connect.c (rpl_connect): Likewise.
9102         * lib/getpeername.c (rpl_getpeername): Likewise.
9103         * lib/getsockname.c (rpl_getsockname): Likewise.
9104         * lib/getsockopt.c (rpl_getsockopt): Likewise.
9105         * lib/listen.c (rpl_listen): Likewise.
9106         * lib/recv.c (rpl_recv): Likewise.
9107         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9108         * lib/send.c (rpl_send): Likewise.
9109         * lib/sendto.c (rpl_sendto): Likewise.
9110         * lib/setsockopt.c (rpl_setsockopt): Likewise.
9111         * lib/shutdown.c (rpl_shutdown): Likewise.
9112
9113 2011-09-20  Bruno Haible  <bruno@clisp.org>
9114
9115         select tests: EBADF tests.
9116         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
9117         test_bad_fd): New functions.
9118         (test_function): Invoke also test_bad_fd.
9119
9120 2011-09-20  Bruno Haible  <bruno@clisp.org>
9121
9122         Tests for module 'posix_spawn_file_actions_addopen.
9123         * modules/posix_spawn_file_actions_addopen-tests: New file.
9124         * tests/test-posix_spawn_file_actions_addopen.c: New file.
9125
9126         Tests for module 'posix_spawn_file_actions_adddup2'.
9127         * modules/posix_spawn_file_actions_adddup2-tests: New file.
9128         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
9129
9130         Tests for module 'posix_spawn_file_actions_addclose'.
9131         * modules/posix_spawn_file_actions_addclose-tests: New file.
9132         * tests/test-posix_spawn_file_actions_addclose.c: New file.
9133
9134 2011-09-20  Bruno Haible  <bruno@clisp.org>
9135
9136         Tests for module 'unlockpt'.
9137         * modules/unlockpt-tests: New file.
9138         * tests/test-unlockpt.c: New file.
9139         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
9140
9141         Tests for module 'grantpt'.
9142         * modules/grantpt-tests: New file.
9143         * tests/test-grantpt.c: New file.
9144         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
9145
9146 2011-09-20  Bruno Haible  <bruno@clisp.org>
9147
9148         freopen tests: EBADF tests.
9149         * tests/test-freopen.c: Include errno.h, unistd.h.
9150         (main): Add tests for EBADF, commented out for the moment.
9151
9152         fclose tests: EBADF tests.
9153         * tests/test-fclose.c (main): Add tests for EBADF.
9154
9155         fflush tests: EBADF tests.
9156         * tests/test-fflush.c: Include errno.h, macros.h.
9157         (main): Add tests for EBADF.
9158
9159         ftello tests: EBADF tests.
9160         * tests/test-ftello4.sh: New file.
9161         * tests/test-ftello4.c: New file.
9162         * modules/ftello-tests (Files): Add them.
9163         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
9164
9165         fseeko tests: EBADF tests.
9166         * tests/test-fseeko4.sh: New file.
9167         * tests/test-fseeko4.c: New file.
9168         * modules/fseeko-tests (Files): Add them.
9169         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
9170
9171         Tests for function fputc().
9172         * modules/fputc-tests: New file.
9173         * tests/test-fputc.c: New file.
9174         * modules/stdio-tests (Depends-on): Add fputc-tests.
9175
9176         Tests for function fgetc().
9177         * modules/fgetc-tests: New file.
9178         * tests/test-fgetc.c: New file.
9179         * modules/stdio-tests (Depends-on): Add fgetc-tests.
9180
9181         Tests for function fdopen().
9182         * modules/fdopen-tests: New file.
9183         * tests/test-fdopen.c: New file.
9184         * modules/stdio-tests (Depends-on): Add fdopen-tests.
9185
9186         Tests for module 'vdprintf'.
9187         * modules/vdprintf-tests: New file.
9188         * tests/test-vdprintf.c: New file.
9189
9190         Tests for module 'dprintf'.
9191         * modules/dprintf-tests: New file.
9192         * tests/test-dprintf.c: New file.
9193
9194 2011-09-20  Bruno Haible  <bruno@clisp.org>
9195
9196         Tests for module 'ioctl'.
9197         * modules/ioctl-tests: New file.
9198         * tests/test-ioctl.c: New file.
9199
9200 2011-09-20  Bruno Haible  <bruno@clisp.org>
9201
9202         fcntl tests: EBADF tests.
9203         * tests/test-fcntl.c (main): Add more tests for EBADF.
9204
9205 2011-09-20  Bruno Haible  <bruno@clisp.org>
9206
9207         utimensat tests: EBADF tests.
9208         * tests/test-utimensat.c (main): Add tests for EBADF.
9209
9210         renameat tests: EBADF tests.
9211         * tests/test-renameat.c (main): Add tests for EBADF.
9212
9213         mkfifoat tests: EBADF tests.
9214         * tests/test-mkfifoat.c (main): Add tests for EBADF.
9215
9216         readlinkat tests: EBADF tests.
9217         * tests/test-readlinkat.c (main): Add tests for EBADF.
9218
9219         symlinkat tests: EBADF tests.
9220         * tests/test-symlinkat.c (main): Add tests for EBADF.
9221
9222         linkat tests: EBADF tests.
9223         * tests/test-linkat.c (main): Add tests for EBADF.
9224
9225         Tests for module 'faccessat'.
9226         * modules/faccessat-tests: New file.
9227         * tests/test-faccessat.c: New file.
9228
9229         fdopendir tests: EBADF tests.
9230         * tests/test-fdopendir.c (main): Add more tests for EBADF.
9231
9232         openat tests: EBADF tests.
9233         * tests/test-fchownat.c (main): Add tests for EBADF.
9234         * tests/test-fstatat.c (main): Likewise.
9235         * tests/test-mkdirat.c (main): Likewise.
9236         * tests/test-openat.c (main): Likewise.
9237         * tests/test-unlinkat.c (main): Likewise.
9238         * tests/test-fchmodat.c: New file.
9239         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
9240         (Makefile.am): Also run 'test-fchmodat'.
9241
9242 2011-09-20  Bruno Haible  <bruno@clisp.org>
9243
9244         utimens, futimens, fdutimensat tests: EBADF tests.
9245         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
9246
9247         Tests for function fstat().
9248         * modules/fstat-tests: New file.
9249         * tests/test-fstat.c: New file.
9250         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
9251
9252 2011-09-20  Bruno Haible  <bruno@clisp.org>
9253
9254         test-ttyname_r tests: EBADF tests.
9255         * tests/test-ttyname_r.c (main): Add tests for EBADF.
9256
9257         Tests for module 'isatty'.
9258         * modules/isatty-tests: New file.
9259         * tests/test-isatty.c: New file.
9260
9261         Tests for module 'write'.
9262         * modules/write-tests: New file.
9263         * tests/test-write.c: New file.
9264
9265         Tests for module 'read'.
9266         * modules/read-tests: New file.
9267         * tests/test-read.c: New file.
9268
9269         pwrite tests: EBADF tests.
9270         * tests/test-pwrite.c (main): Add tests for EBADF.
9271
9272         pread tests: EBADF tests.
9273         * tests/test-pread.c (main): Add tests for EBADF.
9274
9275         lseek tests: EBADF tests.
9276         * tests/test-lseek.c (main): Add more tests for EBADF.
9277
9278         Tests for module 'ftruncate'.
9279         * modules/ftruncate-tests: New file.
9280         * tests/test-ftruncate.sh: New file.
9281         * tests/test-ftruncate.c: New file.
9282
9283         fsync tests: EBADF tests.
9284         * tests/test-fsync.c (main): Add more tests for EBADF.
9285
9286         fdatasync tests: EBADF tests.
9287         * tests/test-fdatasync.c (main): Add more tests for EBADF.
9288
9289         Tests for module 'fchown'.
9290         * modules/fchown-tests: New file.
9291         * tests/test-fchown.c: New file.
9292
9293         Tests for module 'fchmod'.
9294         * modules/fchmod-tests: New file.
9295         * tests/test-fchmod.c: New file.
9296
9297         fchdir tests: EBADF tests.
9298         * tests/test-fchdir.c (main): Add more tests for EBADF.
9299
9300         dup2 tests: EBADF tests.
9301         * tests/test-dup2.c (main): Add more tests for EBADF.
9302
9303         Tests for module 'dup'.
9304         * modules/dup-tests: New file.
9305         * tests/test-dup.c: New file.
9306
9307         Tests for module 'close'.
9308         * modules/close-tests: New file.
9309         * tests/test-close.c: New file.
9310
9311 2011-09-20  Bruno Haible  <bruno@clisp.org>
9312
9313         Tests for module 'shutdown'.
9314         * modules/shutdown-tests: New file.
9315         * tests/test-shutdown.c: New file.
9316
9317         Tests for module 'setsockopt'.
9318         * modules/setsockopt-tests: New file.
9319         * tests/test-setsockopt.c: New file.
9320
9321         Tests for module 'sendto'.
9322         * modules/sendto-tests: New file.
9323         * tests/test-sendto.c: New file.
9324
9325         Tests for module 'send'.
9326         * modules/send-tests: New file.
9327         * tests/test-send.c: New file.
9328
9329         Tests for module 'recvfrom'.
9330         * modules/recvfrom-tests: New file.
9331         * tests/test-recvfrom.c: New file.
9332
9333         Tests for module 'recv'.
9334         * modules/recv-tests: New file.
9335         * tests/test-recv.c: New file.
9336
9337         Tests for module 'listen'.
9338         * modules/listen-tests: New file.
9339         * tests/test-listen.c: New file.
9340
9341         Tests for module 'getsockopt'.
9342         * modules/getsockopt-tests: New file.
9343         * tests/test-getsockopt.c: New file.
9344
9345         Tests for module 'getsockname'.
9346         * modules/getsockname-tests: New file.
9347         * tests/test-getsockname.c: New file.
9348
9349         Tests for module 'getpeername'.
9350         * modules/getpeername-tests: New file.
9351         * tests/test-getpeername.c: New file.
9352
9353         Tests for module 'connect'.
9354         * modules/connect-tests: New file.
9355         * tests/test-connect.c: New file.
9356
9357         Tests for module 'bind'.
9358         * modules/bind-tests: New file.
9359         * tests/test-bind.c: New file.
9360
9361         accept4 tests: Fix for native Windows.
9362         * tests/test-accept4.c: Include sockets.h.
9363         (main): Invoke gl_sockets_startup.
9364         * modules/accept4-tests (Depends-on): Add sockets.
9365
9366         accept tests: Fix for native Windows.
9367         * tests/test-accept.c: Include sockets.h.
9368         (main): Invoke gl_sockets_startup.
9369         * modules/accept-tests (Depends-on): Add sockets.
9370
9371 2011-09-19  Bruno Haible  <bruno@clisp.org>
9372
9373         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
9374         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
9375         do...while(0).
9376         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
9377         Suggested by Paul Eggert.
9378
9379 2011-09-19  Bruno Haible  <bruno@clisp.org>
9380
9381         sched: Ensure pid_t is defined.
9382         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
9383         not define pid_t.
9384         * lib/sched.in.h: Include <sys/types.h>.
9385         * doc/posix-headers/sched.texi: Mention the pid_t problem.
9386         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9387
9388 2011-09-19  Bruno Haible  <bruno@clisp.org>
9389
9390         msvc-inval: Ensure the entire expansion is a single statement.
9391         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
9392         of braces.
9393
9394 2011-09-19  Jim Meyering  <meyering@redhat.com>
9395
9396         tests: use printf, not echo in init.sh's warn_ function
9397         * tests/init.sh (warn_): Use printf, not echo.  The latter would
9398         misbehave when given strings containing a backslash or starting
9399         with e.g., -n.  James Youngman suggested setting IFS.
9400
9401 2011-09-19  Eric Blake  <eblake@redhat.com>
9402
9403         futimens: enhance test
9404         * tests/test-futimens.h (test_futimens): Also check for EBADF on
9405         closed non-negative fd.
9406
9407         date: accept 'hence' as opposite of 'ago'
9408         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
9409         * tests/test-parse-datetime.c (main): Enhance test.
9410         Suggested by Jesse Wilson.
9411
9412 2011-09-19  Jim Meyering  <meyering@redhat.com>
9413
9414         getcwd: don't fail in a deep directory on a system without openat
9415         Before this change, getcwd would fail when called from a directory
9416         of depth PATH_MAX / 3 or greater.  That was due to the fact that
9417         the non-openat implementation used "..", "../..", "../../..", etc.
9418         to access ancestor directories.  With too many, that string would
9419         be longer than PATH_MAX.
9420         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
9421         using gnulib's openat replacement.
9422         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
9423         we're using the replacement function.
9424
9425 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
9426
9427         maint.mk: avoid warnings from perl about missing files
9428         * top/maint.mk (def_sym_regex): Ignore files listed in
9429         $(gl_other_headers_) that do not exist, say because a project
9430         does not use a corresponding module.
9431
9432 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
9433
9434         stat: use pathmax.h only if needed
9435         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
9436         This is better for Emacs, which does not have a mingw port and
9437         therefore can avoid the pathmax module.
9438
9439         utimens: remove dependency on dup2
9440         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
9441         to work around the Linux kernel bug.
9442         * modules/utimens (Depends-on): Remove dup2.
9443
9444 2011-09-18  Bruno Haible  <bruno@clisp.org>
9445
9446         inet_ntop, inet_pton: Look for it also in libresolv.
9447         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
9448         libnsl, search for it in libresolv.
9449         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9450         Needed on Solaris 7.
9451
9452 2011-09-18  Bruno Haible  <bruno@clisp.org>
9453
9454         accept, accept4 tests: Avoid link error on Solaris.
9455         * modules/accept-tests (Makefile.am): Link test-accept against
9456         $(LIBSOCKET).
9457         * modules/accept4-tests (Makefile.am): Link test-accept4 against
9458         $(LIBSOCKET).
9459
9460         accept4: Avoid link error on Solaris.
9461         * modules/accept4 (Link): New section.
9462
9463         socket functions: Avoid link errors on Solaris.
9464         * modules/accept (Depends-on): Add socketlib.
9465         (Link): New section.
9466         * modules/bind (Depends-on): Add socketlib.
9467         (Link): New section.
9468         * modules/connect (Depends-on): Add socketlib.
9469         (Link): New section.
9470         * modules/getpeername (Depends-on): Add socketlib.
9471         (Link): New section.
9472         * modules/getsockname (Depends-on): Add socketlib.
9473         (Link): New section.
9474         * modules/getsockopt (Depends-on): Add socketlib.
9475         (Link): New section.
9476         * modules/listen (Depends-on): Add socketlib.
9477         (Link): New section.
9478         * modules/recv (Depends-on): Add socketlib.
9479         (Link): New section.
9480         * modules/recvfrom (Depends-on): Add socketlib.
9481         (Link): New section.
9482         * modules/send (Depends-on): Add socketlib.
9483         (Link): New section.
9484         * modules/sendto (Depends-on): Add socketlib.
9485         (Link): New section.
9486         * modules/setsockopt (Depends-on): Add socketlib.
9487         (Link): New section.
9488         * modules/shutdown (Depends-on): Add socketlib.
9489         (Link): New section.
9490         * modules/socket (Depends-on): Add socketlib.
9491         (Link): New section.
9492
9493 2011-09-18  Bruno Haible  <bruno@clisp.org>
9494
9495         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
9496         * tests/test-ptsname.c (main): Terminate the test if it takes longer
9497         than 5 seconds.
9498         * modules/ptsname-tests (configure.ac): Test for alarm.
9499
9500 2011-09-18  Bruno Haible  <bruno@clisp.org>
9501
9502         posix_spawn_file_actions_add*: Fix module dependencies.
9503         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
9504         posix_spawn_file_actions_init.
9505         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
9506         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
9507
9508 2011-09-18  Bruno Haible  <bruno@clisp.org>
9509
9510         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
9511         * tests/test-rename.h (test_rename): Allow error code EEXIST.
9512         * tests/test-renameat.c (main): Likewise.
9513
9514 2011-09-18  Bruno Haible  <bruno@clisp.org>
9515
9516         Tests for module 'accept4'.
9517         * modules/accept4-tests: New file.
9518         * tests/test-accept4.c: New file.
9519
9520 2011-09-18  Bruno Haible  <bruno@clisp.org>
9521
9522         Tests for module 'accept'.
9523         * modules/accept-tests: New file.
9524         * tests/test-accept.c: New file.
9525
9526 2011-09-18  Bruno Haible  <bruno@clisp.org>
9527
9528         dup2: Support for MSVC.
9529         * lib/dup2.c: Include msvc-inval.h.
9530         (rpl_dup2): Handle invalid parameter notifications during dup2 and
9531         _get_osfhandle calls.
9532         * modules/dup2 (Depends-on): Add msvc-inval.
9533         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
9534
9535         New module 'msvc-inval'.
9536         * lib/msvc-inval.h: New file.
9537         * lib/msvc-inval.c: New file.
9538         * m4/msvc-inval.m4: New file.
9539         * modules/msvc-inval: New file.
9540
9541 2011-09-17  Bruno Haible  <bruno@clisp.org>
9542
9543         Tests for module 'pclose'.
9544         * modules/pclose-tests: New file.
9545
9546         New module 'pclose'.
9547         * lib/stdio.in.h (pclose): New declaration.
9548         * lib/pclose.c: New file.
9549         * m4/pclose.m4: New file.
9550         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
9551         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
9552         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
9553         * modules/pclose: New file.
9554         * modules/popen-tests (Depends-on): Add pclose.
9555         * modules/popen-safer-tests (Depends-on): Likewise.
9556         * doc/posix-functions/pclose.texi: Mention the new module.
9557
9558 2011-09-17  Bruno Haible  <bruno@clisp.org>
9559
9560         popen: Support for MSVC.
9561         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
9562         * lib/popen.c (popen): Provide alternate definition for native Windows.
9563         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
9564         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
9565         * modules/popen (Depends-on, configure.ac): Update condition.
9566         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
9567         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
9568         fixed.
9569
9570 2011-09-17  Bruno Haible  <bruno@clisp.org>
9571
9572         isnanl, isnand, isnanf: Work around MSVC bug.
9573         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
9574
9575 2011-09-17  Bruno Haible  <bruno@clisp.org>
9576
9577         sys_socket tests: Fix recent mistake.
9578         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
9579
9580 2011-09-17  Bruno Haible  <bruno@clisp.org>
9581
9582         putenv: Support for MSVC.
9583         * modules/putenv (Depends-on): Add environ.
9584         * lib/putenv.c (environ): Disable declaration.
9585         * lib/unistd.in.h: Update comment.
9586
9587 2011-09-17  Bruno Haible  <bruno@clisp.org>
9588
9589         math: Avoid macro redefinition warnings on MSVC.
9590         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
9591         Undefine before redefining.
9592
9593 2011-09-17  Bruno Haible  <bruno@clisp.org>
9594
9595         doc: Mention functions which are declared as macros.
9596         * doc/posix-functions/*[fl].texi: Mention that some functions are
9597         defined as macros with arguments only.
9598
9599 2011-09-17  Bruno Haible  <bruno@clisp.org>
9600
9601         Add dependencies to new dirent related modules.
9602         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
9603         * modules/fts (Depends-on): Likewise.
9604         * modules/glob (Depends-on): Likewise.
9605         * modules/savedir (Depends-on): Likewise.
9606         * modules/scandir (Depends-on): Likewise.
9607         * modules/dirent-safer (Depends-on): Add opendir, closedir.
9608         * modules/fdopendir (Depends-on): Add opendir.
9609
9610 2011-09-17  Bruno Haible  <bruno@clisp.org>
9611
9612         inet_pton: Support for MSVC on Windows Vista or newer.
9613         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
9614         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
9615         HAVE_DECL_INET_PTON is defined.
9616         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9617         On platforms with <winsock2.h>, test whether inet_pton is declared in
9618         <ws2tcpip.h>. If so, arrange to replace it.
9619         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9620         REPLACE_INET_PTON.
9621         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
9622         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
9623         (Depends-on, configure.ac): Update condition.
9624         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
9625
9626 2011-09-17  Bruno Haible  <bruno@clisp.org>
9627
9628         inet_ntop: Support for MSVC on Windows Vista or newer.
9629         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
9630         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
9631         HAVE_DECL_INET_NTOP is defined.
9632         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
9633         On platforms with <winsock2.h>, test whether inet_ntop is declared in
9634         <ws2tcpip.h>. If so, arrange to replace it.
9635         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
9636         REPLACE_INET_NTOP.
9637         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
9638         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
9639         (Depends-on, configure.ac): Update condition.
9640         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
9641
9642 2011-09-16  Eric Blake  <eblake@redhat.com>
9643
9644         test-fsync: yet another enhancement
9645         * tests/test-fsync.c (main): Also test behavior on read-only text
9646         file.
9647
9648 2011-09-16  Bruno Haible  <bruno@clisp.org>
9649
9650         Enhance fsync, fdatasync tests.
9651         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
9652         * tests/test-fdatasync.c (main): Likewise.
9653
9654 2011-09-16  Bruno Haible  <bruno@clisp.org>
9655
9656         Support for MSVC compiler: Ensure mode_t gets defined.
9657         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
9658         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9659         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
9660         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
9661         * tests/test-fcntl-h.c: Check that mode_t is defined.
9662         * tests/test-sys_stat.c: Likewise.
9663         * tests/test-sys_types.c: Likewise.
9664         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
9665         * doc/posix-headers/sys_stat.texi: Likewise.
9666         * doc/posix-headers/sys_types.texi: Likewise.
9667
9668 2011-09-16  Bruno Haible  <bruno@clisp.org>
9669
9670         sys_stat: Support for MSVC.
9671         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
9672         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
9673         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
9674         MSVC.
9675
9676 2011-09-16  Bruno Haible  <bruno@clisp.org>
9677
9678         Support for MSVC compiler: Ensure off_t gets defined.
9679         * lib/unistd.in.h: Include <sys/types.h>.
9680         * tests/test-fcntl-h.c: Check that off_t is defined.
9681         * tests/test-sys_stat.c: Likewise.
9682         * tests/test-sys_types.c: Likewise.
9683
9684 2011-09-16  Eric Blake  <eblake@redhat.com>
9685
9686         fdatasync: port to Solaris
9687         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
9688         * modules/fdatasync (Link): Document it.
9689         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
9690
9691         fdatasync: port to MacOS X 10.7
9692         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
9693         declared.
9694         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
9695         * modules/unistd (Makefile.am): Substitute it.
9696         * lib/unistd.in.h (fdatasync): Declare on MacOS.
9697         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
9698
9699         fdatasync: minor improvements
9700         * modules/fdatasync (Depends-on): Add condition for fsync.
9701         * lib/fdatasync.c (fdatasync): Add comment.
9702         * tests/test-unistd-c++.cc: Test fdatasync.
9703
9704         unistd: update refs to newer POSIX
9705         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
9706         Suggested by Bruno Haible.
9707
9708         fdatasync: new module
9709         * modules/fsync (Description): Document difference to fdatasync.
9710         * modules/fdatasync: New module.
9711         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
9712         * lib/fdatasync.c (fdatasync): Likewise.
9713         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
9714         defaults.
9715         * modules/unistd (Makefile.am): Set witnesses.
9716         * lib/unistd.in.h (fdatasync): Declare.
9717         * MODULES.html.sh: Document it.
9718         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
9719         * modules/fdatasync-tests: New test.
9720         * tests/test-fdatasync.c: Likewise.
9721
9722 2011-09-16  Eric Blake  <eblake@redhat.com>
9723
9724         test-fsync: enhance tests
9725         * modules/fsync-tests (Depends-on): Add errno, for mingw.
9726         * tests/test-fsync.c (main): Enhance test.
9727
9728 2011-09-15  Bruno Haible  <bruno@clisp.org>
9729
9730         Support for MSVC compiler: Ensure ssize_t gets defined.
9731         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
9732         * doc/posix-headers/stdio.texi: Likewise.
9733         * modules/stdio (Depends-on): Add ssize_t.
9734         * modules/sys_socket (Depends-on): Likewise.
9735         * modules/sys_types (Depends-on): Likewise.
9736         * modules/sys_uio (Depends-on): Likewise.
9737         * modules/unistd (Depends-on): Likewise.
9738         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
9739         * tests/test-sys_types.c: Check that ssize_t is defined.
9740
9741 2011-09-14  Bruno Haible  <bruno@clisp.org>
9742
9743         Avoid using #, the m4 comment starter character, near brackets.
9744         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
9745         delimiter character in sed expressions.
9746         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
9747         Suggested by Eric Blake.
9748
9749         Properly quote AC_CHECK_DECLS' 4th argument.
9750         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
9751         argument.
9752         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
9753         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
9754         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
9755         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
9756         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
9757         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
9758         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
9759         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
9760         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
9761         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9762         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
9763         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9764         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
9765         * m4/isinf.m4 (gl_ISINF): Likewise.
9766         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9767         * m4/readutmp.m4 (gl_READUTMP): Likewise.
9768         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
9769         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
9770         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
9771         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
9772         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9773         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
9774         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
9775         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9776         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9777         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9778         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
9779         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9780         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9781         Reported by Eric Blake.
9782
9783         Properly quote AC_CHECK_DECL's 4th argument.
9784         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
9785         argument.
9786         * m4/argp.m4 (gl_ARGP): Likewise.
9787         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9788         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9789         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9790         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9791         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
9792         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
9793         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
9794         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9795         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9796         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9797         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9798         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9799         Reported by Eric Blake.
9800
9801 2011-09-14  Eric Blake  <eblake@redhat.com>
9802
9803         opendir: avoid compile warning
9804         * lib/opendir.c (includes): Always include errno.h.
9805         Reported by Tatsuro MATSUOKA.
9806
9807 2011-09-14  Jim Meyering  <meyering@redhat.com>
9808
9809         maint.mk: sc_tight_scope: propagate failure from sub-make
9810         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
9811         Reported by Martin von Gagern.
9812
9813 2011-09-13  Bruno Haible  <bruno@clisp.org>
9814
9815         tempname: Support for MSVC.
9816         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
9817         MSVC.
9818         * modules/tempname (Depends-on): Add fcntl-h.
9819
9820 2011-09-13  Bruno Haible  <bruno@clisp.org>
9821
9822         sys_time: Support for MSVC.
9823         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
9824         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
9825         include <winsock2.h>.
9826         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
9827         function declarations that collide with POSIX.
9828         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
9829         (Makefile.am): Substitute HAVE_WINSOCK2_H.
9830
9831 2011-09-13  Bruno Haible  <bruno@clisp.org>
9832
9833         stat: Support for MSVC.
9834         * lib/stat.c: Include pathmax.h.
9835         * modules/stat (Depends-on): Add pathmax.
9836
9837         pathmax: Support for native Windows.
9838         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
9839
9840 2011-09-12  Bruno Haible  <bruno@clisp.org>
9841
9842         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
9843         * lib/dirent.in.h (struct dirent): New type.
9844         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
9845         DT_WHT): New macros.
9846         (DIR): New type.
9847         (opendir, closedir): Declare only if the module 'opendir' is enabled.
9848         (readdir, rewinddir): New declarations.
9849         * lib/dirent-private.h: New file.
9850         * lib/opendir.c: New file.
9851         * lib/readdir.c: New file.
9852         * lib/rewinddir.c: New file.
9853         * lib/closedir.c: New file.
9854         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
9855         * m4/opendir.m4: New file.
9856         * m4/readdir.m4: New file.
9857         * m4/rewinddir.m4: New file.
9858         * m4/closedir.m4: New file.
9859         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
9860         REPLACE_CLOSEDIR here.
9861         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
9862         readdir, rewinddir are declared.
9863         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
9864         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
9865         HAVE_REWINDDIR, HAVE_CLOSEDIR.
9866         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
9867         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
9868         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
9869         * modules/opendir: New file.
9870         * modules/readdir: New file.
9871         * modules/rewinddir: New file.
9872         * modules/closedir: New file.
9873         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
9874         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
9875         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
9876         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
9877         * NEWS: Mention the 'fchdir' change.
9878
9879 2011-09-11  Bruno Haible  <bruno@clisp.org>
9880
9881         asm-underscore.m4: Support for MSVC.
9882         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
9883         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
9884
9885 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
9886
9887         Doc about crypt functions.
9888         * doc/posix-functions/crypt.texi: Expand range of glibc versions
9889         needing for _GNU_SOURCE to get crypt.
9890         * doc/posix-functions/encrypt.texi: Likewise.
9891         * doc/posix-functions/setkey.texi: Likewise.
9892
9893 2011-09-11  Bruno Haible  <bruno@clisp.org>
9894
9895         doc: Update regarding MSVC 9.
9896         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
9897         tested".
9898         * doc/posix-functions/*.texi: Update with info about MSVC 9.
9899         * doc/posix-headers/*.texi: Likewise.
9900         * doc/pastposix-functions/*.texi: Likewise.
9901         * doc/glibc-functions/*.texi: Likewise.
9902         * doc/glibc-headers/*.texi: Likewise.
9903
9904 2011-09-11  Bruno Haible  <bruno@clisp.org>
9905
9906         unistd et al.: Don't assume <unistd.h> exists.
9907         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
9908         does not exist.
9909         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
9910         exist. But include <stdlib.h>.
9911         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
9912         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
9913         symlink() does not exist.
9914         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
9915         include <io.h> instead.
9916         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
9917         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
9918         include <direct.h> instead.
9919         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9920         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9921         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
9922         <io.h> instead.
9923         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
9924         correctly if the system does not have hard links.
9925         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
9926         <direct.h> instead.
9927         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
9928         it when looking for function declarations.
9929         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
9930         <direct.h> and <io.h> instead.
9931         * doc/posix-headers/unistd.texi: More details about MSVC problem.
9932
9933 2011-09-11  Bruno Haible  <bruno@clisp.org>
9934
9935         strcase: Support for MSVC.
9936         * modules/strcase (Status, Notice): Remove obsoletion mark.
9937         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
9938         * doc/posix-functions/strncasecmp.texi: Likewise.
9939
9940         strings: Don't assume <strings.h> exists.
9941         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
9942         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
9943         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
9944         * doc/posix-headers/strings.texi: Mention the MSVC problem.
9945
9946 2011-09-11  Bruno Haible  <bruno@clisp.org>
9947
9948         dirent: Don't assume <dirent.h> exists.
9949         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
9950         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
9951         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
9952         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
9953
9954 2011-09-11  Bruno Haible  <bruno@clisp.org>
9955
9956         Fix wint_t on MSVC.
9957         * lib/wchar.in.h (wint_t): On MSVC, override it.
9958         * lib/wctype.in.h (wint_t): Likewise.
9959         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
9960         MSVC.
9961         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
9962         * doc/posix-headers/wctype.texi: Likewise.
9963
9964 2011-09-11  Bruno Haible  <bruno@clisp.org>
9965
9966         sys_types: Fix typo.
9967         * lib/sys_types.in.h: Fix typo in comment.
9968         Reported by Paul Eggert.
9969
9970         Support for MSVC compiler: Ensure size_t gets defined.
9971         * modules/strings (Depends-on): Add 'sys_types'.
9972         * modules/sys_uio (Depends-on): Likewise.
9973         * lib/sys_uio.in.h: Update comment.
9974
9975         C++ tests for module 'sys_types'.
9976         * modules/sys_types-c++-tests: New file.
9977         * tests/test-sys_types-c++.cc: New file.
9978
9979         Tests for module 'sys_types'.
9980         * modules/sys_types-tests: New file.
9981         * tests/test-sys_types.c: New file.
9982
9983         New module 'sys_types'.
9984         * lib/sys_types.in.h: New file.
9985         * m4/sys_types_h.m4: New file.
9986         * modules/sys_types: New file.
9987         * doc/posix-headers/sys_types.texi: Mention the new module and the
9988         size_t problem on MSVC 9.
9989
9990 2011-09-11  Bruno Haible  <bruno@clisp.org>
9991
9992         Support for MSVC compiler: Avoid division by a literal 0.
9993         * lib/math.in.h (NAN): Define through a function call also on MSVC.
9994         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
9995         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
9996         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
9997         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
9998         * tests/infinity.h: New file.
9999         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
10000         on MSVC.
10001         * tests/test-ceilf1.c: Include infinity.h.
10002         (main): Use Infinityf.
10003         * tests/test-ceil1.c: Include infinity.h.
10004         (main): Use Infinityd.
10005         * tests/test-ceill.c: Include infinity.h.
10006         (main): Use Infinityl.
10007         * tests/test-dprintf-posix.c: Include infinity.h.
10008         (test_function): Use Infinityd.
10009         * tests/test-floorf1.c: Include infinity.h.
10010         (main): Use Infinityf.
10011         * tests/test-floor1.c: Include infinity.h.
10012         (main): Use Infinityd.
10013         * tests/test-floorl.c: Include infinity.h.
10014         (main): Use Infinityl.
10015         * tests/test-fprintf-posix.c: Include infinity.h.
10016         (test_function): Use Infinityd.
10017         * tests/test-frexp.c: Include infinity.h.
10018         (main): Use Infinityd.
10019         * tests/test-frexpl.c: Include infinity.h.
10020         (main): Use Infinityl.
10021         * tests/test-isfinite.c: Include infinity.h.
10022         (test_isfinitef): Use Infinityf.
10023         (test_isfinited): Use Infinityd.
10024         (test_isfinitel): Use Infinityl.
10025         * tests/test-isinf.c: Include infinity.h.
10026         (test_isinff): Use Infinityf.
10027         (test_isinfd): Use Infinityd.
10028         (test_isinfl): Use Infinityl.
10029         * tests/test-isnan.c: Include infinity.h.
10030         (test_float): Use Infinityf.
10031         (test_double): Use Infinityd.
10032         (test_long_double): Use Infinityl.
10033         * tests/test-isnanf.h: Include infinity.h.
10034         (main): Use Infinityf.
10035         * tests/test-isnand.h: Include infinity.h.
10036         (main): Use Infinityd.
10037         * tests/test-isnanl.h: Include infinity.h.
10038         (main): Use Infinityl.
10039         * tests/test-ldexpl.c: Include infinity.h.
10040         (main): Use Infinityl.
10041         * tests/test-printf-posix.h: Include infinity.h.
10042         (test_function): Use Infinityd.
10043         * tests/test-roundf1.c: Include infinity.h.
10044         (main): Use Infinityf.
10045         * tests/test-round1.c: Include infinity.h.
10046         (main): Use Infinityd.
10047         * tests/test-roundl.c: Include infinity.h.
10048         (main): Use Infinityl.
10049         * tests/test-signbit.c: Include infinity.h.
10050         (test_signbitf): Use Infinityf.
10051         (test_signbitd): Use Infinityd.
10052         (test_signbitl): Use Infinityl.
10053         * tests/test-snprintf-posix.h: Include infinity.h.
10054         (test_function): Use Infinityd, Infinityl.
10055         * tests/test-sprintf-posix.h: Include infinity.h.
10056         (test_function): Use Infinityd, Infinityl.
10057         * tests/test-truncf1.c: Include infinity.h.
10058         (main): Use Infinityf.
10059         * tests/test-trunc1.c: Include infinity.h.
10060         (main): Use Infinityd.
10061         * tests/test-truncl.c: Include infinity.h.
10062         (main): Use Infinityl.
10063         * tests/test-vasnprintf-posix.c: Include infinity.h.
10064         (test_function): Use Infinityd, Infinityl.
10065         * tests/test-vasprintf-posix.c: Include infinity.h.
10066         (test_function): Use Infinityd, Infinityl.
10067         * modules/ceilf-tests (Files): Add tests/infinity.h.
10068         * modules/ceil-tests (Files): Likewise.
10069         * modules/ceill-tests (Files): Likewise.
10070         * modules/dprintf-posix-tests (Files): Likewise.
10071         * modules/floorf-tests (Files): Likewise.
10072         * modules/floor-tests (Files): Likewise.
10073         * modules/floorl-tests (Files): Likewise.
10074         * modules/fprintf-posix-tests (Files): Likewise.
10075         * modules/frexp-tests (Files): Likewise.
10076         * modules/frexp-nolibm-tests (Files): Likewise.
10077         * modules/frexpl-tests (Files): Likewise.
10078         * modules/frexpl-nolibm-tests (Files): Likewise.
10079         * modules/isfinite-tests (Files): Likewise.
10080         * modules/isinf-tests (Files): Likewise.
10081         * modules/isnan-tests (Files): Likewise.
10082         * modules/isnanf-tests (Files): Likewise.
10083         * modules/isnanf-nolibm-tests (Files): Likewise.
10084         * modules/isnand-tests (Files): Likewise.
10085         * modules/isnand-nolibm-tests (Files): Likewise.
10086         * modules/isnanl-tests (Files): Likewise.
10087         * modules/isnanl-nolibm-tests (Files): Likewise.
10088         * modules/ldexpl-tests (Files): Likewise.
10089         * modules/printf-posix-tests (Files): Likewise.
10090         * modules/roundf-tests (Files): Likewise.
10091         * modules/round-tests (Files): Likewise.
10092         * modules/roundl-tests (Files): Likewise.
10093         * modules/signbit-tests (Files): Likewise.
10094         * modules/snprintf-posix-tests (Files): Likewise.
10095         * modules/sprintf-posix-tests (Files): Likewise.
10096         * modules/truncf-tests (Files): Likewise.
10097         * modules/trunc-tests (Files): Likewise.
10098         * modules/truncl-tests (Files): Likewise.
10099         * modules/vasnprintf-posix-tests (Files): Likewise.
10100         * modules/vasprintf-posix-tests (Files): Likewise.
10101         * modules/vdprintf-posix-tests (Files): Likewise.
10102         * modules/vfprintf-posix-tests (Files): Likewise.
10103         * modules/vprintf-posix-tests (Files): Likewise.
10104         * modules/vsnprintf-posix-tests (Files): Likewise.
10105         * modules/vsprintf-posix-tests (Files): Likewise.
10106         * modules/xprintf-posix-tests (Files): Likewise.
10107
10108 2011-09-11  Bruno Haible  <bruno@clisp.org>
10109
10110         Ensure pid_t gets defined.
10111         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
10112         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10113         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10114         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10115         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10116         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10117         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
10118         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10119         * tests/test-fcntl-h.c: Check that pid_t is defined.
10120         * tests/test-sched.c: Likewise.
10121         * tests/test-termios.c: Likewise.
10122         * tests/test-time.c: Likewise.
10123         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
10124         * doc/posix-headers/signal.texi: Likewise.
10125         * doc/posix-headers/sys_types.texi: Likewise.
10126         * doc/posix-headers/time.texi: Likewise.
10127
10128 2011-09-11  Bruno Haible  <bruno@clisp.org>
10129
10130         acl: Fix compilation on Solaris 10 (older version).
10131         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
10132         of ACE_EVERYONE.
10133         * lib/set-mode-acl.c (qset_acl): Likewise.
10134         Reported by Christian Jullien <eligis@orange.fr>.
10135
10136 2011-09-10  Bruno Haible  <bruno@clisp.org>
10137
10138         iconv, unsetenv: Add support for MSVC compiler.
10139         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
10140         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
10141
10142 2011-09-10  Bruno Haible  <bruno@clisp.org>
10143
10144         *printf: Add support for MSVC compiler.
10145         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
10146         handles the exception caused by the %n directive. When cross-compiling,
10147         guess no on native Windows.
10148         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10149         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
10150         emulate it through vsnprintf.
10151         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
10152         * doc/posix-functions/dprintf.texi: Update documentation regarding
10153         MSVC 9.
10154         * doc/posix-functions/fprintf.texi: Likewise.
10155         * doc/posix-functions/printf.texi: Likewise.
10156         * doc/posix-functions/snprintf.texi: Likewise.
10157         * doc/posix-functions/sprintf.texi: Likewise.
10158         * doc/posix-functions/swprintf.texi: Likewise.
10159         * doc/posix-functions/vdprintf.texi: Likewise.
10160         * doc/posix-functions/vfprintf.texi: Likewise.
10161         * doc/posix-functions/vprintf.texi: Likewise.
10162         * doc/posix-functions/vsnprintf.texi: Likewise.
10163         * doc/posix-functions/vsprintf.texi: Likewise.
10164         * doc/glibc-functions/asprintf.texi: Likewise.
10165         * doc/glibc-functions/obstack_printf.texi: Likewise.
10166         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10167         * doc/glibc-functions/vasprintf.texi: Likewise.
10168
10169 2011-09-10  Bruno Haible  <bruno@clisp.org>
10170
10171         nocrash: Add support for native Windows.
10172         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
10173
10174 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
10175             Bruno Haible  <bruno@clisp.org>
10176
10177         absolute-header, include-next: Add support for MSVC compiler.
10178         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
10179         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
10180         directory separator in #line directives.
10181         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
10182         recognize also backslash as directory separator in #line directives.
10183
10184 2011-09-08  Jim Meyering  <meyering@redhat.com>
10185
10186         maint.mk: mark the post-release commit log with "maint: " prefix
10187         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
10188         one-line commit-log summary.
10189
10190 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
10191             Bruno Haible  <bruno@clisp.org>
10192
10193         Doc about crypt functions.
10194         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
10195         systems.
10196         * doc/posix-functions/encrypt.texi: Likewise.
10197         * doc/posix-functions/setkey.texi: Likewise.
10198
10199 2011-09-08  Simon Josefsson  <simon@josefsson.org>
10200
10201         * lib/gc.h: Fix copyright header.
10202
10203 2011-09-07  Bruno Haible  <bruno@clisp.org>
10204
10205         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
10206         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
10207         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
10208
10209 2011-09-07  Bruno Haible  <bruno@clisp.org>
10210
10211         openat: Work around compilation error with OSF/1 5.1 DTK cc.
10212         * lib/fopen.c: Use different syntax for include of <stdio.h>.
10213         * lib/freopen.c: Likewise.
10214         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
10215         * lib/lstat.c: Likewise.
10216         * lib/stat.c: Likewise.
10217         * lib/open.c: Use different syntax for include of <fcntl.h>.
10218         * lib/openat.c: Include fcntl.h again, explicitly.
10219
10220 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
10221
10222         parse-datetime: document the newly accepted format
10223         * doc/parse-datetime.texi (Combined date and time of day items):
10224         New section.
10225
10226 2011-09-06  Bruno Haible  <bruno@clisp.org>
10227
10228         acl: Fix a test failure on newer Solaris 10 with ZFS.
10229         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
10230         ENOSYS as no ACL.
10231         Reported by Jim Meyering.
10232
10233 2011-09-06  Bruno Haible  <bruno@clisp.org>
10234
10235         acl: Update for AIX >= 5.3 with NFS.
10236         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
10237         ENOSYS as no ACL.
10238
10239         acl: Fix a test failure on AIX >= 5.3 with NFS.
10240         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
10241         as no ACL.
10242
10243 2011-09-06  Bruno Haible  <bruno@clisp.org>
10244
10245         acl: Fix a test failure on IRIX 6.5 with NFS.
10246         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
10247         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
10248         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
10249         * lib/copy-acl.c (qcopy_acl): Likewise.
10250
10251 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10252
10253         openat: port to AIX 7.1 with large files
10254         AIX 7.1 does a "#define openat open64at" if large files are in use,
10255         so we can't simply #undef openat.  Use the orig_openat trick (similar
10256         to orig_open in lib/open.c) to work around the problem.  Problem
10257         reported by Kevin Brott for GNU tar, in the thread containing
10258         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
10259         * lib/openat.c (__need_system_fcntl_h): Define first.
10260         Include <fcntl.h> and <sys/types.h> before undefining.
10261         (orig_openat) [HAVE_OPENAT]: New inline function.
10262         (openat) [HAVE_OPENAT]: Do not undef.
10263         (rpl_openat): Use orig_openat, not openat.
10264
10265 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
10266             Bruno Haible  <bruno@clisp.org>
10267
10268         acl: Avoid errors on NonStop Kernel.
10269         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
10270         ENOTSUP errors.
10271
10272 2011-09-05  Bruno Haible  <bruno@clisp.org>
10273
10274         acl: Clean up Solaris code.
10275         * lib/acl-internal.h: Remove no-op #if.
10276         * lib/file-has-acl.c: Likewise.
10277         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
10278         * lib/copy-acl.c (qcopy_acl): Likewise.
10279
10280 2011-09-05  Bruno Haible  <bruno@clisp.org>
10281
10282         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
10283         binaries built on the original Solaris 10.
10284         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
10285         trivial.
10286
10287 2011-09-05  Bruno Haible  <bruno@clisp.org>
10288
10289         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10290         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
10291         10.
10292         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
10293         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
10294         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
10295         instead of acl_get, facl_get, acl_set, facl_set.
10296
10297 2011-09-05  Bruno Haible  <bruno@clisp.org>
10298
10299         copy-file: Try unit tests on more file systems.
10300         * tests/test-copy-file-1.sh: New file.
10301         * tests/test-copy-file-2.sh: New file.
10302         * modules/copy-file-tests (Files): Add them.
10303         (Makefile.am): Add them to TESTS.
10304
10305         acl: Try unit tests on more file systems.
10306         * tests/test-file-has-acl-1.sh: New file.
10307         * tests/test-file-has-acl-2.sh: New file.
10308         * tests/test-set-mode-acl-1.sh: New file.
10309         * tests/test-set-mode-acl-2.sh: New file.
10310         * tests/test-copy-acl-1.sh: New file.
10311         * tests/test-copy-acl-2.sh: New file.
10312         * modules/acl-tests (Files): Add them.
10313         (Makefile.am): Add them to TESTS.
10314
10315 2011-09-04  Bruno Haible  <bruno@clisp.org>
10316
10317         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
10318         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
10319         10.
10320         (OLD_ALLOW, OLD_DENY): New macros.
10321         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
10322         ACE_ACCESS_ALLOWED_ACE_TYPE.
10323         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
10324         ACE_ACCESS_DENIED_ACE_TYPE.
10325         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
10326         (NEW_ACE_EXECUTE): Fix value.
10327         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
10328         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
10329         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
10330         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
10331         NEW_ACE_SYNCHRONIZE): New macros.
10332         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
10333         instead of acl_fromtext, acl_set, facl_set.
10334         Fixes a coreutils/tests/cp/perm failure.
10335
10336 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
10337
10338         openat: test for fstatat (..., 0) bug
10339         Further testing with tar suggests that fstatat (..., 0)
10340         does not work in general, on AIX 7.1; see
10341         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
10342         So, give up entirely on AIX 7.1's fstatat, and fall back on our
10343         replacement fstatat (which is what older AIX releases were using
10344         anyway).
10345         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
10346         use is now changed to orig_fstatat.  This was probably the right
10347         thing to do anyway.
10348         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
10349         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
10350         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
10351         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
10352         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
10353         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
10354         if the bug is found.
10355
10356         openat: test for fstatat (AT_FDCWD, ..., 0) bug
10357         This tests for another fstatat bug on AIX 7.1:
10358         fstatat (AT_FDCWD, ..., 0) does not work.  See
10359         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
10360         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
10361         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
10362         (rpl_fstatat): Adjust so that it works around either (or both)
10363         bugs if present.
10364         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
10365
10366 2011-09-03  Karl Berry  <karl@gnu.org>
10367
10368         * doc/regex.texi (Character Class Operators): Avoid literal ":"
10369         in index entries.
10370
10371 2011-09-02  Bruno Haible  <bruno@clisp.org>
10372
10373         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
10374         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
10375         values of AR, ARFLAGS, RANLIB.
10376         Reported by John W. Eaton <jwe@gnu.org> for Octave.
10377
10378 2011-09-02  Bruno Haible  <bruno@clisp.org>
10379
10380         Find 'ar' program that fits with --host argument.
10381         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
10382
10383 2011-09-02  Bruno Haible  <bruno@clisp.org>
10384
10385         tests: init.sh: Support any non-GNU diff.
10386         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
10387         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
10388         Solaris 8.
10389
10390 2011-09-02  Bruno Haible  <bruno@clisp.org>
10391
10392         tests: init.sh: work also with any non-GNU diff that supports -u
10393         * tests/init.sh: Relax check for diff -u support.
10394         Rather than checking for GNU diff via --version, simply check
10395         for support for -u itself.  Useful at least on OpenBSD 4.9,
10396         AIX 7.1, IRIX 6.5, and Solaris 10.
10397
10398 2011-09-01  Bruno Haible  <bruno@clisp.org>
10399
10400         strtoimax, strtoumax: Document problem on HP-UX 11.
10401         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
10402         * doc/posix-functions/strtoumax.texi: Likewise.
10403
10404 2011-09-01  Bruno Haible  <bruno@clisp.org>
10405
10406         strtoumax: Avoid link error on OSF/1 with DTK cc.
10407         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
10408         defined as a function.
10409         * modules/strtoumax (Depends-on, configure.ac): Test only whether
10410         strtoumax is defined, not whether it is declared.
10411
10412 2011-09-01  Bruno Haible  <bruno@clisp.org>
10413
10414         strtoimax: Avoid link error on OSF/1 with DTK cc.
10415         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
10416         defined as a function.
10417         * modules/strtoimax (Depends-on, configure.ac): Test only whether
10418         strtoimax is defined, not whether it is declared.
10419
10420 2011-09-01  Bruno Haible  <bruno@clisp.org>
10421
10422         imaxdiv: Avoid link error on OSF/1 with DTK cc.
10423         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
10424         as a function.
10425         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
10426         whether it is declared.
10427
10428 2011-09-01  Bruno Haible  <bruno@clisp.org>
10429
10430         imaxabs: Avoid link error on OSF/1 with DTK cc.
10431         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
10432         as a function.
10433         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
10434         whether it is declared.
10435
10436 2011-09-01  Bruno Haible  <bruno@clisp.org>
10437
10438         Tests for module 'strtoumax'.
10439         * modules/strtoumax-tests: New file.
10440         * tests/test-strtoumax.c: New file.
10441
10442         Tests for module 'strtoimax'.
10443         * modules/strtoimax-tests: New file.
10444         * tests/test-strtoimax.c: New file.
10445
10446         Tests for module 'imaxdiv'.
10447         * modules/imaxdiv-tests: New file.
10448         * tests/test-imaxdiv.c: New file.
10449
10450         Tests for module 'imaxabs'.
10451         * modules/imaxabs-tests: New file.
10452         * tests/test-imaxabs.c: New file.
10453
10454 2011-09-01  Bruno Haible  <bruno@clisp.org>
10455
10456         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
10457         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
10458         pthread_create.
10459
10460 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10461
10462         openat: work around AIX 7.1 fstatat issue
10463         This should fix the problem that was not properly fixed
10464         in the previous change, dated 2011-08-30.
10465         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
10466         __need_system_stat_h defined.
10467         (orig_fstatat) [HAVE_FSTATAT]: New function.
10468         (rpl_fstatat): Go back to the old way of doing things,
10469         except call orig_fstatat instead of fstatat.
10470         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
10471         Remove unnecessary check whether fstatat fills in st_size etc.
10472
10473 2011-09-01  Bruno Haible  <bruno@clisp.org>
10474
10475         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
10476         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
10477         just include the system's header.
10478
10479 2011-08-31  Jim Meyering  <meyering@redhat.com>
10480
10481         tests: avoid spurious assertion failure in test-float.c on ppc64
10482         * tests/test-float.c (test_long_double): Comment out an assertion,
10483         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
10484         with gcc-4.4.4.
10485
10486         maint: indent with spaces, not TABs
10487         I need to get in the habit of running gnulib's "make check".
10488         Both of these would have been caught.
10489         * m4/largefile.m4: Indent with spaces, not TABs.
10490         * lib/parse-datetime.y (iso_8601_time): Likewise.
10491         Spotted by Pádraig Brady.
10492
10493         test-parse-datetime.c: accommodate a relatively strict gcc warning
10494         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
10495         to avoid a warning from gcc's -Werror=missing-declarations.
10496         Insert a few spaces-before-funcall-parenthesis.
10497
10498 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
10499
10500         parse-datetime: accept ISO 8601 date and time rep with "T" separator
10501         The parser now accepts ISO 8601 date-time strings with "T" as the
10502         separator.  It has long parsed dates like "2004-02-29 16:21:42"
10503         with a space between the date and time strings.  Now it also parses
10504         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
10505         variants like "2004-02-29T16:21:42.333-07:00"
10506         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
10507         of day representation using the 'T' separator character.
10508         * doc/parse-datetime.texi (General date syntax): replace use of
10509         deprecated --iso-8601 option with --rfc-3339 in example of date
10510         command output formats that can be parsed.
10511         * tests/test-parse-datetime.c (tm_diff): New function, taken from
10512         lib/parse-datetime.y.
10513         (gmt_offset): New function.
10514         (main): Add additional test cases to validate ISO8601 extended
10515         date and time of day parsing.
10516
10517 2011-08-31  Bruno Haible  <bruno@clisp.org>
10518
10519         freopen: Documentation.
10520         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
10521         name.
10522         Reported by Claudio Bley <claudio.bley@gmail.com>.
10523
10524 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
10525
10526         freopen: Don't crash if the filename argument is NULL.
10527         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
10528         NULL.
10529
10530 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10531
10532         openat: work around AIX 7.1 fstatat bug
10533         Problem reported by Kevin Brott for GNU tar, in the thread containing
10534         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
10535         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
10536         FSTATAT_ST_SIZE_ETC_BROKEN.
10537         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
10538         rpl_fstatat.
10539         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
10540         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
10541         AC_CHECK_FUNCS_ONCE for fstatat.
10542         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
10543         fchmodat, mkdirat, openat and unlinkat.
10544
10545 2011-08-30  Bruno Haible  <bruno@clisp.org>
10546
10547         Avoid endless recursions if config.h includes some header files.
10548         * lib/fopen.c (__need_FILE): Define already before including config.h.
10549         * lib/freopen.c (__need_FILE): Likewise.
10550         * lib/open.c (__need_system_fcntl_h): Likewise.
10551         * lib/stat.c (__need_system_sys_stat_h): Likewise.
10552         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
10553         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10554
10555 2011-08-25  Karl Berry  <karl@gnu.org>
10556
10557         * config/srclist.txt (ylwrap): new try.
10558         * build-aux/ylwrap: new file.
10559
10560 2011-08-23  Bruno Haible  <bruno@clisp.org>
10561
10562         tmpdir: Use a good default directory on native Windows.
10563         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
10564         (P_tmpdir): Default to _P_tmpdir on native Windows.
10565         (path_search): On native Windows, try the value returned by GetTempPath
10566         before trying P_tmpdir.
10567         * modules/tmpdir (Depends-on): Add pathmax.
10568         Suggested by John Darrington <john@darrington.wattle.id.au>.
10569
10570 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
10571
10572         doc: fix typo in README-release
10573         * top/README-release: Capitalize first word of a sentence.
10574
10575 2011-08-19  Jim Meyering  <meyering@redhat.com>
10576
10577         fts: do not exhaust memory when processing million-entry directories
10578         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
10579         directory would require about 256*N bytes of memory.  Thus, it was
10580         easy to construct a directory too large to be processed by any of
10581         those tools.  With this change, fts' maximum memory utilization is
10582         now limited to around 30MB.
10583         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
10584         (fts_read): When we've processed the final entry (i.e., when
10585         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
10586         using the parent entry to read any remaining entries.  Dispatch
10587         depending on what fts_build returns:
10588         - NULL+stop, aka failure: stop
10589         - NULL otherwise: move up in the dir hierarchy
10590         - non-NULL: handle this new entry
10591         (fts_build): Declare and use new local, continue_readdir.
10592         Prepare to be called from fts_read, when the entries
10593         from a partially-read directory have just been exhausted.
10594         In that case, we'll skip the opendir and instead use the parent's
10595         fts_dirp and derive dir_fd from that.
10596         Finally, in the readdir loop, if we read max_entries entries,
10597         exit the loop ensuring *not* to call closedir.  This is required
10598         so that fts_dirp can be reused on a subsequent call.
10599         Prompted by Ben England's report of memory exhaustion in find
10600         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
10601
10602         maint: fts: move decl of `dp' down into while loop; split a long line
10603         * lib/fts.c (fts_build): No semantic change.
10604
10605         fts: add/use new struct member, fts_dirp
10606         We are about to use this to manage any directory with
10607         too many entries to read all of them into memory at once.
10608         To do that, we'll need to save the DIR* pointer in each
10609         affected FTSENT struct.
10610         * lib/fts_.h: Include <dirent.h>.
10611         (struct FTSENT) [fts_dirp]: New member.
10612         * lib/fts.c (closedir_and_clear): Define.
10613         Use it in place of closedir so that we are sure to
10614         clear the new fts_dirp member when done with it.
10615         (fts_alloc): Initialize the new member.
10616         (fts_lfree): Free, if needed.
10617
10618         maint: fts: give __opendir2 a new parameter and rename
10619         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
10620         than surreptitiously using sole caller's "dir_fd".
10621         (fts_opendir): Rename from __opendir2.
10622
10623         maint: fts.c: remove __opendir2's now-unused parameter, oflag
10624         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
10625
10626         maint: fts.c: correct off-by-one indentation
10627         * lib/fts.c (fts_build): Correct indentation, change style
10628         of a couple of block comments, and bracing style.
10629
10630         maint: fts.c: move __opendir2 #define "up" out of function body
10631         * lib/fts.c (__opendir2): Move "up".  No semantic change.
10632
10633         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
10634         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
10635         out for a long time and besides was useful only on BSD systems.
10636
10637 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
10638
10639         regex: port to Stratus OpenVOS
10640         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
10641         define to empty, rather than attempting nonportable optimizations.
10642         Problem reported by Paul Green in:
10643         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
10644         and fix suggested by Eric Blake in:
10645         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
10646
10647 2011-08-17  Eric Blake  <eblake@redhat.com>
10648
10649         getcwd: fix test failures on mingw
10650         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
10651         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
10652         test if long directory cannot be created, and allow mingw errno.
10653
10654         getcwd-lgpl: fix m4 to match relaxed test for BSD
10655         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
10656         (gl_FUNC_GETCWD_SIGNATURE): New macro.
10657         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
10658         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
10659         signature problem.
10660
10661         getcwd: fix compilation on mingw64
10662         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
10663         getcwd.
10664         Reported by Marc-André Lureau.
10665
10666         pipe2: silence compiler warning
10667         * lib/pipe2.c (pipe2): Hide label if it is not used.
10668
10669 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
10670
10671         relocatable-prog: fix link error
10672         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
10673         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
10674         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
10675         into modules/relocatable-lib without noticing that
10676         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
10677         also needs to build relocatable.c.
10678
10679 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10680
10681         getaddrinfo: fix sh typo in gai_strerrorA decl checking
10682         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
10683         shell code: it contained a 'break' that was not in a loop.
10684         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
10685         via a shell-language loop; this may have been true in old Autoconf
10686         versions, but it's not true in Autoconf 2.68.  I found this bug
10687         when testing coreutils git on Solaris 8, whose shell complains
10688         about the syntax error.
10689
10690 2011-08-12  Simon Josefsson  <simon@josefsson.org>
10691
10692         * lib/base64.c: Fix comment to reference RFC 4648.
10693         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
10694         <gvtulder@gmail.com>.
10695
10696 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
10697
10698         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
10699
10700         po/Makefile.in.in: fix make -q problem
10701         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
10702         rule, since there's no file named 'check-macro-version' and its
10703         use as a file breaks make -q.
10704         (all): Don't depend on check-macro-version.
10705         (CHECK_MACRO_VERSION): New macro.
10706         (stamp-po): Use it.
10707
10708         configmake: fix make -q problem
10709         * modules/configmake (configmake.h): Update configmake.h's time stamp
10710         even if the file does not change.  Otherwise, 'make -q' fails.
10711         Problem reported by Simon Josefsson in
10712         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
10713
10714 2011-08-11  Jim Meyering  <meyering@redhat.com>
10715
10716         git-version-gen: correct the advice in a comment
10717         * build-aux/git-version-gen: Correct comment.
10718         Don't recommend to list .tarball-version in .gitignore.
10719
10720 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10721
10722         base64: fix off-by-one buffer size bug
10723         Problem and (trivial) fix reported by Gijs van Tulder in
10724         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
10725         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
10726         * tests/test-base64.c (main): Catch the bug.
10727
10728 2011-08-10  Eric Blake  <eblake@redhat.com>
10729
10730         closein: correct comments
10731         * lib/closein.c (close_stdin): Improve comments.
10732
10733 2011-08-09  Bruno Haible  <bruno@clisp.org>
10734
10735         More tests for 'fseeko'.
10736         * tests/test-fseeko3.c: New file, from Eric Blake.
10737         * tests/test-fseeko3.sh: New file.
10738         * modules/fseeko-tests (Files): Add them.
10739         (TESTS): Add test-fseeko3.sh.
10740         (check_PROGRAMS): Add test-fseeko3.
10741
10742 2011-08-09  Eric Blake  <eblake@redhat.com>
10743
10744         fseeko: remove unneeded hack
10745         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
10746
10747         fseeko: fix bug on glibc
10748         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
10749         Reported by John W. Eaton.
10750
10751 2011-08-08  Bruno Haible  <bruno@clisp.org>
10752
10753         unictype/base: Fix interoperability with preinstalled libunistring.
10754         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
10755         Reported by Simon Josefsson.
10756
10757 2011-08-08  Bruno Haible  <bruno@clisp.org>
10758
10759         iswblank: Detect declaration correctly.
10760         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
10761         AC_CHECK_DECLS invocation.
10762
10763 2011-08-08  Bruno Haible  <bruno@clisp.org>
10764
10765         tcgetsid: Detect declaration correctly.
10766         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
10767         AC_CHECK_DECLS invocation.
10768         Reported by Simon Josefsson.
10769
10770 2011-08-08  Eric Blake  <eblake@redhat.com>
10771
10772         largefile: fix typo that regressed large file support
10773         * modules/largefile (configure.ac-early): Fix section name.
10774
10775 2011-08-06  Karl Berry  <karl@gnu.org>
10776
10777         * MODULES.html.sh (func_all_files): _Noreturn is no longer
10778         a separate module.
10779
10780 2011-08-05  Simon Josefsson  <simon@josefsson.org>
10781
10782         openat: Fix warnings and commens when building unlinkat.c on Hurd.
10783         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
10784         get prototype for free.
10785
10786 2011-08-04  Bruno Haible  <bruno@clisp.org>
10787
10788         Tests for module 'pathmax'.
10789         * modules/pathmax-tests: New file.
10790         * tests/test-pathmax.c: New file.
10791
10792         canonicalize-lgpl: Support larger filenames on the Hurd.
10793         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
10794         Reported by Paul Eggert.
10795
10796         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
10797         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
10798         * lib/chdir-long.h: Include pathmax.h.
10799         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
10800         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
10801         (PATH_MAX): Remove code that is done by pathmax.h.
10802         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
10803         * lib/tmpfile.c: Add a comment.
10804         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
10805         * modules/chdir-long (Depends-on): Add pathmax.
10806         * modules/getcwd (Depends-on): Add pathmax.
10807         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
10808         is not defined.
10809         * doc/posix-headers/limits.texi: Mention the pathmax module.
10810         * NEWS: Mention the change.
10811
10812 2011-08-02  Bruno Haible  <bruno@clisp.org>
10813
10814         pthread_sigmask: Actually use results of gl_THREADLIB.
10815         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
10816         gl_THREADLIB, not gl_[]THREADLIB.
10817         Reported by Eric Blake.
10818
10819 2011-08-02  Jim Meyering  <meyering@redhat.com>
10820
10821         maint.mk: relax the default _gl_TS_function_match regexp
10822         * top/maint.mk (_gl_TS_function_match): Don't require at least one
10823         space between function name and "(" in an "extern" declaration.
10824         That would fail to match a decl with no space there: extern void foo();
10825
10826 2011-07-31  Iain Nicol  <iain@thenicols.net>
10827
10828         git-version-gen: document that EXTRA_DIST must include .version
10829         * build-aux/git-version-gen: In the how-to-use comment, document
10830         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
10831         will fail when run from an unpacked distribution tarball.
10832
10833 2011-08-01  Bruno Haible  <bruno@clisp.org>
10834
10835         wctype-h: Fix last change.
10836         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
10837         REPLACE_TOWLOWER to 0.
10838         Reported by Sam Steingold <sds@gnu.org>.
10839
10840 2011-07-31  Bruno Haible  <bruno@clisp.org>
10841
10842         frexpl: Update autoconf test.
10843         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
10844         according to changes of 2011-06-20.
10845
10846 2011-07-31  Bruno Haible  <bruno@clisp.org>
10847
10848         sys_utsname: Add support for Minix.
10849         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
10850         <sys/utsname.h>.
10851         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10852         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
10853
10854 2011-07-31  Bruno Haible  <bruno@clisp.org>
10855
10856         strings: Add support for Minix.
10857         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
10858         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
10859         * doc/posix-headers/strings.texi: Document the Minix problem.
10860
10861 2011-07-31  Bruno Haible  <bruno@clisp.org>
10862
10863         wctype-h: Add support for Minix.
10864         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
10865         REPLACE_TOWLOWER.
10866         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
10867         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
10868         REPLACE_ISWCNTRL.
10869
10870 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
10871
10872         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
10873         This is a performance improvement for 64-bit hosts: it causes the
10874         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
10875
10876 2011-07-31  Bruno Haible  <bruno@clisp.org>
10877
10878         stdioext: Add support for Minix.
10879         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
10880         * lib/fpurge.c (fpurge): Likewise.
10881         * lib/freadahead.c (freadahead): Likewise.
10882         * lib/freadable.c (freadable): Likewise.
10883         * lib/freading.c (freading): Likewise.
10884         * lib/freadptr.c (freadptr): Likewise.
10885         * lib/freadseek.c (freadptrinc): Likewise.
10886         * lib/fseeko.c (rpl_fseeko): Likewise.
10887         * lib/fseterr.c (fseterr): Likewise.
10888         * lib/fwritable.c (fwritable): Likewise.
10889         * lib/fwriting.c (fwriting): Likewise.
10890         * lib/fflush.c (clear_ungetc_buffer): Update comment.
10891         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
10892
10893 2011-07-31  Bruno Haible  <bruno@clisp.org>
10894
10895         errno: Port to Minix.
10896         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
10897         ECONNABORTED are defined.
10898         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
10899         GNULIB_defined_ECONNABORTED): New macros.
10900         * lib/strerror-override.h (strerror_override): Test also
10901         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
10902         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
10903         ECONNABORTED.
10904         * doc/posix-headers/errno.texi: Mention the Minix problem.
10905
10906 2011-07-31  Bruno Haible  <bruno@clisp.org>
10907
10908         Work around declaration collisions on Minix.
10909         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
10910         defined, set REPLACE_MBSINIT.
10911         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
10912         defined, set REPLACE_MBRTOWC.
10913         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
10914         set REPLACE_MBRLEN.
10915         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
10916         defined, set REPLACE_MBSRTOWCS.
10917         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
10918         defined, set REPLACE_WCRTOMB.
10919         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
10920         defined, set REPLACE_WCSRTOMBS.
10921
10922 2011-07-31  Bruno Haible  <bruno@clisp.org>
10923
10924         Add support for Minix with ACK compiler.
10925         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
10926         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
10927         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
10928
10929 2011-07-31  Bruno Haible  <bruno@clisp.org>
10930
10931         Documentation about Minix.
10932         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
10933         * doc/glibc-headers/*.texi: Likewise.
10934         * doc/posix-functions/*.texi: Likewise.
10935         * doc/glibc-functions/*.texi: Likewise.
10936
10937 2011-07-31  Bruno Haible  <bruno@clisp.org>
10938
10939         snippet/warn-on-use: Fix indentation.
10940         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
10941
10942 2011-07-25  Jim Meyering  <meyering@redhat.com>
10943
10944         tests: test-update-copyright.sh: remove unnecessary "rm" commands
10945         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
10946         commands.
10947
10948 2011-07-27  Jim Meyering  <meyering@redhat.com>
10949
10950         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
10951         * top/maint.mk (gl_extract_significant_defines_): Now that
10952         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
10953         gnulib/lib/signal.in.h, and now that we recommend to
10954         define-if-undefined those two symbols in application code,
10955         we must filter them out of the "significant" list.
10956         This avoids a "make syntax-check" failure in coreutils.
10957
10958 2011-07-26  Eric Blake  <eblake@redhat.com>
10959
10960         warnings: add comments about previous patch
10961         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
10962         * m4/include_next.m4: Likewise.
10963         * m4/warn-on-use.m4: Likewise.
10964         * m4/warnings.m4: Likewise, and simplify use.
10965         Suggested by Stefano Lattarini.
10966
10967         include-next, warnings: support older autoconf
10968         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
10969         AS_VAR_PUSHDEF in a way that works with older autoconf.
10970         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
10971         Reported by Daniel P. Berrange.
10972
10973 2011-07-25  Bruno Haible  <bruno@clisp.org>
10974
10975         fseek, ftell: Fix doc.
10976         * doc/posix-functions/fseek.texi: Reword statement about
10977         AC_SYS_LARGEFILE.
10978         * doc/posix-functions/ftell.texi: Likewise.
10979
10980 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
10981             Bruno Haible  <bruno@clisp.org>
10982
10983         Add dependencies to the 'largefile' module.
10984         * modules/fopen (Depends-on): Add 'largefile'.
10985         * modules/freopen (Depends-on): Likewise.
10986         * modules/fseeko (Depends-on): Likewise.
10987         * modules/ftello (Depends-on): Likewise.
10988         * modules/glob (Depends-on): Likewise.
10989         * modules/lseek (Depends-on): Likewise.
10990         * modules/lstat (Depends-on): Likewise.
10991         * modules/mkostemp (Depends-on): Likewise.
10992         * modules/mkostemps (Depends-on): Likewise.
10993         * modules/mkstemp (Depends-on): Likewise.
10994         * modules/mkstemps (Depends-on): Likewise.
10995         * modules/open (Depends-on): Likewise.
10996         * modules/openat (Depends-on): Likewise.
10997         * modules/pread (Depends-on): Likewise.
10998         * modules/pwrite (Depends-on): Likewise.
10999         * modules/scandir (Depends-on): Likewise.
11000         * modules/stat (Depends-on): Likewise.
11001         * modules/tmpfile (Depends-on): Likewise.
11002         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
11003         since the containing module now depends on the largefile module.
11004         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
11005         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
11006         off_t is fixed by gnulib.
11007         * doc/posix-functions/freopen.texi: Likewise.
11008         * doc/posix-functions/fseeko.texi: Likewise.
11009         * doc/posix-functions/fstatat.texi: Likewise.
11010         * doc/posix-functions/ftello.texi: Likewise.
11011         * doc/posix-functions/glob.texi: Likewise.
11012         * doc/posix-functions/lseek.texi: Likewise.
11013         * doc/posix-functions/lstat.texi: Likewise.
11014         * doc/posix-functions/mkstemp.texi: Likewise.
11015         * doc/posix-functions/open.texi: Likewise.
11016         * doc/posix-functions/openat.texi: Likewise.
11017         * doc/posix-functions/pread.texi: Likewise.
11018         * doc/posix-functions/pwrite.texi: Likewise.
11019         * doc/posix-functions/scandir.texi: Likewise.
11020         * doc/posix-functions/stat.texi: Likewise.
11021         * doc/posix-functions/tmpfile.texi: Likewise.
11022         * doc/glibc-functions/mkostemp.texi: Likewise.
11023         * doc/glibc-functions/mkostemps.texi: Likewise.
11024         * doc/glibc-functions/mkstemps.texi: Likewise.
11025
11026 2011-07-25  Bruno Haible  <bruno@clisp.org>
11027
11028         fcntl: Move AC_LIBOBJ invocation to module description.
11029         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
11030         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
11031
11032         fcntl: Remove call-in from fchdir.m4.
11033         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
11034         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
11035
11036         dup3: Remove potential call-in from fchdir.m4.
11037         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
11038         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
11039
11040         dup2: Move AC_LIBOBJ invocation to module description.
11041         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
11042         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
11043         Don't invoke AC_LIBOBJ.
11044         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
11045
11046         dup2: Remove call-in from fchdir.m4.
11047         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
11048         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
11049
11050         fclose: Move AC_LIBOBJ invocation to module description.
11051         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
11052         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
11053         to 1.
11054         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
11055
11056         fclose: Remove call-in from close.m4.
11057         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
11058         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
11059
11060         close: Move AC_LIBOBJ invocation to module description.
11061         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
11062         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
11063         1.
11064         * modules/close (configure.ac): Invoke AC_LIBOBJ.
11065
11066         close: Remove call-in from fchdir.m4.
11067         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
11068         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
11069
11070         open: Move AC_LIBOBJ invocation to module description.
11071         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
11072         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
11073         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
11074
11075         open: Remove call-in from fchdir.m4.
11076         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
11077         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
11078
11079         fchdir: Start to remove gl_REPLACE_* idiom.
11080         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
11081         (gl_FUNC_FCHDIR): Invoke it.
11082
11083 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11084
11085         * lib/ftell.c (ftell): Comment out cast.
11086
11087         close: use gl_REPLACE_FCLOSE only if defined
11088         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
11089         is defined.  The close module doesn't depend on the fclose module
11090         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
11091         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
11092         I reproduced the problem with "./gnulib-tool --test close sys_socket".
11093
11094 2011-07-24  Jim Meyering  <meyering@redhat.com>
11095
11096         test-select.h: avoid warning when using gcc's -Wmissing-declarations
11097         * tests/test-select.h (test_function): Declare as "static".
11098
11099 2011-07-24  Bruno Haible  <bruno@clisp.org>
11100
11101         doc: Mention the effects of AC_SYS_LARGEFILE.
11102         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
11103         on this function.
11104         * doc/posix-functions/aio_error.texi: Likewise.
11105         * doc/posix-functions/aio_fsync.texi: Likewise.
11106         * doc/posix-functions/aio_read.texi: Likewise.
11107         * doc/posix-functions/aio_return.texi: Likewise.
11108         * doc/posix-functions/aio_suspend.texi: Likewise.
11109         * doc/posix-functions/aio_write.texi: Likewise.
11110         * doc/posix-functions/fgetpos.texi: Likewise.
11111         * doc/posix-functions/fopen.texi: Likewise.
11112         * doc/posix-functions/freopen.texi: Likewise.
11113         * doc/posix-functions/fsetpos.texi: Likewise.
11114         * doc/posix-functions/fstatvfs.texi: Likewise.
11115         * doc/posix-functions/ftruncate.texi: Likewise.
11116         * doc/posix-functions/ftw.texi: Likewise.
11117         * doc/posix-functions/getrlimit.texi: Likewise.
11118         * doc/posix-functions/glob.texi: Likewise.
11119         * doc/posix-functions/lio_listio.texi: Likewise.
11120         * doc/posix-functions/lockf.texi: Likewise.
11121         * doc/posix-functions/mkstemp.texi: Likewise.
11122         * doc/posix-functions/mmap.texi: Likewise.
11123         * doc/posix-functions/nftw.texi: Likewise.
11124         * doc/posix-functions/openat.texi: Likewise.
11125         * doc/posix-functions/opendir.texi: Likewise.
11126         * doc/posix-functions/posix_fadvise.texi: Likewise.
11127         * doc/posix-functions/posix_fallocate.texi: Likewise.
11128         * doc/posix-functions/pread.texi: Likewise.
11129         * doc/posix-functions/pwrite.texi: Likewise.
11130         * doc/posix-functions/readdir.texi: Likewise.
11131         * doc/posix-functions/readdir_r.texi: Likewise.
11132         * doc/posix-functions/rewinddir.texi: Likewise.
11133         * doc/posix-functions/scandir.texi: Likewise.
11134         * doc/posix-functions/seekdir.texi: Likewise.
11135         * doc/posix-functions/setrlimit.texi: Likewise.
11136         * doc/posix-functions/statvfs.texi: Likewise.
11137         * doc/posix-functions/telldir.texi: Likewise.
11138         * doc/posix-functions/tmpfile.texi: Likewise.
11139         * doc/posix-functions/truncate.texi: Likewise.
11140         * doc/glibc-functions/fallocate.texi: Likewise.
11141         * doc/glibc-functions/fstatfs.texi: Likewise.
11142         * doc/glibc-functions/fts_children.texi: Likewise.
11143         * doc/glibc-functions/fts_read.texi: Likewise.
11144         * doc/glibc-functions/getdirentries.texi: Likewise.
11145         * doc/glibc-functions/mkostemp.texi: Likewise.
11146         * doc/glibc-functions/mkostemps.texi: Likewise.
11147         * doc/glibc-functions/mkstemps.texi: Likewise.
11148         * doc/glibc-functions/preadv.texi: Likewise.
11149         * doc/glibc-functions/pwritev.texi: Likewise.
11150         * doc/glibc-functions/sendfile.texi: Likewise.
11151         * doc/glibc-functions/statfs.texi: Likewise.
11152
11153 2011-07-24  Bruno Haible  <bruno@clisp.org>
11154
11155         doc: Fix typo.
11156         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
11157
11158 2011-07-24  Bruno Haible  <bruno@clisp.org>
11159
11160         doc: Mention fsusage.
11161         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
11162
11163 2011-07-24  Bruno Haible  <bruno@clisp.org>
11164
11165         doc: Mention new glibc headers and functions.
11166         * doc/glibc-headers/gshadow.texi: New file.
11167         * doc/glibc-functions/endsgent.texi: New file.
11168         * doc/glibc-functions/fgetsgent.texi: New file.
11169         * doc/glibc-functions/fgetsgent_r.texi: New file.
11170         * doc/glibc-functions/getsgent.texi: New file.
11171         * doc/glibc-functions/getsgent_r.texi: New file.
11172         * doc/glibc-functions/getsgnam.texi: New file.
11173         * doc/glibc-functions/getsgnam_r.texi: New file.
11174         * doc/glibc-functions/putsgent.texi: New file.
11175         * doc/glibc-functions/setsgent.texi: New file.
11176         * doc/glibc-functions/sgetsgent.texi: New file.
11177         * doc/glibc-functions/sgetsgent_r.texi: New file.
11178         * doc/glibc-functions/malloc_info.texi: New file.
11179         * doc/glibc-functions/preadv.texi: New file.
11180         * doc/glibc-functions/pwritev.texi: New file.
11181         * doc/glibc-functions/register_printf_modifier.texi: New file.
11182         * doc/glibc-functions/register_printf_specifier.texi: New file.
11183         * doc/glibc-functions/register_printf_type.texi: New file.
11184         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
11185         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
11186         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
11187         * doc/glibc-functions/pthread_getname_np.texi: New file.
11188         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
11189         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
11190         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
11191         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
11192         * doc/glibc-functions/pthread_setname_np.texi: New file.
11193         * doc/glibc-functions/pthread_sigqueue.texi: New file.
11194         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
11195         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
11196         * doc/glibc-functions/qsort_r.texi: New file.
11197         * doc/glibc-functions/quick_exit.texi: New file.
11198         * doc/glibc-functions/syncfs.texi: New file.
11199         * doc/gnulib.texi: Include them.
11200         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
11201         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
11202         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
11203         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
11204         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
11205         * doc/glibc-functions/execvpe.texi: Likewise.
11206
11207 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11208
11209         ftell: don't include <unistd.h>
11210         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
11211         guaranteed to define off_t, and the ftell module depends on the
11212         stdio module.
11213
11214         ftell: do not assume wraparound signed arithmetic
11215         * lib/ftell.c: Include <limits.h>.
11216         (ftell): Don't assume wraparound signed arithmetic.
11217
11218 2011-07-24  Bruno Haible  <bruno@clisp.org>
11219
11220         close: No longer depend on module 'fclose'.
11221         * modules/close (Depends-on): Remove fclose.
11222         * NEWS: Mention the change.
11223         Suggested by Sam Steingold <sds@gnu.org>.
11224
11225 2011-07-24  Bruno Haible  <bruno@clisp.org>
11226
11227         fsusage: Enable large volume support on AIX >= 5.2.
11228         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
11229         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
11230         instead of STAT_STATVFS.
11231         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
11232
11233         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
11234         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
11235         f_blocks field only on MacOS X.
11236
11237         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
11238         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
11239         * modules/fsusage (Depends-on): Add largefile.
11240
11241 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
11242
11243         * README: Modernize discussion of signed integers.
11244         Assuming overflow wraparound is no longer safe.
11245         Mention ones' complement and signed magnitude.
11246
11247 2011-07-22  Bruno Haible  <bruno@clisp.org>
11248
11249         select tests, pselect tests: Refactor.
11250         * tests/test-select.h: New file, extracted from tests/test-select.c.
11251         (select_fn): New type.
11252         (test, do_select, do_select_nowait, do_select_wait, test_tty,
11253         test_connect_first, test_accept_first, test_pair, test_socket_pair,
11254         test_pipe): Add my_select argument.
11255         (test_function): Renamed from main. Add my_select argument.
11256         * tests/test-select.c: Move most code to tests/test-select.h. Include
11257         test-select.h.
11258         * modules/select-tests (Files): Add tests/test-select.h.
11259         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
11260         (my_select, main): New functions.
11261         * modules/pselect-tests (Files): Add tests/test-select.h,
11262         tests/macros.h, tests/signature.h.
11263         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
11264         (configure.ac): Check for <sys/wait.h>.
11265
11266 2011-07-22  Bruno Haible  <bruno@clisp.org>
11267
11268         sys_select tests: Check the signature of FD_*.
11269         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
11270         signature tests from here...
11271         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
11272         here.
11273         * modules/sys_select-tests (Files): Add tests/signature.h.
11274
11275 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
11276
11277         largefile: new module, replacing large-inode
11278         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
11279         * MODULES.html.sh: Add largefile, remove large-inode.
11280         * modules/largefile, m4/largefile.m4: New files.
11281         * modules/large-inode, m4/large-inode.m4: Remove.
11282
11283         fsusage: port to MacOS X 10.7 with 4 TiB file systems
11284         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
11285         implementations that use only 32 bits to count blocks.
11286         On typical hosts with 1024-byte blocks, this fails with file
11287         systems as small as 4 TiB.  Problem reported by Herb Wartens
11288         <http://debbugs.gnu.org/9140> and this should also fix a similar
11289         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
11290
11291         large-inode: New module
11292         * MODULES.html.sh: Add it.
11293         * modules/large-inode, m4/large-inode.m4: New files.
11294
11295         extensions: Enable extensions on MacOS X 10.5 and later.
11296         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
11297
11298 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
11299
11300         file-has-acl: use acl_extended_file_nofollow if available
11301         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
11302         (acl_extended_file): New macro.
11303         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
11304         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
11305
11306 2011-07-21  Bruno Haible  <bruno@clisp.org>
11307
11308         Declare system functions in a way that works with C++.
11309         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
11310         declare fdopendir as extern "C".
11311         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
11312         declare frexpl as extern "C".
11313         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
11314         declare gai_strerror as extern "C".
11315         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
11316         programs, declare gai_strerror as extern "C".
11317         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
11318         declare getlogin_r as extern "C".
11319         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
11320         as extern "C".
11321         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
11322         declare ldexpl as extern "C".
11323         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
11324         as extern "C".
11325         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
11326         program, declare getmntinfo as extern "C".
11327         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
11328         stpncpy as extern "C".
11329         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
11330         program, declare __xpg_strerror_r as extern "C".
11331         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
11332         strndup as extern "C".
11333         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
11334         declare memset and bzero as extern "C".
11335         Reported by Sam Steingold <sds@gnu.org>.
11336
11337 2011-07-12  Jim Meyering  <meyering@redhat.com>
11338
11339         maint.mk: prohibit inclusion of "verify.h" without use
11340         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
11341
11342 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11343
11344         timer-time: A new module to check for timer_settime()
11345         * m4/timer_time.m4: Check for the posix function.
11346         * modules/timer-time: Add the new module.
11347         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
11348         Mention it.
11349
11350 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
11351             Bruno Haible  <bruno@clisp.org>
11352
11353         pthread_sigmask: assume POSIX threads if --avoid=threadlib
11354         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
11355         not defined, assume POSIX threads and look for pthread_sigmask in
11356         $LIBS, without changing $CPPFLAGS.
11357
11358 2011-07-19  Bruno Haible  <bruno@clisp.org>
11359
11360         strstr: Update cross-compilation guess.
11361         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
11362         CPUs, guess no, in view of glibc
11363         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
11364         Suggested by Eric Blake. Reported by Reuben Thomas.
11365
11366 2011-07-19  Pádraig Brady  <P@draigBrady.com>
11367
11368         getopt-gnu: suppress core dumps from detection code
11369         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
11370         to suppress core dumps that may well occur on glibc systems.
11371         * modules/getopt-gnu: Depend on nocrash.
11372
11373 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
11374
11375         pthread_sigmask: ensure usleep is declared
11376         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
11377         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
11378
11379 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11380
11381         doc: Document NonStop portability issues.
11382         * doc/posix-functions/sigaction.texi (sigaction):
11383         * doc/posix-headers/signal.texi (signal.h):
11384         Document NonStop.  See Joachim Schmitz in
11385         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
11386
11387 2011-07-15  Bruno Haible  <bruno@clisp.org>
11388
11389         ffsl, ffsll: Avoid unportable behaviour.
11390         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
11391
11392 2011-07-15  Bruno Haible  <bruno@clisp.org>
11393
11394         ffs: More tests.
11395         * tests/test-ffs.c (NBITS): New macro.
11396         (main): Add more tests.
11397         * tests/test-ffsl.c (NBITS): New macro.
11398         (main): Add more tests.
11399         * tests/test-ffsll.c (NBITS): New macro.
11400         (main): Add more tests.
11401
11402 2011-07-15  Eric Blake  <eblake@redhat.com>
11403
11404         ffsl, ffsll: new modules
11405         * modules/ffsl: New file.
11406         * modules/ffsll: Likewise.
11407         * m4/ffsl.m4: Likewise.
11408         * m4/ffsll.m4: Likewise.
11409         * lib/ffsl.c: Likewise.
11410         * lib/ffsl.h: Likewise.
11411         * lib/ffsll.c: Likewise.
11412         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
11413         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
11414         * modules/string (Makefile.am): Substitute witnesses.
11415         * lib/strings.in.h (ffsl, ffsll): Declare.
11416         * modules/ffsl-tests: New test file.
11417         * modules/ffsll-tests: Likewise.
11418         * tests/test-ffsl.c: Likewise.
11419         * tests/test-ffsll.c: Likewise.
11420         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11421         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
11422         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
11423
11424         ffs: fix m4 prerequisite
11425         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
11426
11427         ffs: avoid undefined behavior
11428         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
11429         * tests/test-ffs.c (naive, main): Avoid signed shifts.
11430         Reported by Bruno Haible.
11431
11432 2011-07-12  Bruno Haible  <bruno@clisp.org>
11433
11434         pthread_sigmask: Rely on module 'threadlib'.
11435         * modules/pthread_sigmask (Depends-on): Add threadlib.
11436         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
11437         is defined.
11438
11439 2011-07-12  Bruno Haible  <bruno@clisp.org>
11440
11441         regex: Depend on module 'strcase'.
11442         * modules/regex (Depends-on): Add strcase, for strcasecmp().
11443
11444 2011-07-12  Jim Meyering  <meyering@redhat.com>
11445
11446         warn-on-use: fix typo in file name
11447         * modules/snippet/warn-on-use (Files): Correct file name:
11448         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
11449
11450 2011-07-12  Bruno Haible  <bruno@clisp.org>
11451
11452         strings: Document module.
11453         * doc/posix-headers/strings.texi: Mention module 'strings'.
11454
11455 2011-07-12  Bruno Haible  <bruno@clisp.org>
11456
11457         Rename module '_Noreturn' to 'snippet/_Noreturn'.
11458         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
11459         (Files, Makefile.am): Update.
11460         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
11461         * modules/stdlib (Depends-on): Update.
11462
11463 2011-07-12  Bruno Haible  <bruno@clisp.org>
11464
11465         * NEWS: Mention the changes.
11466
11467         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
11468         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
11469         (Files, Makefile.am): Update.
11470         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
11471         * modules/arpa_inet (Depends-on): Update.
11472         * modules/ctype (Depends-on): Update.
11473         * modules/dirent (Depends-on): Update.
11474         * modules/fcntl-h (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/langinfo (Depends-on): Update.
11479         * modules/locale (Depends-on): Update.
11480         * modules/math (Depends-on): Update.
11481         * modules/netdb (Depends-on): Update.
11482         * modules/poll-h (Depends-on): Update.
11483         * modules/pty (Depends-on): Update.
11484         * modules/search (Depends-on): Update.
11485         * modules/signal (Depends-on): Update.
11486         * modules/spawn (Depends-on): Update.
11487         * modules/stdio (Depends-on): Update.
11488         * modules/stdlib (Depends-on): Update.
11489         * modules/string (Depends-on): Update.
11490         * modules/strings (Depends-on): Update.
11491         * modules/sys_file (Depends-on): Update.
11492         * modules/sys_ioctl (Depends-on): Update.
11493         * modules/sys_select (Depends-on): Update.
11494         * modules/sys_socket (Depends-on): Update.
11495         * modules/sys_stat (Depends-on): Update.
11496         * modules/sys_time (Depends-on): Update.
11497         * modules/sys_times (Depends-on): Update.
11498         * modules/sys_utsname (Depends-on): Update.
11499         * modules/sys_wait (Depends-on): Update.
11500         * modules/termios (Depends-on): Update.
11501         * modules/time (Depends-on): Update.
11502         * modules/unistd (Depends-on): Update.
11503         * modules/wchar (Depends-on): Update.
11504         * modules/wctype-h (Depends-on): Update.
11505         * MODULES.html.sh (Support for building libraries and executables):
11506         Update.
11507
11508         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
11509         * modules/snippet/unused-parameter: Renamed from
11510         modules/unused-parameter.
11511         (Files, Makefile.am): Update.
11512         * build-aux/snippet/unused-parameter.h: Renamed from
11513         build-aux/unused-parameter.h.
11514         * modules/selinux-h (Depends-on): Update.
11515         * modules/unistr/base (Depends-on): Update.
11516         * MODULES.html.sh (Core language properties): Update.
11517
11518         Rename module 'link-warning' to 'snippet/link-warning'.
11519         * modules/snippet/link-warning: Renamed from modules/link-warning.
11520         (Files, Makefile.am): Update.
11521         * build-aux/snippet/link-warning.h: Renamed from
11522         build-aux/link-warning.h.
11523         * MODULES.html.sh (Support for building libraries and executables):
11524         Update.
11525
11526         Rename module 'c++defs' to 'snippet/c++defs'.
11527         * modules/snippet/c++defs: Renamed from modules/c++defs.
11528         (Files, Makefile.am): Update.
11529         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
11530         * modules/arpa_inet (Depends-on): Update.
11531         * modules/ctype (Depends-on): Update.
11532         * modules/dirent (Depends-on): Update.
11533         * modules/fcntl-h (Depends-on): Update.
11534         * modules/glob (Depends-on): Update.
11535         * modules/iconv-h (Depends-on): Update.
11536         * modules/langinfo (Depends-on): Update.
11537         * modules/locale (Depends-on): Update.
11538         * modules/math (Depends-on): Update.
11539         * modules/netdb (Depends-on): Update.
11540         * modules/poll-h (Depends-on): Update.
11541         * modules/pty (Depends-on): Update.
11542         * modules/search (Depends-on): Update.
11543         * modules/signal (Depends-on): Update.
11544         * modules/spawn (Depends-on): Update.
11545         * modules/stdio (Depends-on): Update.
11546         * modules/stdlib (Depends-on): Update.
11547         * modules/string (Depends-on): Update.
11548         * modules/strings (Depends-on): Update.
11549         * modules/sys_ioctl (Depends-on): Update.
11550         * modules/sys_select (Depends-on): Update.
11551         * modules/sys_socket (Depends-on): Update.
11552         * modules/sys_stat (Depends-on): Update.
11553         * modules/sys_time (Depends-on): Update.
11554         * modules/sys_wait (Depends-on): Update.
11555         * modules/termios (Depends-on): Update.
11556         * modules/time (Depends-on): Update.
11557         * modules/unistd (Depends-on): Update.
11558         * modules/wchar (Depends-on): Update.
11559         * modules/wctype-h (Depends-on): Update.
11560
11561         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
11562         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
11563         (Files, Makefile.am): Update.
11564         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
11565         * modules/argv-iter (Depends-on): Update.
11566         * modules/arpa_inet (Depends-on): Update.
11567         * modules/dirent (Depends-on): Update.
11568         * modules/fcntl-h (Depends-on): Update.
11569         * modules/fnmatch (Depends-on): Update.
11570         * modules/getopt-posix (Depends-on): Update.
11571         * modules/glob (Depends-on): Update.
11572         * modules/iconv-h (Depends-on): Update.
11573         * modules/inttypes-incomplete (Depends-on): Update.
11574         * modules/locale (Depends-on): Update.
11575         * modules/math (Depends-on): Update.
11576         * modules/netdb (Depends-on): Update.
11577         * modules/search (Depends-on): Update.
11578         * modules/signal (Depends-on): Update.
11579         * modules/spawn (Depends-on): Update.
11580         * modules/stdio (Depends-on): Update.
11581         * modules/stdlib (Depends-on): Update.
11582         * modules/string (Depends-on): Update.
11583         * modules/strings (Depends-on): Update.
11584         * modules/sys_socket (Depends-on): Update.
11585         * modules/sys_stat (Depends-on): Update.
11586         * modules/sys_time (Depends-on): Update.
11587         * modules/sys_times (Depends-on): Update.
11588         * modules/sys_utsname (Depends-on): Update.
11589         * modules/time (Depends-on): Update.
11590         * modules/unistd (Depends-on): Update.
11591         * modules/wchar (Depends-on): Update.
11592         * MODULES.html.sh (Support for building libraries and executables):
11593         Update.
11594
11595 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11596
11597         Improvements on _Noreturn and related modules.
11598
11599         modules/_Exit-tests: test _Noreturn too
11600         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
11601         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
11602         (main): Use them.
11603
11604         stdnoreturn, stdnoreturn-tests: remove modules
11605         They're not needed here and a bit premature for use elsewhere.  See
11606         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
11607         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
11608         * tests/test-stdnoreturn.c: Remove files.
11609         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
11610         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
11611         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
11612         and using noreturn.
11613         * modules/openat, modules/sigpipe-die, modules/xalloc:
11614         * modules/xmemdup0, modules/xstrtol:
11615         Remove dependency on stdnoreturn.
11616
11617         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
11618         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
11619         Reparenthesize to avoid GCC warning.
11620         Support Microsoft's syntax.
11621         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
11622
11623         _Noreturn-tests: remove module
11624         * modules/_Noreturn-tests: Remove.
11625         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
11626         * tests/test-_Noreturn.c: Remove.
11627         * tests/test-stdnoreturn.c: Merge from the old
11628         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
11629
11630 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
11631
11632         _Noreturn, stdnoreturn, and related modules.
11633
11634         * top/maint.mk: Adjust to new noreturn support.
11635         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
11636         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
11637
11638         xalloc: use stdnoreturn.h
11639         * lib/xalloc.h: Include <stdnoreturn.h>.
11640         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11641         * modules/xalloc (Depends-on): Add stdnoreturn.
11642
11643         xstrtol: use stdnoreturn.h
11644         * lib/xstrtol.h: Include <stdnoreturn.h>.
11645         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11646         * modules/xstrtol (Depends-on): Add stdnoreturn.
11647
11648         xmemdup0: use stdnoreturn.h
11649         * lib/xmemdup0.h: Include <stdnoreturn.h>.
11650         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11651         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
11652
11653         sigpipe-die: use stdnoreturn.h
11654         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
11655         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11656         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
11657
11658         openat: use stdnoreturn.h
11659         * lib/openat.h: Include <stdnoreturn.h>.
11660         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
11661         * modules/openat (Depends-on): Add stdnoreturn.
11662
11663         * lib/openat-die.c (openat_save_fail): Modernize comment.
11664
11665         * lib/xalloc-die.c (xalloc_die): Modernize comment.
11666
11667         * lib/glthread/thread.h: Modernize comment.
11668
11669         obstack: use _Noreturn
11670         * lib/obstack.c (__attribute__): Remove macro.
11671         (print_and_abort): Use _Noreturn.
11672
11673         c-stack: use _Noreturn
11674         * lib/c-stack.c (die, overflow_handler, segv_handler):
11675         Use _Noreturn rather than __attribute__((noreturn)).
11676
11677         argmatch-tests, exclude_tests: use _Noreturn
11678         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
11679         Remove.
11680         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
11681
11682         stdlib: use _Noreturn
11683         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
11684         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
11685         * modules/stdlib (Depends-on): Add _Noreturn.
11686         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
11687
11688         stdnoreturn-tests: new module
11689         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
11690
11691         stdnoreturn: new module
11692         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
11693         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
11694
11695         _Noreturn-tests: new module
11696         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
11697
11698         _Noreturn: new module
11699         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
11700         New section, mentioning it.
11701         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
11702
11703         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
11704
11705 2011-07-11  Eric Blake  <eblake@redhat.com>
11706
11707         ffs: new module
11708         * modules/ffs: New file.
11709         * m4/ffs.m4: Likewise.
11710         * lib/ffs.c: Likewise.
11711         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
11712         * modules/strings (Makefile.am): Substitute witness.
11713         (Depends-on): Add c++defs.
11714         * lib/strings.in.h (ffs): Declare.
11715         * modules/ffs-tests: New test file.
11716         * tests/test-ffs.c: Test new module.
11717         * MODULES.html.sh (Integer arithmetic functions): Mention it.
11718         * doc/posix-functions/ffs.texi (ffs): Likewise.
11719
11720         regex: avoid compiler warning
11721         * lib/regex.c (includes): Include <strings.h>, for use of
11722         strcasecmp in regcomp.c.
11723         Reported by Joachim Schmitz.
11724
11725 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
11726
11727         stdint: respect system's intmax_t if INTMAX_MAX
11728         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
11729         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
11730         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
11731         long but int64_t is long long, and where we will clash with the
11732         system intmax_t if we override it.  See
11733         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
11734         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
11735         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
11736         similarly for UINTMAX_C.
11737
11738 2011-07-08  Bruno Haible  <bruno@clisp.org>
11739
11740         pthread_sigmask tests: Avoid a compiler warning.
11741         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
11742         non-zero.
11743
11744         sigprocmask tests: A better way to avoid a compiler warning.
11745         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
11746         (main): Complain if system() returns non-zero.
11747         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
11748
11749 2011-07-08  Bruno Haible  <bruno@clisp.org>
11750
11751         pthread_sigmask: Work around IRIX bug.
11752         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
11753         bug.
11754         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
11755         there may be unblocked pending signals.
11756         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
11757
11758 2011-07-08  Bruno Haible  <bruno@clisp.org>
11759
11760         pthread_sigmask: Work around Cygwin bug.
11761         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
11762         bug.
11763         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
11764         the system's pthread_sigmask function.
11765         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
11766
11767 2011-07-08  Bruno Haible  <bruno@clisp.org>
11768
11769         pthread_sigmask: Work around bug in single-threaded implementation.
11770         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
11771         FreeBSD, HP-UX, Solaris bug.
11772         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
11773         * lib/pthread_sigmask.c: Include <stddef.h>.
11774         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
11775         the system's pthread_sigmask function.
11776         * modules/pthread_sigmask (configure.ac): Invoke
11777         gl_PREREQ_PTHREAD_SIGMASK.
11778         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
11779         HP-UX, Solaris.
11780
11781 2011-07-08  Eric Blake  <eblake@redhat.com>
11782
11783         test-sigprocmask: avoid compiler warning
11784         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
11785         * tests/test-sigprocmask.c (main): Use it to silence warning.
11786         Reported by Jim Meyering.
11787
11788         test-snprintf: avoid compiler warning
11789         * tests/test-snprintf.c (main): Avoid shadowed declaration.
11790         * tests/test-vsnprintf.c (main): Likewise.
11791         Reported by Jim Meyering.
11792
11793 2011-07-08  Bruno Haible  <bruno@clisp.org>
11794
11795         Tests for module 'pthread_sigmask'.
11796         * modules/pthread_sigmask-tests: New file.
11797         * tests/test-pthread_sigmask1.c: New file, based on
11798         tests/test-sigprocmask.c.
11799         * tests/test-pthread_sigmask2.c: New file.
11800
11801 2011-07-08  Jim Meyering  <meyering@redhat.com>
11802
11803         test-getopt.h: avoid warning about an unused variable
11804         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
11805
11806 2011-07-07  Jim Meyering  <meyering@redhat.com>
11807
11808         maint: reduce list of files exempt from sc_prohibit_leading_TABs
11809         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
11810         now that it no longer contains leading TABs.
11811         Remove unused "url=FIXME" statement.
11812
11813 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11814
11815         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
11816         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11817         When gl_THREADLIB is not in use, assume that the POSIX sematics
11818         are desired.  This is better for Emacs, which uses POSIX semantics
11819         on GNUish and/or POSIXish platforms, and does not use threads at
11820         all otherwise.
11821
11822         pthread_sigmask: fix typo when testing for libraries
11823         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11824         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
11825
11826 2011-07-08  Eric Blake  <eblake@redhat.com>
11827
11828         fts: introduce FTS_NOATIME
11829         * lib/fts_.h (FTS_NOATIME): New bit flag.
11830         (FTS_OPTIONMASK): Adjust.
11831         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
11832         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
11833
11834 2011-07-08  Bruno Haible  <bruno@clisp.org>
11835
11836         Tests for module 'thread'.
11837         * modules/thread-tests: New file.
11838         * tests/test-thread_self.c: New file.
11839         * tests/test-thread_create.cc: New file.
11840
11841 2011-07-08  Bruno Haible  <bruno@clisp.org>
11842
11843         thread: Avoid gcc warnings when using gl_thread_self().
11844         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
11845         'void *'.
11846         (gl_thread_self_pointer): Update.
11847
11848 2011-07-07  Bruno Haible  <bruno@clisp.org>
11849
11850         signal-c++-tests: Check declaration of pthread_sigmask.
11851         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
11852         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
11853         $(LIB_PTHREAD_SIGMASK).
11854
11855 2011-07-07  Bruno Haible  <bruno@clisp.org>
11856
11857         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
11858         * lib/signal.in.h (pthread_sigmask): Override if
11859         REPLACE_PTHREAD_SIGMASK is 1.
11860         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11861         REPLACE_PTHREAD_SIGMASK.
11862         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
11863         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
11864         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
11865         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11866         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
11867
11868 2011-07-07  Bruno Haible  <bruno@clisp.org>
11869
11870         pthread_sigmask: Ensure declaration in <signal.h>.
11871         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
11872         include <pthread.h>.
11873         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
11874         problem.
11875
11876 2011-07-07  Bruno Haible  <bruno@clisp.org>
11877
11878         pthread_sigmask: Document the module.
11879         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
11880
11881 2011-07-07  Bruno Haible  <bruno@clisp.org>
11882
11883         pthread_sigmask: Follow gnulib conventions.
11884         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
11885         gl_PTHREAD_SIGMASK.
11886         * modules/pthread_sigmask (configure.ac): Update.
11887
11888 2011-07-07  Bruno Haible  <bruno@clisp.org>
11889
11890         pthread_sigmask: Make declaration C++ safe.
11891         * lib/signal.in.h: In two special conditions, just do an #include_next.
11892         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11893         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
11894         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
11895         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
11896         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
11897         not REPLACE_PTHREAD_MASK.
11898         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
11899         not REPLACE_PTHREAD_MASK.
11900         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
11901
11902 2011-07-07  Bruno Haible  <bruno@clisp.org>
11903
11904         pthread_sigmask: Fix return value.
11905         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
11906         * lib/pthread_sigmask.c: New file.
11907         * modules/pthread_sigmask (Files): Add it.
11908         (configure.ac): Invoke AC_LIBOBJ.
11909
11910 2011-07-07  Eric Blake  <eblake@redhat.com>
11911
11912         getopt: more portable argv creation
11913         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
11914         const, use char arrays rather than strings.
11915         Suggested by Paul Eggert.
11916
11917 2011-07-07  Bruno Haible  <bruno@clisp.org>
11918
11919         Tests for module 'sigprocmask'.
11920         * modules/sigprocmask-tests: New file.
11921         * tests/test-sigprocmask.c: New file.
11922
11923 2011-07-07  Bruno Haible  <bruno@clisp.org>
11924
11925         float tests: Tweak.
11926         * tests/test-float.c (main): Tweak skip message.
11927
11928 2011-07-07  Eric Blake  <eblake@redhat.com>
11929
11930         getopt: avoid compiler warning during configure
11931         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
11932         assigning string literals to non-const pointer.
11933
11934         getopt-gnu: avoid crash in glibc getopt
11935         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
11936         * tests/test-getopt.h (test_getopt): Enhance test.
11937         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11938         * doc/posix-functions/getopt.texi (getopt): Document it.
11939         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11940         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11941         Likewise.
11942
11943 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
11944
11945         getopt: handle W; without long options in getopt [BZ #12922]
11946         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
11947         but no long options are defined, just return 'W'.
11948
11949 2011-07-07  Bruno Haible  <bruno@clisp.org>
11950
11951         Avoid literal tabs.
11952         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
11953         variable containing a tab instead of a literal tab.
11954         Reported by Jim Meyering.
11955
11956 2011-07-07  Bruno Haible  <bruno@clisp.org>
11957
11958         Comments.
11959         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
11960
11961 2011-07-06  Bruno Haible  <bruno@clisp.org>
11962
11963         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
11964         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
11965         <winsock2.h>.
11966         (rpl_fd_isset, FD_ISSET): New definitions, copied from
11967         lib/sys_socket.in.h.
11968         (close, gethostname): Hide declarations from <winsock2.h>.
11969         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
11970         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
11971         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
11972         (select): Don't override if gnulib's <sys/select.h> was already
11973         included.
11974         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
11975         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
11976         setsockopt, shutdown, select): Tweak indentation.
11977
11978 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
11979
11980         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
11981         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
11982         in an application that does not use the sys_select module.
11983
11984 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
11985
11986         poll: do not return 0 on timeout=-1
11987         * lib/poll.c: Loop with yield if no events occured
11988
11989 2011-07-06  Eric Blake  <eblake@redhat.com>
11990
11991         pthread_sigmask: always replace when not using pthread
11992         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
11993         replacement when using some threading other than pthread.  Fix
11994         logic bug.
11995
11996 2011-07-06  Bruno Haible  <bruno@clisp.org>
11997
11998         Comments.
11999         * m4/printf.m4: Update comments about mingw.
12000
12001 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12002
12003         sys_select: define sigset_t more portably
12004         * lib/sys_select.in.h: Always include <sys/types.h>, since
12005         we now need sigset_t and mingw defines it there.
12006         Include <signal.h> before split inclusion guard, to avoid
12007         mishaps on Solaris, whose <signal.h> eventually includes us.
12008         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
12009         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
12010         which come from ...
12011         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
12012         gl_CHECK_TYPE_SIGSET_T.
12013         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
12014         does the real work.
12015         * modules/sys_select (Depends-on): Add 'signal'.
12016
12017         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
12018         Suggested by Bruno Haible.
12019
12020         pselect: Use pthread_sigmask, not sigprocmask.
12021         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
12022         multithreaded apps better than sigprocmask does.
12023         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
12024         sigprocmask directly.
12025
12026 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12027
12028         * lib/pselect.c (pselect): Use plain name, without "rpl_".
12029         Don't #undef,  since we don't need any underlying pselect.
12030         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
12031         (Depends-on): Add select.
12032         (Link): Add $(LIBSOCKET).
12033         These changes suggested by Bruno Haible.
12034
12035         pselect: document better
12036         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12037         * doc/posix-functions/pselect.texi (pselect): Document new module.
12038
12039         pthread_sigmask: new module
12040         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12041         * doc/posix-functions/pthread_sigmask.texi: Document new module.
12042         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
12043         This is done only as a macro; I don't know how well that'll
12044         work for C++.  Move <sys/types.h> include before the include_next,
12045         to avoid mishap on Solaris.
12046         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
12047         * modules/signal (Makefile.am): Substitute the check's results.
12048         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
12049
12050         test-pselect: new module
12051         * modules/pselect-tests, tests/test-pselect.c: New files.
12052         * tests/test-select.c, tests/test-sys_select-c++.cc:
12053         If TEST_PSELECT is defined, test pselect instead of testing select.
12054
12055         * tests/test-sys_select.c (sigset_t): Test for it, too.
12056         Suggested by Bruno Haible.
12057
12058 2011-07-05  Eric Blake  <eblake@redhat.com>
12059
12060         snprintf: guarantee %1$d, for libintl
12061         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
12062         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
12063         * doc/posix-functions/snprintf.texi (snprintf): Update.
12064         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12065         * tests/test-snprintf.c (main): Enhance test.
12066         * tests/test-vsnprintf.c (main): Likewise.
12067
12068 2011-07-05  Jim Meyering  <meyering@redhat.com>
12069
12070         maint: exempt stdio-read.c and stdio-write.c from the cppi check
12071         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
12072         per Bruno's request, to accommodate this idiom (no space after "#")
12073         even when the function is inside an #if block:
12074         char *
12075         gets (char *s)
12076         #undef gets
12077         {
12078           ...
12079         }
12080
12081 2011-07-04  Jim Meyering  <meyering@redhat.com>
12082
12083         maint: indent with spaces, not TABs, and add a rule to check this
12084         * tests/test-userspec.c: Indent with spaces, not TABs.
12085         * tests/test-argp.c: Likewise.
12086         * tests/test-c-stack2.sh: Likewise.
12087         * tests/test-parse-duration.sh: Likewise
12088         * m4/strtod.m4: Likewise.
12089         * m4/alloca.m4: Likewise.
12090         * m4/pselect.m4: Likewise.
12091         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
12092
12093 2011-07-03  Jim Meyering  <meyering@redhat.com>
12094
12095         maint.mk: correct omissions in prohibit_argmatch_without_use check
12096         This rule would mistakenly report that argmatch.h is included without
12097         use even when both the argmatch and invalid_arg macro were used.
12098         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
12099         of argmatch and invalid_arg.
12100
12101 2011-07-03  Bruno Haible  <bruno@clisp.org>
12102
12103         Comments about EINTR.
12104         * lib/safe-read.h: Explain the purpose of this module.
12105         * lib/safe-write.h: Likewise.
12106         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
12107         module.
12108         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
12109         module.
12110         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12111
12112 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12113
12114         xnanosleep: Rewrite to use new dtotimespec module.
12115         It has the conversion code that used to be in xnanosleep.
12116         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
12117         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
12118         (TIME_T_MAX): Remove.
12119         (xnanosleep): Rewrite in terms of dtotimespec.
12120         * modules/xnanosleep (Depends-on): Add dtotimespec.
12121         Remove intprops, stdbool.
12122
12123         timespec-add, timespec-sub: new modules
12124         * lib/timespec.h (timespec_add, timespec_sub): New decls.
12125         * lib/timespec-add.c, lib/timespec-sub.c:
12126         * modules/timespec-add, modules/timespec-sub: New files.
12127
12128         dtotimespec: new module
12129         * lib/timespec.h (dtotimespec): New decl.
12130         * lib/dtotimespec.c, modules/dtotimespec: New files.
12131
12132         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
12133
12134         pselect: new module
12135         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
12136         (pselect): New decls.
12137         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
12138         since the standard pselect decl uses 'restrict'.
12139         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
12140         HAVE_PSELECT, REPLACE_PSELECT.
12141         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
12142         HAVE_PSELECT, REPLACE_PSELECT.
12143         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
12144
12145         sys_select: don't depend on sys_socket
12146         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
12147         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
12148         This fix works on GNU and GNU-like platforms, but has not been tested
12149         on native Windows.
12150         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
12151         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
12152         gl_HEADER_SYS_SOCKET.
12153         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
12154         gl_PREREQ_SYS_H_WINSOCK2.
12155
12156 2011-06-29  Eric Blake  <eblake@redhat.com>
12157
12158         pipe2: fix C89 compile problem
12159         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
12160         Reported by Bruno Haible.
12161
12162         pipe, pipe2: don't corrupt fd on error
12163         * lib/pipe.c (pipe): Leave fd unchanged on error.
12164         * lib/pipe2.c (pipe2): Likewise.
12165         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
12166         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12167
12168 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
12169
12170         mmap-anon: do not use regular expressions inadvertently
12171         * m4/mmap-anon.m4: Remove trailing period from strings sought
12172         in the output.
12173
12174 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
12175
12176         nanosleep: fix integer overflow problem
12177         * lib/nanosleep.c (my_usleep): Don't assume signed integer
12178         arithmetic wraps around on overflow.
12179
12180         nanosleep: simplify carrying
12181         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
12182         first call to the underyling nanosleep, not for the last one.
12183         This doesn't fix any bugs, but it simplifies the computation of
12184         the remaining delay.  Found while auditing integer overflow issues.
12185
12186         dup2: remove test for existence of fcntl
12187         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
12188         "#if HAVE_FCNTL", in the configure-time test program.
12189         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
12190         and therefore speeds up "configure" a bit.  Found while
12191         adding the dup2 module to Emacs.
12192
12193 2011-06-24  Eric Blake  <eblake@redhat.com>
12194
12195         maint.mk: enhance useless header checks
12196         * top/maint.mk (_sc_header_without_use): Check both include
12197         styles.
12198         (sc_prohibit_assert_without_use)
12199         (sc_prohibit_close_stream_without_use)
12200         (sc_prohibit_getopt_without_use)
12201         (sc_prohibit_quotearg_without_use)
12202         (sc_prohibit_quote_without_use)
12203         (sc_prohibit_long_options_without_use)
12204         (sc_prohibit_inttostr_without_use)
12205         (sc_prohibit_ignore_value_without_use)
12206         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
12207         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
12208         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
12209         (sc_prohibit_hash_pjw_without_use)
12210         (sc_prohibit_safe_read_without_use)
12211         (sc_prohibit_argmatch_without_use)
12212         (sc_prohibit_canonicalize_without_use)
12213         (sc_prohibit_root_dev_ino_without_use)
12214         (sc_prohibit_openat_without_use)
12215         (sc_prohibit_c_ctype_without_use)
12216         (sc_prohibit_signal_without_use)
12217         (sc_prohibit_stdio--_without_use)
12218         (sc_prohibit_stdio-safer_without_use)
12219         (sc_prohibit_strings_without_use)
12220         (sc_prohibit_intprops_without_use)
12221         (sc_prohibit_stddef_without_use)
12222         (sc_prohibit_xfreopen_without_use): Update clients.
12223
12224 2011-06-24  Jim Meyering  <meyering@redhat.com>
12225
12226         syntax-check: keep one maint.mk rule in sync with its header
12227         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
12228         of the bug Eric has just fixed, with today's commit 25e4c2ec.
12229         I prefer to avoid temporary files here, so use <(...), but that
12230         is not supported by /bin/sh, so...
12231         (SHELL): Define to /bin/bash.
12232
12233 2011-06-24  Eric Blake  <eblake@redhat.com>
12234
12235         maint.mk: update sc_prohibit_intprops_without_use
12236         * top/maint.mk (_intprops_names): Match recent changes.
12237
12238 2011-06-24  Bruno Haible  <bruno@clisp.org>
12239
12240         strerror-override: No-op tweak.
12241         * lib/strerror-override.h (strerror_override): Reorder conditions,
12242         for consistency with lib/strerror-override.c.
12243
12244 2011-06-23  Eric Blake  <eblake@redhat.com>
12245
12246         maint.mk: test further PATH_MAX issues
12247         * top/maint.mk (sc_prohibit_path_max_array): Rename...
12248         (sc_prohibit_path_max_allocation): ...and also test alloca.
12249         Suggested by Jim Meyering.
12250
12251 2011-06-22  Eric Blake  <eblake@redhat.com>
12252
12253         maint.mk: add syntax-check to avoid char[PATH_MAX]
12254         * top/maint.mk (sc_prohibit_path_max_array): New rule.
12255
12256         stat: be robust to PATH_MAX definition
12257         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
12258         * modules/stat (Depends-on): Add verify.
12259
12260         link: work around IRIX bug
12261         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
12262         * lib/link.c (rpl_link): Work around it.
12263         * tests/test-link.h (test_link): Enhance test.
12264         * doc/posix-functions/link.texi (link): Document the bug.
12265
12266         getopt: silence clang warning
12267         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
12268         dereference.
12269         Reported by Gustavo Martin Domato.
12270
12271 2011-06-22  Jim Meyering  <meyering@redhat.com>
12272
12273         bootstrap: do not insert a blank line into each .gitignore file
12274         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
12275
12276 2011-06-21  Eric Blake  <eblake@redhat.com>
12277
12278         perror: test for output mismatch
12279         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
12280         perror on IRIX.
12281
12282         strerror_r: fix OpenBSD behavior on out-of-range
12283         * lib/strerror_r.c (strerror_r): Always use maximal string.
12284         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
12285
12286         strerror_r: fix OpenBSD behavior on 0
12287         * lib/strerror-override.c (strerror_override): Also override 0
12288         when needed.
12289         * lib/strerror-override.h (strerror_override): Likewise.
12290         * lib/strerror.c (strerror): Simplify, now that 0 override is done
12291         earlier.
12292         * lib/strerror_r.c (strerror_r): Likewise.
12293         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
12294         behavior...
12295         (gl_FUNC_STRERROR_0): ...into new macro.
12296         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
12297         is overridden.
12298         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
12299         * modules/strerror-override (Files): Add strerror.m4.
12300         (configure.ac): Also provide override for 0 when needed.
12301         * doc/posix-functions/strerror.texi (strerror): Document this.
12302         * doc/posix-functions/perror.texi (perror): Likewise.
12303
12304         perror: adjust array size
12305         * modules/perror (Depends-on): Add strerror-override.
12306         * lib/perror.c (perror): Use it to avoid magic number.
12307
12308         strerror-override: reduce size
12309         * lib/strerror-override.c (strerror_override): Use fewer lines.
12310
12311 2011-06-20  Bruno Haible  <bruno@clisp.org>
12312
12313         pathmax: Ensure correct value for PATH_MAX on HP-UX.
12314         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
12315
12316 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
12317
12318         alloca: port to compilers that can optimize like GCC 4.6.0
12319         * lib/alloca.c (find_stack_direction): New signature, taken from
12320         Autoconf git.  This works with GCC 4.6.0.  This code should never
12321         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
12322         be used with other compilers that optimize as well as GCC 4.6.0 does.
12323         (alloca): Adjust to new signature.
12324         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
12325         New macro, which patches Autoconf in a similar way.
12326
12327         c-stack: stop worrying about stack direction
12328         * lib/c-stack.c (find_stack_direction): Remove.
12329         (segv_handler): Don't worry about stack direction growth, as it's
12330         too much of a pain to configure this correctly, given how compilers
12331         are optimizing-away our stack-growth detection code.  Instead, assume
12332         that any access to just before or just after the stack is OK.
12333         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
12334         Don't require AC_FUNC_ALLOCA; no longer needed.
12335
12336 2011-06-20  Eric Blake  <eblake@redhat.com>
12337
12338         test-stat: don't allocate PATH_MAX bytes
12339         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
12340         PATH_MAX-sized buffer.
12341         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
12342         * modules/stat-tests (Depends-on): Likewise.
12343         * tests/test-fstatat.c (includes): Drop pathmax.h.
12344         * tests/test-stat.c (includes): Likewise.
12345         Reported by Bruno Haible.
12346
12347 2011-06-20  Bruno Haible  <bruno@clisp.org>
12348
12349         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
12350         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
12351         * lib/float.c: New file.
12352         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
12353         REPLACE_FLOAT_LDBL.
12354         * modules/float (Files): Add lib/float.c.
12355         (configure.ac): Invoke AC_LIBOBJ.
12356         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
12357
12358 2011-06-20  Bruno Haible  <bruno@clisp.org>
12359
12360         Tests for module 'float'.
12361         * modules/float-tests: New file.
12362         * tests/test-float.c: New file.
12363
12364 2011-06-19  Bruno Haible  <bruno@clisp.org>
12365
12366         isinf: Coding style.
12367         * lib/isinf.c: Use GNU coding style.
12368
12369 2011-06-19  Bruno Haible  <bruno@clisp.org>
12370
12371         linkat test: Avoid test failure on AIX 7.1.
12372         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
12373         * tests/test-link.h (test_link): Likewise.
12374
12375 2011-06-19  Bruno Haible  <bruno@clisp.org>
12376
12377         pread test: Avoid test failure on OpenBSD 4.9.
12378         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
12379
12380 2011-06-19  Bruno Haible  <bruno@clisp.org>
12381
12382         sprintf-posix: Fix test failure on AIX 7.1.
12383         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
12384         * doc/posix-functions/dprintf.texi: Mention limited precision problem
12385         on AIX.
12386         * doc/posix-functions/fprintf.texi: Likewise.
12387         * doc/posix-functions/printf.texi: Likewise.
12388         * doc/posix-functions/snprintf.texi: Likewise.
12389         * doc/posix-functions/sprintf.texi: Likewise.
12390         * doc/posix-functions/vdprintf.texi: Likewise.
12391         * doc/posix-functions/vfprintf.texi: Likewise.
12392         * doc/posix-functions/vprintf.texi: Likewise.
12393         * doc/posix-functions/vsnprintf.texi: Likewise.
12394         * doc/posix-functions/vsprintf.texi: Likewise.
12395
12396 2011-06-19  Bruno Haible  <bruno@clisp.org>
12397
12398         roundl-ieee: Fix test failure on AIX 7.1.
12399         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
12400         * doc/posix-functions/roundl.texi: Mention problem with negative
12401         arguments.
12402
12403 2011-06-19  Bruno Haible  <bruno@clisp.org>
12404
12405         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12406         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
12407         * doc/posix-functions/round.texi: Mention problem with negative
12408         arguments.
12409         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
12410
12411 2011-06-19  Bruno Haible  <bruno@clisp.org>
12412
12413         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
12414         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
12415         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
12416         * doc/posix-functions/roundf.texi: Mention problem with negative
12417         arguments.
12418         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
12419
12420 2011-06-19  Bruno Haible  <bruno@clisp.org>
12421
12422         ceilf-ieee: Work around bug on MacOS X 10.5.
12423         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
12424
12425         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
12426         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
12427         IEEE compliant, avoid compiler optimizations.
12428         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
12429         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
12430         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
12431         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12432         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12433         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12434         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12435         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12436         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12437         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
12438
12439 2011-06-19  Bruno Haible  <bruno@clisp.org>
12440
12441         ceilf-ieee: Work around bug on AIX 7.1.
12442         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
12443         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
12444
12445 2011-06-19  Bruno Haible  <bruno@clisp.org>
12446
12447         ceil-ieee: Work around bug on AIX 7.1.
12448         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
12449         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
12450
12451 2011-06-18  Bruno Haible  <bruno@clisp.org>
12452
12453         fsync test: Avoid test failure on MacOS X and AIX.
12454         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
12455         EINVAL.
12456
12457 2011-06-18  Bruno Haible  <bruno@clisp.org>
12458
12459         openat, fdopendir tests: Fix link errors.
12460         * modules/openat-tests (Depends-on): Add progname.
12461         * modules/fdopendir-tests (Depends-on): Likewise.
12462         * tests/test-fchownat.c: Include progname.h.
12463         (main): Call set_program_name.
12464         * tests/test-fstatat.c: Include progname.h.
12465         (main): Call set_program_name.
12466         * tests/test-mkdirat.c: Include progname.h.
12467         (main): Call set_program_name.
12468         * tests/test-openat.c: Include progname.h.
12469         (main): Call set_program_name.
12470         * tests/test-unlinkat.c: Include progname.h.
12471         (main): Call set_program_name.
12472         * tests/test-fdopendir.c: Include progname.h.
12473         (main): Call set_program_name.
12474
12475 2011-06-18  Bruno Haible  <bruno@clisp.org>
12476
12477         Doc update.
12478         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
12479         HP-UX.
12480         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
12481
12482 2011-06-18  Bruno Haible  <bruno@clisp.org>
12483
12484         getcwd tests: Avoid compilation error on HP-UX 11.31.
12485         * modules/getcwd-tests (Depends-on): Add pathmax.
12486         * tests/test-getcwd.c: Include pathmax.h.
12487
12488 2011-06-18  Bruno Haible  <bruno@clisp.org>
12489
12490         isfinite, isinf: Fix link error on AIX 6 and 7.
12491         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
12492         needed, also test the macro with a 'float' argument.
12493         * m4/isinf.m4 (gl_ISINF): Likewise.
12494
12495 2011-06-18  Bruno Haible  <bruno@clisp.org>
12496
12497         getloadavg: Don't clobber LIBS. Regression from previous commit.
12498         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
12499         AC_CHECK_LIB from here...
12500         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
12501         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
12502         gl_func_getloadavg_done.
12503         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12504
12505 2011-06-18  Bruno Haible  <bruno@clisp.org>
12506
12507         clean-temp: Improve documentation.
12508         * lib/clean-temp.h: Explain better how to use this module.
12509         Reported by John Darrington <john@darrington.wattle.id.au>.
12510
12511 2011-06-17  Bruno Haible  <bruno@clisp.org>
12512
12513         pread, pwrite: Avoid cc warning on AIX.
12514         * lib/unistd.in.h (pread): Undefine before defining as a macro.
12515         (pwrite): Likewise.
12516
12517 2011-06-17  Bruno Haible  <bruno@clisp.org>
12518
12519         spawn-pipe tests: Fix link error.
12520         * tests/test-spawn-pipe-child.c: Undefine fprintf.
12521         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12522
12523 2011-06-17  Bruno Haible  <bruno@clisp.org>
12524
12525         Tests: Remove unnecessary dependency.
12526         * modules/canonicalize-tests (Depends-on): Remove progname.
12527         * modules/chown-tests (Depends-on): Likewise.
12528         * modules/dirname-tests (Depends-on): Likewise.
12529         * modules/fdopendir-tests (Depends-on): Likewise.
12530         * modules/fdutimensat-tests (Depends-on): Likewise.
12531         * modules/hash-tests (Depends-on): Likewise.
12532         * modules/lchown-tests (Depends-on): Likewise.
12533         * modules/linkat-tests (Depends-on): Likewise.
12534         * modules/renameat-tests (Depends-on): Likewise.
12535         * modules/spawn-pipe-tests (Depends-on): Likewise.
12536         * modules/utimensat-tests (Depends-on): Likewise.
12537
12538 2011-06-17  Bruno Haible  <bruno@clisp.org>
12539
12540         spawn-pipe tests: Fix link error.
12541         * tests/test-spawn-pipe-child.c: Undefine fflush.
12542
12543 2011-06-17  Bruno Haible  <bruno@clisp.org>
12544
12545         Fix tests link errors.
12546         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
12547         * modules/chown-tests (Makefile.am): Don't link test-chown with
12548         LIBINTL.
12549         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
12550         LIBINTL.
12551         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
12552         LIBINTL.
12553         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
12554         LIBINTL.
12555
12556 2011-06-16  Bruno Haible  <bruno@clisp.org>
12557
12558         crypto/gc-sha1: Fix recent regression.
12559         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
12560         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
12561
12562         crypto/gc-md5: Fix recent regression.
12563         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
12564
12565         crypto/gc-md4: Fix recent regression.
12566         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
12567         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
12568
12569         crypto/gc-arctwo: Fix recent regression.
12570         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
12571         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
12572
12573         crypto/gc-rijndael: Fix recent regression.
12574         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
12575         (configure.ac): Invoke AC_LIBOBJ here.
12576         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
12577         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12578
12579         crypto/gc-hmac-sha1: Fix recent regression.
12580         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
12581         (configure.ac): Invoke AC_LIBOBJ here.
12582         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
12583         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12584
12585         crypto/gc-hmac-md5: Fix recent regression.
12586         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
12587         (configure.ac): Invoke AC_LIBOBJ here.
12588         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
12589         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12590
12591         crypto/gc-des: Fix recent regression.
12592         * modules/crypto/gc-des (Files): Remove m4/des.m4.
12593         (configure.ac): Invoke AC_LIBOBJ here.
12594         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
12595         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12596
12597         crypto/gc-arcfour: Fix recent regression.
12598         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
12599         (configure.ac): Invoke AC_LIBOBJ here.
12600         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
12601         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12602
12603 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
12604
12605         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
12606         After the 2011-05-21 change, this macro requires
12607         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
12608         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12609
12610 2011-06-16  Bruno Haible  <bruno@clisp.org>
12611
12612         fprintftime: Move AC_LIBOBJ invocations to module description.
12613         * m4/fprintftime.m4: Remove file.
12614         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
12615         (configure.ac): Remove gl_FPRINTFTIME call.
12616         (Makefile.am): Augment lib_SOURCES.
12617         Reported by Jim Meyering.
12618
12619 2011-06-16  Bruno Haible  <bruno@clisp.org>
12620
12621         tmpfile-safer: Finish 2011-05-23 commit.
12622         * m4/stdio-safer.m4: Really remove file.
12623         Reported by Jim Meyering.
12624
12625 2011-06-16  Bruno Haible  <bruno@clisp.org>
12626
12627         syntax-check: Fix typo.
12628         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
12629         printf-posix.m4.
12630         Reported by Jim Meyering.
12631
12632 2011-06-13  Jim Meyering  <meyering@redhat.com>
12633
12634         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
12635         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
12636
12637 2011-05-23  Bruno Haible  <bruno@clisp.org>
12638
12639         yesno: Move AC_LIBOBJ invocations to module description.
12640         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
12641         * modules/yesno (Makefile.am): Augment lib_SOURCES.
12642
12643 2011-05-23  Bruno Haible  <bruno@clisp.org>
12644
12645         xstrtol: Move AC_LIBOBJ invocations to module description.
12646         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
12647         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
12648
12649 2011-05-23  Bruno Haible  <bruno@clisp.org>
12650
12651         xstrtold: Move AC_LIBOBJ invocations to module description.
12652         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
12653         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
12654
12655 2011-05-23  Bruno Haible  <bruno@clisp.org>
12656
12657         xstrtod: Move AC_LIBOBJ invocations to module description.
12658         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
12659         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
12660
12661 2011-05-23  Bruno Haible  <bruno@clisp.org>
12662
12663         xnanosleep: Move AC_LIBOBJ invocations to module description.
12664         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
12665         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
12666
12667 2011-05-23  Bruno Haible  <bruno@clisp.org>
12668
12669         xgetcwd: Move AC_LIBOBJ invocations to module description.
12670         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
12671         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
12672
12673 2011-05-23  Bruno Haible  <bruno@clisp.org>
12674
12675         xalloc: Move AC_LIBOBJ invocations to module description.
12676         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
12677         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
12678
12679 2011-05-23  Bruno Haible  <bruno@clisp.org>
12680
12681         write-any-file: Move AC_LIBOBJ invocations to module description.
12682         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
12683         invocation.
12684         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
12685
12686 2011-05-23  Bruno Haible  <bruno@clisp.org>
12687
12688         utimens: Move AC_LIBOBJ invocations to module description.
12689         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
12690         * modules/utimens (Makefile.am): Augment lib_SOURCES.
12691
12692 2011-05-23  Bruno Haible  <bruno@clisp.org>
12693
12694         utimecmp: Move AC_LIBOBJ invocations to module description.
12695         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
12696         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
12697
12698 2011-05-23  Bruno Haible  <bruno@clisp.org>
12699
12700         userspec: Move AC_LIBOBJ invocations to module description.
12701         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
12702         * modules/userspec (Makefile.am): Augment lib_SOURCES.
12703
12704 2011-05-23  Bruno Haible  <bruno@clisp.org>
12705
12706         unlinkdir: Move AC_LIBOBJ invocations to module description.
12707         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
12708         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
12709
12710 2011-05-23  Bruno Haible  <bruno@clisp.org>
12711
12712         unistd-safer: Move AC_LIBOBJ invocations to module description.
12713         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
12714         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
12715
12716 2011-05-23  Bruno Haible  <bruno@clisp.org>
12717
12718         tempname: Move AC_LIBOBJ invocations to module description.
12719         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
12720         * modules/tempname (Makefile.am): Augment lib_SOURCES.
12721
12722 2011-05-23  Bruno Haible  <bruno@clisp.org>
12723
12724         strftime: Move AC_LIBOBJ invocations to module description.
12725         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
12726         * modules/strftime (Makefile.am): Augment lib_SOURCES.
12727
12728 2011-05-23  Bruno Haible  <bruno@clisp.org>
12729
12730         stdlib-safer: Move AC_LIBOBJ invocations to module description.
12731         * m4/stdlib-safer.m4: Remove file.
12732         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
12733         (configure.ac): Remove gl_STDLIB_SAFER call.
12734         (Makefile.am): Augment lib_SOURCES.
12735
12736 2011-05-23  Bruno Haible  <bruno@clisp.org>
12737
12738         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
12739         * m4/stdio-safer.m4: Remove file.
12740         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
12741         (configure.ac): Remove gl_TMPFILE_SAFER call.
12742         (Makefile.am): Augment lib_SOURCES.
12743
12744 2011-05-23  Bruno Haible  <bruno@clisp.org>
12745
12746         popen-safer: Move AC_LIBOBJ invocations to module description.
12747         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
12748         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
12749         (configure.ac): Remove gl_POPEN_SAFER call.
12750         (Makefile.am): Augment lib_SOURCES.
12751
12752 2011-05-23  Bruno Haible  <bruno@clisp.org>
12753
12754         freopen-safer: Move AC_LIBOBJ invocations to module description.
12755         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
12756         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
12757         (configure.ac): Remove gl_FREOPEN_SAFER call.
12758         (Makefile.am): Augment lib_SOURCES.
12759
12760 2011-05-23  Bruno Haible  <bruno@clisp.org>
12761
12762         fopen-safer: Move AC_LIBOBJ invocations to module description.
12763         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
12764         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
12765         (configure.ac): Remove gl_FOPEN_SAFER call.
12766         (Makefile.am): Augment lib_SOURCES.
12767
12768 2011-05-23  Bruno Haible  <bruno@clisp.org>
12769
12770         crypto/sha512: Move AC_LIBOBJ invocations to module description.
12771         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
12772         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
12773
12774 2011-05-23  Bruno Haible  <bruno@clisp.org>
12775
12776         crypto/sha256: Move AC_LIBOBJ invocations to module description.
12777         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
12778         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
12779
12780 2011-05-23  Bruno Haible  <bruno@clisp.org>
12781
12782         crypto/sha1: Move AC_LIBOBJ invocations to module description.
12783         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
12784         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
12785
12786 2011-05-23  Bruno Haible  <bruno@clisp.org>
12787
12788         settime: Move AC_LIBOBJ invocations to module description.
12789         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
12790         * modules/settime (Makefile.am): Augment lib_SOURCES.
12791
12792 2011-05-23  Bruno Haible  <bruno@clisp.org>
12793
12794         savedir: Move AC_LIBOBJ invocations to module description.
12795         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
12796         * modules/savedir (Makefile.am): Augment lib_SOURCES.
12797
12798 2011-05-23  Bruno Haible  <bruno@clisp.org>
12799
12800         save-cwd: Move AC_LIBOBJ invocations to module description.
12801         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
12802         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
12803
12804 2011-05-23  Bruno Haible  <bruno@clisp.org>
12805
12806         same: Move AC_LIBOBJ invocations to module description.
12807         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
12808         * modules/same (Makefile.am): Augment lib_SOURCES.
12809
12810 2011-05-23  Bruno Haible  <bruno@clisp.org>
12811
12812         safe-write: Move AC_LIBOBJ invocations to module description.
12813         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
12814         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
12815         instead of gl_SAFE_WRITE.
12816         (Makefile.am): Augment lib_SOURCES.
12817
12818 2011-05-23  Bruno Haible  <bruno@clisp.org>
12819
12820         safe-read: Move AC_LIBOBJ invocations to module description.
12821         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
12822         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
12823         of gl_SAFE_READ.
12824         (Makefile.am): Augment lib_SOURCES.
12825
12826 2011-05-23  Bruno Haible  <bruno@clisp.org>
12827
12828         safe-alloc: Move AC_LIBOBJ invocations to module description.
12829         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
12830         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
12831
12832 2011-05-23  Bruno Haible  <bruno@clisp.org>
12833
12834         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
12835         * m4/rijndael.m4: Remove file.
12836         * modules/crypto/rijndael (Files): Remove it.
12837         (configure.ac): Remove gl_RIJNDAEL call.
12838         (Makefile.am): Augment lib_SOURCES.
12839
12840 2011-05-23  Bruno Haible  <bruno@clisp.org>
12841
12842         readtokens: Move AC_LIBOBJ invocations to module description.
12843         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
12844         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
12845
12846 2011-05-23  Bruno Haible  <bruno@clisp.org>
12847
12848         read-file: Move AC_LIBOBJ invocations to module description.
12849         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
12850         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
12851         of gl_FUNC_READ_FILE.
12852         (Makefile.am): Augment lib_SOURCES.
12853
12854 2011-05-23  Bruno Haible  <bruno@clisp.org>
12855
12856         quotearg: Move AC_LIBOBJ invocations to module description.
12857         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
12858         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
12859
12860 2011-05-23  Bruno Haible  <bruno@clisp.org>
12861
12862         quote: Move AC_LIBOBJ invocations to module description.
12863         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
12864         * modules/quote (Makefile.am): Augment lib_SOURCES.
12865
12866 2011-05-23  Bruno Haible  <bruno@clisp.org>
12867
12868         posixver: Move AC_LIBOBJ invocations to module description.
12869         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
12870         * modules/posixver (Makefile.am): Augment lib_SOURCES.
12871
12872 2011-05-23  Bruno Haible  <bruno@clisp.org>
12873
12874         posixtm: Move AC_LIBOBJ invocations to module description.
12875         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
12876         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
12877
12878 2011-05-23  Bruno Haible  <bruno@clisp.org>
12879
12880         physmem: Move AC_LIBOBJ invocations to module description.
12881         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
12882         * modules/physmem (Makefile.am): Augment lib_SOURCES.
12883
12884 2011-05-23  Bruno Haible  <bruno@clisp.org>
12885
12886         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
12887         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
12888         invocation.
12889         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
12890
12891 2011-05-23  Bruno Haible  <bruno@clisp.org>
12892
12893         mpsort: Move AC_LIBOBJ invocations to module description.
12894         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
12895         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
12896
12897 2011-05-23  Bruno Haible  <bruno@clisp.org>
12898
12899         modechange: Move AC_LIBOBJ invocations to module description.
12900         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
12901         * modules/modechange (Makefile.am): Augment lib_SOURCES.
12902
12903 2011-05-23  Bruno Haible  <bruno@clisp.org>
12904
12905         mkdir-p: Move AC_LIBOBJ invocations to module description.
12906         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
12907         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
12908
12909 2011-05-23  Bruno Haible  <bruno@clisp.org>
12910
12911         mkancesdirs: Move AC_LIBOBJ invocations to module description.
12912         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
12913         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
12914
12915 2011-05-23  Bruno Haible  <bruno@clisp.org>
12916
12917         mgetgroups: Move AC_LIBOBJ invocations to module description.
12918         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
12919         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
12920
12921 2011-05-23  Bruno Haible  <bruno@clisp.org>
12922
12923         memxor: Move AC_LIBOBJ invocations to module description.
12924         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
12925         * modules/memxor (Makefile.am): Augment lib_SOURCES.
12926
12927 2011-05-23  Bruno Haible  <bruno@clisp.org>
12928
12929         memcoll: Move AC_LIBOBJ invocations to module description.
12930         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
12931         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
12932
12933 2011-05-23  Bruno Haible  <bruno@clisp.org>
12934
12935         memcasecmp: Move AC_LIBOBJ invocations to module description.
12936         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
12937         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
12938
12939 2011-05-23  Bruno Haible  <bruno@clisp.org>
12940
12941         crypto/md5: Move AC_LIBOBJ invocations to module description.
12942         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
12943         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
12944
12945 2011-05-23  Bruno Haible  <bruno@clisp.org>
12946
12947         crypto/md4: Move AC_LIBOBJ invocations to module description.
12948         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
12949         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
12950
12951 2011-05-23  Bruno Haible  <bruno@clisp.org>
12952
12953         crypto/md2: Move AC_LIBOBJ invocations to module description.
12954         * m4/md2.m4: Remove file.
12955         * modules/crypto/md2 (Files): Remove it.
12956         (configure.ac): Remove gl_MD2 call.
12957         (Makefile.am): Augment lib_SOURCES.
12958
12959 2011-05-23  Bruno Haible  <bruno@clisp.org>
12960
12961         long-options: Move AC_LIBOBJ invocations to module description.
12962         * m4/long-options.m4: Remove file.
12963         * modules/long-options (Files): Remove it.
12964         (configure.ac): Remove gl_LONG_OPTIONS call.
12965         (Makefile.am): Augment lib_SOURCES.
12966
12967 2011-05-23  Bruno Haible  <bruno@clisp.org>
12968
12969         i-ring: Move AC_LIBOBJ invocations to module description.
12970         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
12971         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
12972
12973 2011-05-23  Bruno Haible  <bruno@clisp.org>
12974
12975         idcache: Move AC_LIBOBJ invocations to module description.
12976         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
12977         * modules/idcache (Makefile.am): Augment lib_SOURCES.
12978
12979 2011-05-23  Bruno Haible  <bruno@clisp.org>
12980
12981         human: Move AC_LIBOBJ invocations to module description.
12982         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
12983         * modules/human (Makefile.am): Augment lib_SOURCES.
12984
12985 2011-05-23  Bruno Haible  <bruno@clisp.org>
12986
12987         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
12988         * m4/hmac-sha1.m4: Remove file.
12989         * modules/crypto/hmac-sha1 (Files): Remove it.
12990         (configure.ac): Remove gl_HMAC_SHA1 call.
12991         (Makefile.am): Augment lib_SOURCES.
12992
12993 2011-05-23  Bruno Haible  <bruno@clisp.org>
12994
12995         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
12996         * m4/hmac-md5.m4: Remove file.
12997         * modules/crypto/hmac-md5 (Files): Remove it.
12998         (configure.ac): Remove gl_HMAC_MD5 call.
12999         (Makefile.am): Augment lib_SOURCES.
13000
13001 2011-05-23  Bruno Haible  <bruno@clisp.org>
13002
13003         hash: Move AC_LIBOBJ invocations to module description.
13004         * m4/hash.m4: Remove file.
13005         * modules/hash (Files): Remove it.
13006         (configure.ac): Remove gl_HASH call.
13007         (Makefile.am): Augment lib_SOURCES.
13008
13009 2011-05-23  Bruno Haible  <bruno@clisp.org>
13010
13011         hard-locale: Move AC_LIBOBJ invocations to module description.
13012         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
13013         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
13014
13015 2011-05-23  Bruno Haible  <bruno@clisp.org>
13016
13017         getugroups: Move AC_LIBOBJ invocations to module description.
13018         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
13019         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
13020
13021 2011-05-23  Bruno Haible  <bruno@clisp.org>
13022
13023         gettime: Move AC_LIBOBJ invocations to module description.
13024         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
13025         * modules/gettime (Makefile.am): Augment lib_SOURCES.
13026
13027 2011-05-23  Bruno Haible  <bruno@clisp.org>
13028
13029         getndelim2: Move AC_LIBOBJ invocations to module description.
13030         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
13031         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
13032
13033 2011-05-23  Bruno Haible  <bruno@clisp.org>
13034
13035         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
13036         * m4/gc-pbkdf2-sha1.m4: Remove file.
13037         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
13038         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
13039         (Makefile.am): Augment lib_SOURCES.
13040
13041 2011-05-23  Bruno Haible  <bruno@clisp.org>
13042
13043         fts: Move AC_LIBOBJ invocations to module description.
13044         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
13045         * modules/fts (configure.ac): ... to here.
13046
13047 2011-05-23  Bruno Haible  <bruno@clisp.org>
13048
13049         file-type: Move AC_LIBOBJ invocations to module description.
13050         * m4/file-type.m4: Remove file.
13051         * modules/file-type (Files): Remove it.
13052         (configure.ac): Remove gl_FILE_TYPE call.
13053         (Makefile.am): Augment lib_SOURCES.
13054
13055 2011-05-23  Bruno Haible  <bruno@clisp.org>
13056
13057         filenamecat*: Respect rules for use of AC_LIBOBJ.
13058         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
13059         Remove AC_LIBOBJ invocation.
13060         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
13061         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
13062
13063 2011-05-23  Bruno Haible  <bruno@clisp.org>
13064
13065         filemode: Move AC_LIBOBJ invocations to module description.
13066         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
13067         * modules/filemode (Makefile.am): Augment lib_SOURCES.
13068
13069 2011-05-23  Bruno Haible  <bruno@clisp.org>
13070
13071         openat-safer: Move AC_LIBOBJ invocations to module description.
13072         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
13073         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
13074
13075 2011-05-23  Bruno Haible  <bruno@clisp.org>
13076
13077         fcntl-safer: Move AC_LIBOBJ invocations to module description.
13078         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
13079         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
13080
13081 2011-05-23  Bruno Haible  <bruno@clisp.org>
13082
13083         exclude: Move AC_LIBOBJ invocations to module description.
13084         * m4/exclude.m4: Remove file.
13085         * modules/exclude (Files): Remove it.
13086         (configure.ac): Remove gl_EXCLUDE call.
13087         (Makefile.am): Augment lib_SOURCES.
13088
13089 2011-05-23  Bruno Haible  <bruno@clisp.org>
13090
13091         dirname*: Respect rules for use of AC_LIBOBJ.
13092         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
13093         invocations.
13094         * modules/dirname (Makefile.am): Augment lib_SOURCES.
13095         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
13096
13097 2011-05-23  Bruno Haible  <bruno@clisp.org>
13098
13099         dirent-safer: Move AC_LIBOBJ invocations to module description.
13100         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
13101         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
13102
13103 2011-05-23  Bruno Haible  <bruno@clisp.org>
13104
13105         crypto/des: Move AC_LIBOBJ invocations to module description.
13106         * m4/des.m4: Remove file.
13107         * modules/crypto/des (Files): Remove it.
13108         (configure.ac): Remove gl_DES call.
13109         (Makefile.am): Augment lib_SOURCES.
13110
13111 2011-05-23  Bruno Haible  <bruno@clisp.org>
13112
13113         cycle-check: Move AC_LIBOBJ invocations to module description.
13114         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
13115         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
13116
13117 2011-05-23  Bruno Haible  <bruno@clisp.org>
13118
13119         c-strtold: Move AC_LIBOBJ invocations to module description.
13120         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
13121         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
13122
13123 2011-05-23  Bruno Haible  <bruno@clisp.org>
13124
13125         c-strtod: Move AC_LIBOBJ invocations to module description.
13126         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
13127         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
13128
13129 2011-05-23  Bruno Haible  <bruno@clisp.org>
13130
13131         crc: Move AC_LIBOBJ invocations to module description.
13132         * m4/crc.m4: Remove file.
13133         * modules/crc (Files): Remove it.
13134         (configure.ac): Remove gl_CRC call.
13135         (Makefile.am): Augment lib_SOURCES.
13136
13137 2011-05-23  Bruno Haible  <bruno@clisp.org>
13138
13139         close-stream: Move AC_LIBOBJ invocations to module description.
13140         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
13141         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
13142
13143 2011-05-23  Bruno Haible  <bruno@clisp.org>
13144
13145         closeout: Move AC_LIBOBJ invocations to module description.
13146         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
13147         * modules/closeout (Makefile.am): Augment lib_SOURCES.
13148
13149 2011-05-23  Bruno Haible  <bruno@clisp.org>
13150
13151         closein: Move AC_LIBOBJ invocations to module description.
13152         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
13153         * modules/closein (Makefile.am): Augment lib_SOURCES.
13154
13155 2011-05-23  Bruno Haible  <bruno@clisp.org>
13156
13157         cloexec: Move AC_LIBOBJ invocations to module description.
13158         * m4/cloexec.m4: Remove file.
13159         * modules/cloexec (Files): Remove it.
13160         (configure.ac): Remove gl_CLOEXEC call.
13161         (Makefile.am): Augment lib_SOURCES.
13162
13163 2011-05-23  Bruno Haible  <bruno@clisp.org>
13164
13165         check-version: Move AC_LIBOBJ invocations to module description.
13166         * m4/check-version.m4: Remove file.
13167         * modules/check-version (Files): Remove it.
13168         (configure.ac): Remove gl_CHECK_VERSION call.
13169         (Makefile.am): Augment lib_SOURCES.
13170
13171 2011-05-23  Bruno Haible  <bruno@clisp.org>
13172
13173         chdir-safer: Move AC_LIBOBJ invocations to module description.
13174         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
13175         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
13176
13177 2011-05-23  Bruno Haible  <bruno@clisp.org>
13178
13179         canonicalize: Move AC_LIBOBJ invocations to module description.
13180         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
13181         AC_LIBOBJ invocation.
13182         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
13183
13184 2011-05-23  Bruno Haible  <bruno@clisp.org>
13185
13186         canon-host: Move AC_LIBOBJ invocations to module description.
13187         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
13188         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
13189         instead of gl_CANON_HOST.
13190         (Makefile.am): Augment lib_SOURCES.
13191
13192 2011-05-23  Bruno Haible  <bruno@clisp.org>
13193
13194         backupfile: Move AC_LIBOBJ invocations to module description.
13195         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
13196         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
13197
13198 2011-05-23  Bruno Haible  <bruno@clisp.org>
13199
13200         argmatch: Move AC_LIBOBJ invocations to module description.
13201         * m4/argmatch.m4: Remove file.
13202         * modules/argmatch (Files): Remove it.
13203         (configure.ac): Remove gl_ARGMATCH call.
13204         (Makefile.am): Augment lib_SOURCES.
13205
13206 2011-05-23  Bruno Haible  <bruno@clisp.org>
13207
13208         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
13209         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
13210         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
13211
13212 2011-05-23  Bruno Haible  <bruno@clisp.org>
13213
13214         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
13215         * m4/arcfour.m4: Remove file.
13216         * modules/crypto/arcfour (Files): Remove it.
13217         (configure.ac): Remove gl_ARCFOUR call.
13218         (Makefile.am): Augment lib_SOURCES.
13219
13220 2011-05-22  Bruno Haible  <bruno@clisp.org>
13221
13222         write: Move AC_LIBOBJ invocations to module description.
13223         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
13224         * modules/write (configure.ac): ... to here.
13225
13226 2011-05-22  Bruno Haible  <bruno@clisp.org>
13227
13228         wmemset: Move AC_LIBOBJ invocations to module description.
13229         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
13230         here...
13231         * modules/wmemset (configure.ac): ... to here.
13232
13233 2011-05-22  Bruno Haible  <bruno@clisp.org>
13234
13235         wmemmove: Move AC_LIBOBJ invocations to module description.
13236         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
13237         here...
13238         * modules/wmemmove (configure.ac): ... to here.
13239
13240 2011-05-22  Bruno Haible  <bruno@clisp.org>
13241
13242         wmemcpy: Move AC_LIBOBJ invocations to module description.
13243         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
13244         here...
13245         * modules/wmemcpy (configure.ac): ... to here.
13246
13247 2011-05-22  Bruno Haible  <bruno@clisp.org>
13248
13249         wmemcmp: Move AC_LIBOBJ invocations to module description.
13250         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
13251         here...
13252         * modules/wmemcmp (configure.ac): ... to here.
13253
13254 2011-05-22  Bruno Haible  <bruno@clisp.org>
13255
13256         wmemchr: Move AC_LIBOBJ invocations to module description.
13257         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
13258         here...
13259         * modules/wmemchr (configure.ac): ... to here.
13260
13261 2011-05-22  Bruno Haible  <bruno@clisp.org>
13262
13263         wcswidth: Move AC_LIBOBJ invocations to module description.
13264         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
13265         here...
13266         * modules/wcswidth (configure.ac): ... to here.
13267
13268 2011-05-22  Bruno Haible  <bruno@clisp.org>
13269
13270         wcwidth: Respect rules for use of AC_LIBOBJ.
13271         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
13272         invocation from here...
13273         * modules/wcwidth (configure.ac): ... to here.
13274         (Depends-on): Update conditions.
13275
13276 2011-05-22  Bruno Haible  <bruno@clisp.org>
13277
13278         wctype: Move AC_LIBOBJ invocations to module description.
13279         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
13280         invocation from here...
13281         * modules/wctype (configure.ac): ... to here.
13282         (Depends-on): Update conditions.
13283
13284 2011-05-22  Bruno Haible  <bruno@clisp.org>
13285
13286         wctrans: Move AC_LIBOBJ invocations to module description.
13287         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
13288         invocation from here...
13289         * modules/wctrans (configure.ac): ... to here.
13290
13291 2011-05-22  Bruno Haible  <bruno@clisp.org>
13292
13293         wctomb: Move AC_LIBOBJ invocations to module description.
13294         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
13295         invocations from here...
13296         * modules/wctomb (configure.ac): ... to here.
13297
13298 2011-05-22  Bruno Haible  <bruno@clisp.org>
13299
13300         wctob: Move AC_LIBOBJ invocations to module description.
13301         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
13302         gl_PREREQ_WCTOB invocations from here...
13303         * modules/wctob (configure.ac): ... to here.
13304         (Depends-on): Update conditions.
13305
13306 2011-05-22  Bruno Haible  <bruno@clisp.org>
13307
13308         wcsxfrm: Move AC_LIBOBJ invocations to module description.
13309         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
13310         here...
13311         * modules/wcsxfrm (configure.ac): ... to here.
13312
13313 2011-05-22  Bruno Haible  <bruno@clisp.org>
13314
13315         wcstok: Move AC_LIBOBJ invocations to module description.
13316         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
13317         * modules/wcstok (configure.ac): ... to here.
13318
13319 2011-05-22  Bruno Haible  <bruno@clisp.org>
13320
13321         wcsstr: Move AC_LIBOBJ invocations to module description.
13322         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
13323         * modules/wcsstr (configure.ac): ... to here.
13324
13325 2011-05-22  Bruno Haible  <bruno@clisp.org>
13326
13327         wcsspn: Move AC_LIBOBJ invocations to module description.
13328         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
13329         * modules/wcsspn (configure.ac): ... to here.
13330
13331 2011-05-22  Bruno Haible  <bruno@clisp.org>
13332
13333         wcsrtombs: Move AC_LIBOBJ invocations to module description.
13334         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
13335         gl_PREREQ_WCSRTOMBS invocations from here...
13336         * modules/wcsrtombs (configure.ac): ... to here.
13337
13338 2011-05-22  Bruno Haible  <bruno@clisp.org>
13339
13340         wcsrchr: Move AC_LIBOBJ invocations to module description.
13341         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
13342         here...
13343         * modules/wcsrchr (configure.ac): ... to here.
13344
13345 2011-05-22  Bruno Haible  <bruno@clisp.org>
13346
13347         wcspbrk: Move AC_LIBOBJ invocations to module description.
13348         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
13349         here...
13350         * modules/wcspbrk (configure.ac): ... to here.
13351
13352 2011-05-22  Bruno Haible  <bruno@clisp.org>
13353
13354         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
13355         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
13356         gl_PREREQ_WCSNRTOMBS invocations from here...
13357         * modules/wcsnrtombs (configure.ac): ... to here.
13358
13359 2011-05-22  Bruno Haible  <bruno@clisp.org>
13360
13361         wcsnlen: Move AC_LIBOBJ invocations to module description.
13362         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
13363         here...
13364         * modules/wcsnlen (configure.ac): ... to here.
13365
13366 2011-05-22  Bruno Haible  <bruno@clisp.org>
13367
13368         wcsncpy: Move AC_LIBOBJ invocations to module description.
13369         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
13370         here...
13371         * modules/wcsncpy (configure.ac): ... to here.
13372
13373 2011-05-22  Bruno Haible  <bruno@clisp.org>
13374
13375         wcsncmp: Move AC_LIBOBJ invocations to module description.
13376         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
13377         here...
13378         * modules/wcsncmp (configure.ac): ... to here.
13379
13380 2011-05-22  Bruno Haible  <bruno@clisp.org>
13381
13382         wcsncat: Move AC_LIBOBJ invocations to module description.
13383         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
13384         here...
13385         * modules/wcsncat (configure.ac): ... to here.
13386
13387 2011-05-22  Bruno Haible  <bruno@clisp.org>
13388
13389         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
13390         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
13391         from here...
13392         * modules/wcsncasecmp (configure.ac): ... to here.
13393
13394 2011-05-22  Bruno Haible  <bruno@clisp.org>
13395
13396         wcslen: Move AC_LIBOBJ invocations to module description.
13397         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
13398         * modules/wcslen (configure.ac): ... to here.
13399
13400 2011-05-22  Bruno Haible  <bruno@clisp.org>
13401
13402         wcsdup: Move AC_LIBOBJ invocations to module description.
13403         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
13404         * modules/wcsdup (configure.ac): ... to here.
13405
13406 2011-05-22  Bruno Haible  <bruno@clisp.org>
13407
13408         wcscspn: Move AC_LIBOBJ invocations to module description.
13409         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
13410         here...
13411         * modules/wcscspn (configure.ac): ... to here.
13412
13413 2011-05-22  Bruno Haible  <bruno@clisp.org>
13414
13415         wcscpy: Move AC_LIBOBJ invocations to module description.
13416         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
13417         * modules/wcscpy (configure.ac): ... to here.
13418
13419 2011-05-22  Bruno Haible  <bruno@clisp.org>
13420
13421         wcscoll: Move AC_LIBOBJ invocations to module description.
13422         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
13423         here...
13424         * modules/wcscoll (configure.ac): ... to here.
13425
13426 2011-05-22  Bruno Haible  <bruno@clisp.org>
13427
13428         wcscmp: Move AC_LIBOBJ invocations to module description.
13429         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
13430         * modules/wcscmp (configure.ac): ... to here.
13431
13432 2011-05-22  Bruno Haible  <bruno@clisp.org>
13433
13434         wcschr: Move AC_LIBOBJ invocations to module description.
13435         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
13436         * modules/wcschr (configure.ac): ... to here.
13437
13438 2011-05-22  Bruno Haible  <bruno@clisp.org>
13439
13440         wcscat: Move AC_LIBOBJ invocations to module description.
13441         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
13442         * modules/wcscat (configure.ac): ... to here.
13443
13444 2011-05-22  Bruno Haible  <bruno@clisp.org>
13445
13446         wcscasecmp: Move AC_LIBOBJ invocations to module description.
13447         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
13448         here...
13449         * modules/wcscasecmp (configure.ac): ... to here.
13450
13451 2011-05-22  Bruno Haible  <bruno@clisp.org>
13452
13453         wcrtomb: Move AC_LIBOBJ invocations to module description.
13454         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
13455         invocations from here...
13456         * modules/wcrtomb (configure.ac): ... to here.
13457
13458 2011-05-22  Bruno Haible  <bruno@clisp.org>
13459
13460         wcpncpy: Move AC_LIBOBJ invocations to module description.
13461         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
13462         here...
13463         * modules/wcpncpy (configure.ac): ... to here.
13464
13465 2011-05-22  Bruno Haible  <bruno@clisp.org>
13466
13467         wcpcpy: Move AC_LIBOBJ invocations to module description.
13468         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
13469         * modules/wcpcpy (configure.ac): ... to here.
13470
13471 2011-05-22  Bruno Haible  <bruno@clisp.org>
13472
13473         waitpid: Move AC_LIBOBJ invocations to module description.
13474         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
13475         invocation from here...
13476         * modules/waitpid (configure.ac): ... to here.
13477
13478 2011-05-22  Bruno Haible  <bruno@clisp.org>
13479
13480         utimensat: Move AC_LIBOBJ invocations to module description.
13481         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
13482         here...
13483         * modules/utimensat (configure.ac): ... to here.
13484
13485 2011-05-22  Bruno Haible  <bruno@clisp.org>
13486
13487         usleep: Move AC_LIBOBJ invocations to module description.
13488         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
13489         here...
13490         * modules/usleep (configure.ac): ... to here.
13491
13492 2011-05-22  Bruno Haible  <bruno@clisp.org>
13493
13494         unlockpt: Move AC_LIBOBJ invocations to module description.
13495         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
13496         gl_PREREQ_UNLOCKPT invocations from here...
13497         * modules/unlockpt (configure.ac): ... to here.
13498
13499 2011-05-22  Bruno Haible  <bruno@clisp.org>
13500
13501         unlink: Respect rules for use of AC_LIBOBJ.
13502         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
13503         * modules/unlink (configure.ac): ... to here.
13504
13505 2011-05-22  Bruno Haible  <bruno@clisp.org>
13506
13507         uname: Move AC_LIBOBJ invocations to module description.
13508         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
13509         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
13510         here...
13511         * modules/uname (configure.ac): ... to here.
13512
13513 2011-05-22  Bruno Haible  <bruno@clisp.org>
13514
13515         ttyname_r: Move AC_LIBOBJ invocations to module description.
13516         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
13517         gl_PREREQ_TTYNAME_R invocations from here...
13518         * modules/ttyname_r (configure.ac): ... to here.
13519
13520 2011-05-22  Bruno Haible  <bruno@clisp.org>
13521
13522         tsearch: Move AC_LIBOBJ invocations to module description.
13523         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
13524         invocations from here...
13525         * modules/tsearch (configure.ac): ... to here.
13526
13527 2011-05-22  Bruno Haible  <bruno@clisp.org>
13528
13529         towctrans: Move AC_LIBOBJ invocations to module description.
13530         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
13531         AC_LIBOBJ invocation from here...
13532         * modules/towctrans (configure.ac): ... to here.
13533
13534 2011-05-22  Bruno Haible  <bruno@clisp.org>
13535
13536         tmpfile: Move AC_LIBOBJ invocations to module description.
13537         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
13538         invocations from here...
13539         * modules/tmpfile (configure.ac): ... to here.
13540
13541 2011-05-22  Bruno Haible  <bruno@clisp.org>
13542
13543         times: Move AC_LIBOBJ invocations to module description.
13544         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
13545         * modules/times (configure.ac): ... to here.
13546
13547 2011-05-22  Bruno Haible  <bruno@clisp.org>
13548
13549         time_r: Move AC_LIBOBJ invocations to module description.
13550         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
13551         invocations from here...
13552         * modules/time_r (configure.ac): ... to here.
13553
13554 2011-05-22  Bruno Haible  <bruno@clisp.org>
13555
13556         timegm: Move AC_LIBOBJ invocations to module description.
13557         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
13558         invocations from here...
13559         * modules/timegm (configure.ac): ... to here.
13560
13561 2011-05-22  Bruno Haible  <bruno@clisp.org>
13562
13563         tcgetsid: Move AC_LIBOBJ invocations to module description.
13564         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
13565         and gl_PREREQ_TCGETSID invocations from here...
13566         * modules/tcgetsid (configure.ac): ... to here.
13567         (Depends-on): Update conditions.
13568
13569 2011-05-22  Bruno Haible  <bruno@clisp.org>
13570
13571         symlinkat: Move AC_LIBOBJ invocations to module description.
13572         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
13573         here...
13574         * modules/symlinkat (configure.ac): ... to here.
13575
13576 2011-05-22  Bruno Haible  <bruno@clisp.org>
13577
13578         symlink: Move AC_LIBOBJ invocations to module description.
13579         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
13580         here...
13581         * modules/symlink (configure.ac): ... to here.
13582
13583 2011-05-22  Bruno Haible  <bruno@clisp.org>
13584
13585         strverscmp: Move AC_LIBOBJ invocations to module description.
13586         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
13587         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
13588         from here...
13589         * modules/strverscmp (configure.ac): ... to here.
13590
13591 2011-05-22  Bruno Haible  <bruno@clisp.org>
13592
13593         strtok_r: Move AC_LIBOBJ invocations to module description.
13594         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
13595         and gl_PREREQ_STRTOK_R invocations from here...
13596         * modules/strtok_r (configure.ac): ... to here.
13597         (Depends-on): Update conditions.
13598
13599 2011-05-22  Bruno Haible  <bruno@clisp.org>
13600
13601         strtoumax: Move AC_LIBOBJ invocations to module description.
13602         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
13603         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
13604         from here...
13605         * modules/strtoumax (configure.ac): ... to here.
13606
13607 2011-05-22  Bruno Haible  <bruno@clisp.org>
13608
13609         strtoimax: Move AC_LIBOBJ invocations to module description.
13610         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
13611         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
13612         from here...
13613         * modules/strtoimax (configure.ac): ... to here.
13614
13615 2011-05-22  Bruno Haible  <bruno@clisp.org>
13616
13617         strtoull: Move AC_LIBOBJ invocations to module description.
13618         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
13619         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
13620         from here...
13621         * modules/strtoull (configure.ac): ... to here.
13622
13623 2011-05-22  Bruno Haible  <bruno@clisp.org>
13624
13625         strtoll: Move AC_LIBOBJ invocations to module description.
13626         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
13627         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
13628         here...
13629         * modules/strtoll (configure.ac): ... to here.
13630
13631 2011-05-22  Bruno Haible  <bruno@clisp.org>
13632
13633         strtoul: Move AC_LIBOBJ invocations to module description.
13634         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
13635         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13636         * modules/strtoul (configure.ac): ... to here.
13637
13638 2011-05-22  Bruno Haible  <bruno@clisp.org>
13639
13640         strtol: Move AC_LIBOBJ invocations to module description.
13641         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
13642         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
13643         * modules/strtol (configure.ac): ... to here.
13644
13645 2011-05-22  Bruno Haible  <bruno@clisp.org>
13646
13647         strtod: Move AC_LIBOBJ invocations to module description.
13648         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
13649         invocations from here...
13650         * modules/strtod (configure.ac): ... to here.
13651
13652 2011-05-22  Bruno Haible  <bruno@clisp.org>
13653
13654         strstr*: Move AC_LIBOBJ invocations to module description.
13655         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
13656         invocations from here...
13657         * modules/strstr-simple (configure.ac): ... to here.
13658         * modules/strstr (configure.ac): ... and here.
13659
13660 2011-05-22  Bruno Haible  <bruno@clisp.org>
13661
13662         strsignal: Move AC_LIBOBJ invocations to module description.
13663         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
13664         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
13665         * modules/strsignal (configure.ac): ... to here.
13666         (Depends-on): Update conditions.
13667
13668 2011-05-22  Bruno Haible  <bruno@clisp.org>
13669
13670         strsep: Move AC_LIBOBJ invocations to module description.
13671         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
13672         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
13673         here...
13674         * modules/strsep (configure.ac): ... to here.
13675
13676 2011-05-22  Bruno Haible  <bruno@clisp.org>
13677
13678         strptime: Move AC_LIBOBJ invocations to module description.
13679         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
13680         gl_PREREQ_STRPTIME invocations from here...
13681         * modules/strptime (configure.ac): ... to here.
13682
13683 2011-05-22  Bruno Haible  <bruno@clisp.org>
13684
13685         strpbrk: Move AC_LIBOBJ invocations to module description.
13686         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
13687         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
13688         here...
13689         * modules/strpbrk (configure.ac): ... to here.
13690
13691 2011-05-22  Bruno Haible  <bruno@clisp.org>
13692
13693         strnlen: Move AC_LIBOBJ invocations to module description.
13694         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
13695         invocations from here...
13696         * modules/strnlen (configure.ac): ... to here.
13697
13698 2011-05-22  Bruno Haible  <bruno@clisp.org>
13699
13700         strndup: Move AC_LIBOBJ invocations to module description.
13701         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
13702         invocations from here...
13703         * modules/strndup (configure.ac): ... to here.
13704         (Depends-on): Update conditions.
13705
13706 2011-05-22  Bruno Haible  <bruno@clisp.org>
13707
13708         strncat: Move AC_LIBOBJ invocations to module description.
13709         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
13710         invocations from here...
13711         * modules/strncat (configure.ac): ... to here.
13712
13713 2011-05-22  Bruno Haible  <bruno@clisp.org>
13714
13715         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
13716         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
13717         invocations from here...
13718         * modules/strdup (configure.ac): ... to here.
13719         * modules/strdup-posix (configure.ac): ... and here.
13720
13721 2011-05-22  Bruno Haible  <bruno@clisp.org>
13722
13723         strcspn: Move AC_LIBOBJ invocations to module description.
13724         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
13725         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
13726         here...
13727         * modules/strcspn (configure.ac): ... to here.
13728
13729 2011-05-22  Bruno Haible  <bruno@clisp.org>
13730
13731         strchrnul: Move AC_LIBOBJ invocations to module description.
13732         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
13733         gl_PREREQ_STRCHRNUL invocations from here...
13734         * modules/strchrnul (configure.ac): ... to here.
13735
13736 2011-05-22  Bruno Haible  <bruno@clisp.org>
13737
13738         strcasestr*: Move AC_LIBOBJ invocations to module description.
13739         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13740         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
13741         * modules/strcasestr-simple (configure.ac): ... to here.
13742         * modules/strcasestr (configure.ac): ... and here.
13743
13744 2011-05-22  Bruno Haible  <bruno@clisp.org>
13745
13746         strcase: Move AC_LIBOBJ invocations to module description.
13747         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
13748         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
13749         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
13750         gl_PREREQ_STRNCASECMP invocations from here...
13751         * modules/strcase (configure.ac): ... to here.
13752
13753 2011-05-22  Bruno Haible  <bruno@clisp.org>
13754
13755         stpncpy: Move AC_LIBOBJ invocations to module description.
13756         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
13757         here...
13758         * modules/stpncpy (configure.ac): ... to here.
13759
13760 2011-05-22  Bruno Haible  <bruno@clisp.org>
13761
13762         stpcpy: Move AC_LIBOBJ invocations to module description.
13763         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
13764         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
13765         here...
13766         * modules/stpcpy (configure.ac): ... to here.
13767
13768 2011-05-21  Bruno Haible  <bruno@clisp.org>
13769
13770         stat: Move AC_LIBOBJ invocations to module description.
13771         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
13772         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
13773         here...
13774         * modules/stat (configure.ac): ... to here.
13775
13776 2011-05-21  Bruno Haible  <bruno@clisp.org>
13777
13778         sleep: Move AC_LIBOBJ invocations to module description.
13779         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
13780         * modules/sleep (configure.ac): ... to here.
13781
13782 2011-05-21  Bruno Haible  <bruno@clisp.org>
13783
13784         signbit: Move AC_LIBOBJ invocations to module description.
13785         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
13786         * modules/signbit (configure.ac): ... to here.
13787
13788 2011-05-21  Bruno Haible  <bruno@clisp.org>
13789
13790         sigprocmask: Move AC_LIBOBJ invocations to module description.
13791         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
13792         gl_PREREQ_SIGPROMASK invocations from here...
13793         * modules/sigprocmask (configure.ac): ... to here.
13794
13795 2011-05-21  Bruno Haible  <bruno@clisp.org>
13796
13797         sigaction: Move AC_LIBOBJ invocations to module description.
13798         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
13799         gl_PREREQ_SIGACTION invocations from here...
13800         * modules/sigaction (configure.ac): ... to here.
13801
13802 2011-05-21  Bruno Haible  <bruno@clisp.org>
13803
13804         sig2str: Move AC_LIBOBJ invocations to module description.
13805         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
13806         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
13807         here...
13808         * modules/sig2str (configure.ac): ... to here.
13809
13810 2011-05-21  Bruno Haible  <bruno@clisp.org>
13811
13812         setlocale: Move AC_LIBOBJ invocations to module description.
13813         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
13814         gl_PREREQ_SETLOCALE invocations from here...
13815         * modules/setlocale (configure.ac): ... to here.
13816
13817 2011-05-21  Bruno Haible  <bruno@clisp.org>
13818
13819         unsetenv: Move AC_LIBOBJ invocations to module description.
13820         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
13821         and gl_PREREQ_UNSETENV invocations from here...
13822         * modules/unsetenv (configure.ac): ... to here.
13823         (Depends-on): Update.
13824
13825 2011-05-21  Bruno Haible  <bruno@clisp.org>
13826
13827         setenv: Move AC_LIBOBJ invocations to module description.
13828         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
13829         here...
13830         * modules/setenv (configure.ac): ... to here.
13831
13832 2011-05-21  Bruno Haible  <bruno@clisp.org>
13833
13834         selinux-h: Move AC_LIBOBJ invocations to module description.
13835         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
13836         AC_LIBOBJ invocation from here...
13837         * modules/selinux-h (configure.ac): ... to here.
13838
13839 2011-05-21  Bruno Haible  <bruno@clisp.org>
13840
13841         select: Respect rules for use of AC_LIBOBJ.
13842         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
13843         here...
13844         * modules/select (configure.ac): ... to here.
13845
13846 2011-05-21  Bruno Haible  <bruno@clisp.org>
13847
13848         scandir: Move AC_LIBOBJ invocations to module description.
13849         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
13850         invocations from here...
13851         * modules/scandir (configure.ac): ... to here.
13852
13853 2011-05-21  Bruno Haible  <bruno@clisp.org>
13854
13855         rpmatch: Move AC_LIBOBJ invocations to module description.
13856         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
13857         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
13858         here...
13859         * modules/rpmatch (configure.ac): ... to here.
13860
13861 2011-05-21  Bruno Haible  <bruno@clisp.org>
13862
13863         rmdir: Respect rules for use of AC_LIBOBJ.
13864         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
13865         * modules/rmdir (configure.ac): ... to here.
13866
13867 2011-05-21  Bruno Haible  <bruno@clisp.org>
13868
13869         renameat: Move AC_LIBOBJ invocations to module description.
13870         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
13871         here...
13872         * modules/renameat (configure.ac): ... to here.
13873
13874 2011-05-21  Bruno Haible  <bruno@clisp.org>
13875
13876         rename: Respect rules for use of AC_LIBOBJ.
13877         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
13878         here...
13879         * modules/rename (configure.ac): ... to here.
13880
13881 2011-05-21  Bruno Haible  <bruno@clisp.org>
13882
13883         remove: Move AC_LIBOBJ invocations to module description.
13884         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
13885         here...
13886         * modules/remove (configure.ac): ... to here.
13887
13888 2011-05-21  Bruno Haible  <bruno@clisp.org>
13889
13890         relocatable-lib: Move AC_LIBOBJ invocations to module description.
13891         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
13892         macro.
13893         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
13894         * modules/relocatable-lib (configure.ac): ... to here.
13895         * modules/relocatable-prog-wrapper (configure.ac): Invoke
13896         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
13897
13898 2011-05-21  Bruno Haible  <bruno@clisp.org>
13899
13900         relocatable-prog: Move AC_LIBOBJ invocations to module description.
13901         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
13902         here...
13903         * modules/relocatable-prog (configure.ac): ... to here.
13904
13905 2011-05-21  Bruno Haible  <bruno@clisp.org>
13906
13907         regex: Move AC_LIBOBJ invocations to module description.
13908         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
13909         invocations from here...
13910         * modules/regex (configure.ac): ... to here.
13911
13912 2011-05-21  Bruno Haible  <bruno@clisp.org>
13913
13914         realloc-*: Move AC_LIBOBJ invocations to module description.
13915         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
13916         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
13917         AC_LIBOBJ invocations from here...
13918         * modules/realloc-gnu (configure.ac): ... to here.
13919         * modules/realloc-posix (configure.ac): ... and here.
13920
13921 2011-05-21  Bruno Haible  <bruno@clisp.org>
13922
13923         readutmp: Move AC_LIBOBJ invocations to module description.
13924         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
13925         * modules/readutmp (configure.ac): ... to here.
13926
13927 2011-05-21  Bruno Haible  <bruno@clisp.org>
13928
13929         readlinkat: Move AC_LIBOBJ invocations to module description.
13930         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
13931         here...
13932         * modules/readlinkat (configure.ac): ... to here.
13933
13934 2011-05-21  Bruno Haible  <bruno@clisp.org>
13935
13936         readlink: Move AC_LIBOBJ invocations to module description.
13937         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
13938         gl_PREREQ_READLINK invocations from here...
13939         * modules/readlink (configure.ac): ... to here.
13940
13941 2011-05-21  Bruno Haible  <bruno@clisp.org>
13942
13943         readline: Move AC_LIBOBJ invocations to module description.
13944         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
13945         gl_PREREQ_READLINE invocations from here...
13946         * modules/readline (configure.ac): ... to here.
13947
13948 2011-05-21  Bruno Haible  <bruno@clisp.org>
13949
13950         read: Move AC_LIBOBJ invocations to module description.
13951         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
13952         * modules/read (configure.ac): ... to here.
13953
13954 2011-05-21  Bruno Haible  <bruno@clisp.org>
13955
13956         rawmemchr: Move AC_LIBOBJ invocations to module description.
13957         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
13958         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
13959         from here...
13960         * modules/rawmemchr (configure.ac): ... to here.
13961
13962 2011-05-21  Bruno Haible  <bruno@clisp.org>
13963
13964         random_r: Move AC_LIBOBJ invocations to module description.
13965         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
13966         gl_PREREQ_RANDOM_R invocations from here...
13967         * modules/random_r (configure.ac): ... to here.
13968
13969 2011-05-21  Bruno Haible  <bruno@clisp.org>
13970
13971         pwrite: Move AC_LIBOBJ invocations to module description.
13972         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
13973         * modules/pwrite (configure.ac): ... to here.
13974
13975 2011-05-21  Bruno Haible  <bruno@clisp.org>
13976
13977         putenv: Move AC_LIBOBJ invocations to module description.
13978         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
13979         * modules/putenv (configure.ac): ... to here.
13980
13981 2011-05-21  Bruno Haible  <bruno@clisp.org>
13982
13983         login_tty: Move AC_LIBOBJ invocations to module description.
13984         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
13985         * modules/login_tty (configure.ac): ... to here.
13986
13987 2011-05-21  Bruno Haible  <bruno@clisp.org>
13988
13989         openpty: Move AC_LIBOBJ invocations to module description.
13990         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
13991         * modules/openpty (configure.ac): ... to here.
13992
13993 2011-05-21  Bruno Haible  <bruno@clisp.org>
13994
13995         forkpty: Move AC_LIBOBJ invocations to module description.
13996         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
13997         * modules/forkpty (configure.ac): ... to here.
13998
13999 2011-05-21  Bruno Haible  <bruno@clisp.org>
14000
14001         ptsname: Move AC_LIBOBJ invocations to module description.
14002         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
14003         invocations from here...
14004         * modules/ptsname (configure.ac): ... to here.
14005
14006 2011-05-21  Bruno Haible  <bruno@clisp.org>
14007
14008         pread: Move AC_LIBOBJ invocations to module description.
14009         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
14010         * modules/pread (configure.ac): ... to here.
14011
14012 2011-05-21  Bruno Haible  <bruno@clisp.org>
14013
14014         posix_spawn*: Move AC_LIBOBJ invocations to module description.
14015         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
14016         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
14017         * modules/posix_spawn (configure.ac): ... to here.
14018         * modules/posix_spawnp (configure.ac): ... and here.
14019
14020 2011-05-21  Bruno Haible  <bruno@clisp.org>
14021
14022         popen: Move AC_LIBOBJ invocations to module description.
14023         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
14024         invocations from here...
14025         * modules/popen (configure.ac): ... to here.
14026
14027 2011-05-21  Bruno Haible  <bruno@clisp.org>
14028
14029         poll: Move AC_LIBOBJ invocations to module description.
14030         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
14031         invocations from here...
14032         * modules/poll (configure.ac): ... to here.
14033
14034 2011-05-21  Bruno Haible  <bruno@clisp.org>
14035
14036         pipe-posix: Move AC_LIBOBJ invocations to module description.
14037         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
14038         * modules/pipe-posix (configure.ac): ... to here.
14039
14040 2011-05-21  Bruno Haible  <bruno@clisp.org>
14041
14042         openat: Respect rules for use of AC_LIBOBJ.
14043         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
14044         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14045         * modules/openat (configure.ac): ... to here.
14046
14047 2011-05-21  Bruno Haible  <bruno@clisp.org>
14048
14049         obstack-printf*: Move AC_LIBOBJ invocations to module description.
14050         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
14051         invocation from here...
14052         * modules/obstack-printf (configure.ac): ... to here.
14053         * modules/obstack-printf-posix (configure.ac): ... and here.
14054
14055 2011-05-21  Bruno Haible  <bruno@clisp.org>
14056
14057         nl_langinfo: Move AC_LIBOBJ invocations to module description.
14058         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
14059         from here...
14060         * modules/nl_langinfo (configure.ac): ... to here.
14061
14062 2011-05-21  Bruno Haible  <bruno@clisp.org>
14063
14064         nanosleep: Move AC_LIBOBJ invocations to module description.
14065         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
14066         gl_PREREQ_NANOSLEEP invocations from here...
14067         * modules/nanosleep (configure.ac): ... to here.
14068
14069 2011-05-21  Bruno Haible  <bruno@clisp.org>
14070
14071         mountlist: Move AC_LIBOBJ invocations to module description.
14072         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
14073         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
14074         * modules/mountlist (configure.ac): ... to here.
14075
14076 2011-05-21  Bruno Haible  <bruno@clisp.org>
14077
14078         mktime: Respect rules for use of AC_LIBOBJ.
14079         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
14080         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
14081         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
14082         (gl_FUNC_MKTIME_INTERNAL): ... and here...
14083         * modules/mktime (configure.ac): ... to here.
14084         * modules/mktime-internal (configure.ac): ... and here.
14085         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
14086
14087 2011-05-21  Bruno Haible  <bruno@clisp.org>
14088
14089         mkstemps: Move AC_LIBOBJ invocations to module description.
14090         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
14091         here...
14092         * modules/mkstemps (configure.ac): ... to here.
14093
14094 2011-05-21  Bruno Haible  <bruno@clisp.org>
14095
14096         mkstemp: Move AC_LIBOBJ invocations to module description.
14097         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
14098         gl_PREREQ_MKSTEMP invocations from here...
14099         * modules/mkstemp (configure.ac): ... to here.
14100
14101 2011-05-21  Bruno Haible  <bruno@clisp.org>
14102
14103         mkostemps: Move AC_LIBOBJ invocations to module description.
14104         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
14105         here...
14106         * modules/mkostemps (configure.ac): ... to here.
14107
14108 2011-05-21  Bruno Haible  <bruno@clisp.org>
14109
14110         mkostemp: Move AC_LIBOBJ invocations to module description.
14111         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
14112         gl_PREREQ_MKOSTEMP invocations from here...
14113         * modules/mkostemp (configure.ac): ... to here.
14114
14115 2011-05-21  Bruno Haible  <bruno@clisp.org>
14116
14117         mknod: Move AC_LIBOBJ invocations to module description.
14118         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
14119         * modules/mknod (configure.ac): ... to here.
14120
14121 2011-05-21  Bruno Haible  <bruno@clisp.org>
14122
14123         mkfifoat: Move AC_LIBOBJ invocations to module description.
14124         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
14125         here...
14126         * modules/mkfifoat (configure.ac): ... to here.
14127
14128 2011-05-21  Bruno Haible  <bruno@clisp.org>
14129
14130         mkfifo: Respect rules for use of AC_LIBOBJ.
14131         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
14132         here...
14133         * modules/mkfifo (configure.ac): ... to here.
14134
14135 2011-05-21  Bruno Haible  <bruno@clisp.org>
14136
14137         mkdtemp: Move AC_LIBOBJ invocations to module description.
14138         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
14139         invocations from here...
14140         * modules/mkdtemp (configure.ac): ... to here.
14141
14142 2011-05-21  Bruno Haible  <bruno@clisp.org>
14143
14144         mkdir: Move AC_LIBOBJ invocations to module description.
14145         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
14146         * modules/mkdir (configure.ac): ... to here.
14147
14148 2011-05-21  Bruno Haible  <bruno@clisp.org>
14149
14150         memset: Move AC_LIBOBJ invocations to module description.
14151         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
14152         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
14153         here...
14154         * modules/memset (configure.ac): ... to here.
14155
14156 2011-05-21  Bruno Haible  <bruno@clisp.org>
14157
14158         memrchr: Move AC_LIBOBJ invocations to module description.
14159         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
14160         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
14161         here...
14162         * modules/memrchr (configure.ac): ... to here.
14163
14164 2011-05-21  Bruno Haible  <bruno@clisp.org>
14165
14166         mempcpy: Move AC_LIBOBJ invocations to module description.
14167         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
14168         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
14169         here...
14170         * modules/mempcpy (configure.ac): ... to here.
14171
14172 2011-05-21  Bruno Haible  <bruno@clisp.org>
14173
14174         memmove: Move AC_LIBOBJ invocations to module description.
14175         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
14176         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
14177         here...
14178         * modules/memmove (configure.ac): ... to here.
14179
14180 2011-05-21  Bruno Haible  <bruno@clisp.org>
14181
14182         memmem*: Move AC_LIBOBJ invocations to module description.
14183         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
14184         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
14185         here...
14186         (gl_FUNC_MEMMEM): ... and here...
14187         * modules/memmem-simple (configure.ac): ... to here.
14188         * modules/memmem (configure.ac): ... and here.
14189
14190 2011-05-21  Bruno Haible  <bruno@clisp.org>
14191
14192         memcpy: Move AC_LIBOBJ invocations to module description.
14193         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
14194         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
14195         here...
14196         * modules/memcpy (configure.ac): ... to here.
14197
14198 2011-05-21  Bruno Haible  <bruno@clisp.org>
14199
14200         memcmp: Simplify autoconf macro.
14201         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
14202         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
14203         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
14204
14205 2011-05-21  Bruno Haible  <bruno@clisp.org>
14206
14207         memcmp: Move AC_LIBOBJ invocations to module description.
14208         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
14209         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
14210         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
14211         * modules/memcmp (configure.ac): ... to here.
14212         (Depends-on): Update conditions.
14213
14214 2011-05-21  Bruno Haible  <bruno@clisp.org>
14215
14216         memchr: Respect rules for use of AC_LIBOBJ.
14217         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
14218         invocations from here...
14219         * modules/memchr (configure.ac): ... to here.
14220
14221 2011-05-21  Bruno Haible  <bruno@clisp.org>
14222
14223         mbtowc: Move AC_LIBOBJ invocations to module description.
14224         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
14225         invocations from here...
14226         * modules/mbtowc (configure.ac): ... to here.
14227
14228 2011-05-21  Bruno Haible  <bruno@clisp.org>
14229
14230         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
14231         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
14232         gl_PREREQ_MBSRTOWCS invocations from here...
14233         * modules/mbsrtowcs (configure.ac): ... to here.
14234
14235 2011-05-21  Bruno Haible  <bruno@clisp.org>
14236
14237         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
14238         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
14239         gl_PREREQ_MBSNRTOWCS invocations from here...
14240         * modules/mbsnrtowcs (configure.ac): ... to here.
14241
14242 2011-05-21  Bruno Haible  <bruno@clisp.org>
14243
14244         mbsinit: Move AC_LIBOBJ invocations to module description.
14245         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
14246         invocations from here...
14247         * modules/mbsinit (configure.ac): ... to here.
14248
14249 2011-05-21  Bruno Haible  <bruno@clisp.org>
14250
14251         mbrlen: Move AC_LIBOBJ invocations to module description.
14252         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
14253         invocations from here...
14254         * modules/mbrlen (configure.ac): ... to here.
14255
14256 2011-05-21  Bruno Haible  <bruno@clisp.org>
14257
14258         mbrtowc: Respect rules for use of AC_LIBOBJ.
14259         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
14260         invocations from here...
14261         * modules/mbrtowc (configure.ac): ... to here.
14262
14263 2011-05-21  Bruno Haible  <bruno@clisp.org>
14264
14265         malloc-*: Move AC_LIBOBJ invocations to module description.
14266         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
14267         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
14268         AC_LIBOBJ invocations from here...
14269         * modules/malloc-gnu (configure.ac): ... to here.
14270         * modules/malloc-posix (configure.ac): ... and here.
14271
14272 2011-05-21  Bruno Haible  <bruno@clisp.org>
14273
14274         lstat, openat: Respect rules for use of AC_LIBOBJ.
14275         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
14276         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
14277         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
14278         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
14279         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
14280         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
14281         here.
14282         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
14283
14284 2011-05-21  Bruno Haible  <bruno@clisp.org>
14285
14286         lseek: Move AC_LIBOBJ invocations to module description.
14287         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
14288         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
14289         * modules/lseek (configure.ac): ... to here.
14290
14291 2011-05-21  Bruno Haible  <bruno@clisp.org>
14292
14293         linkat: Move AC_LIBOBJ invocations to module description.
14294         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
14295         here...
14296         * modules/linkat (configure.ac): ... to here.
14297
14298 2011-05-21  Bruno Haible  <bruno@clisp.org>
14299
14300         link: Respect rules for use of AC_LIBOBJ.
14301         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
14302         * modules/link (configure.ac): ... to here.
14303
14304 2011-05-21  Bruno Haible  <bruno@clisp.org>
14305
14306         lchown: Move AC_LIBOBJ invocations to module description.
14307         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14308         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14309         * modules/lchown (configure.ac): ... to here.
14310
14311 2011-05-21  Bruno Haible  <bruno@clisp.org>
14312
14313         iswctype: Move AC_LIBOBJ invocations to module description.
14314         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
14315         here...
14316         * modules/iswctype (configure.ac): ... to here.
14317
14318 2011-05-21  Bruno Haible  <bruno@clisp.org>
14319
14320         iswblank: Move AC_LIBOBJ invocations to module description.
14321         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
14322         here...
14323         * modules/iswblank (configure.ac): ... to here.
14324
14325 2011-05-21  Bruno Haible  <bruno@clisp.org>
14326
14327         atanl: Move AC_LIBOBJ invocations to module description.
14328         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
14329         * modules/atanl (configure.ac): ... to here.
14330
14331 2011-05-21  Bruno Haible  <bruno@clisp.org>
14332
14333         acosl: Move AC_LIBOBJ invocations to module description.
14334         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
14335         * modules/acosl (configure.ac): ... to here.
14336
14337 2011-05-21  Bruno Haible  <bruno@clisp.org>
14338
14339         asinl: Respect rules for use of AC_LIBOBJ.
14340         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
14341         * modules/asinl (configure.ac): ... to here.
14342
14343 2011-05-21  Bruno Haible  <bruno@clisp.org>
14344
14345         tanl: Move AC_LIBOBJ invocations to module description.
14346         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
14347         * modules/tanl (configure.ac): ... to here.
14348
14349 2011-05-21  Bruno Haible  <bruno@clisp.org>
14350
14351         cosl: Move AC_LIBOBJ invocations to module description.
14352         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
14353         * modules/cosl (configure.ac): ... to here.
14354
14355 2011-05-21  Bruno Haible  <bruno@clisp.org>
14356
14357         sinl: Move AC_LIBOBJ invocations to module description.
14358         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
14359         * modules/sinl (configure.ac): ... to here.
14360
14361 2011-05-21  Bruno Haible  <bruno@clisp.org>
14362
14363         logl: Move AC_LIBOBJ invocations to module description.
14364         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
14365         * modules/logl (configure.ac): ... to here.
14366
14367 2011-05-21  Bruno Haible  <bruno@clisp.org>
14368
14369         expl: Move AC_LIBOBJ invocations to module description.
14370         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
14371         * modules/expl (configure.ac): ... to here.
14372
14373 2011-05-21  Bruno Haible  <bruno@clisp.org>
14374
14375         roundl: Move AC_LIBOBJ invocations to module description.
14376         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
14377         * modules/roundl (configure.ac): ... to here.
14378
14379 2011-05-21  Bruno Haible  <bruno@clisp.org>
14380
14381         round: Move AC_LIBOBJ invocations to module description.
14382         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
14383         * modules/round (configure.ac): ... to here.
14384
14385 2011-05-21  Bruno Haible  <bruno@clisp.org>
14386
14387         roundf: Move AC_LIBOBJ invocations to module description.
14388         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
14389         * modules/roundf (configure.ac): ... to here.
14390
14391 2011-05-21  Bruno Haible  <bruno@clisp.org>
14392
14393         truncl: Move AC_LIBOBJ invocations to module description.
14394         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
14395         * modules/truncl (configure.ac): ... to here.
14396
14397 2011-05-21  Bruno Haible  <bruno@clisp.org>
14398
14399         trunc: Move AC_LIBOBJ invocations to module description.
14400         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
14401         * modules/trunc (configure.ac): ... to here.
14402
14403 2011-05-21  Bruno Haible  <bruno@clisp.org>
14404
14405         truncf: Move AC_LIBOBJ invocations to module description.
14406         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
14407         * modules/truncf (configure.ac): ... to here.
14408
14409 2011-05-21  Bruno Haible  <bruno@clisp.org>
14410
14411         ceill: Move AC_LIBOBJ invocations to module description.
14412         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
14413         * modules/ceill (configure.ac): ... to here.
14414
14415 2011-05-21  Bruno Haible  <bruno@clisp.org>
14416
14417         ceil: Move AC_LIBOBJ invocations to module description.
14418         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
14419         * modules/ceil (configure.ac): ... to here.
14420
14421 2011-05-21  Bruno Haible  <bruno@clisp.org>
14422
14423         ceilf: Move AC_LIBOBJ invocations to module description.
14424         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
14425         * modules/ceilf (configure.ac): ... to here.
14426
14427 2011-05-21  Bruno Haible  <bruno@clisp.org>
14428
14429         floorl: Respect rules for use of AC_LIBOBJ.
14430         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
14431         * modules/floorl (configure.ac): ... to here.
14432
14433 2011-05-21  Bruno Haible  <bruno@clisp.org>
14434
14435         floor: Respect rules for use of AC_LIBOBJ.
14436         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
14437         * modules/floor (configure.ac): ... to here.
14438
14439 2011-05-21  Bruno Haible  <bruno@clisp.org>
14440
14441         floorf: Move AC_LIBOBJ invocations to module description.
14442         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
14443         * modules/floorf (configure.ac): ... to here.
14444
14445 2011-05-20  Bruno Haible  <bruno@clisp.org>
14446
14447         sqrtl: Respect rules for use of AC_LIBOBJ.
14448         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
14449         * modules/sqrtl (configure.ac): ... to here.
14450
14451 2011-05-20  Bruno Haible  <bruno@clisp.org>
14452
14453         ldexpl: Respect rules for use of AC_LIBOBJ.
14454         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
14455         * modules/ldexpl (configure.ac): ... to here.
14456
14457 2011-05-20  Bruno Haible  <bruno@clisp.org>
14458
14459         frexpl*: Respect rules for use of AC_LIBOBJ.
14460         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
14461         invocation from here...
14462         * modules/frexpl (configure.ac): ... to here.
14463         * modules/frexpl-nolibm (configure.ac): ... and here.
14464
14465 2011-05-20  Bruno Haible  <bruno@clisp.org>
14466
14467         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
14468         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
14469         invocation from here...
14470         * modules/frexp (configure.ac): ... to here.
14471         * modules/frexp-nolibm (configure.ac): ... and here.
14472
14473 2011-05-20  Bruno Haible  <bruno@clisp.org>
14474
14475         isnan: Respect rules for use of AC_LIBOBJ.
14476         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
14477         invocations here.
14478         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
14479         REPLACE_ISNAN.
14480         * modules/isnand (configure.ac): Likewise.
14481         * modules/isnanl (configure.ac): Likewise.
14482
14483 2011-05-20  Bruno Haible  <bruno@clisp.org>
14484
14485         isnanl*: Respect rules for use of AC_LIBOBJ.
14486         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
14487         invocation from here...
14488         * modules/isnanl (configure.ac): ... to here.
14489         * modules/isnanl-nolibm (configure.ac): ... and here.
14490
14491 2011-05-20  Bruno Haible  <bruno@clisp.org>
14492
14493         isnand*: Move AC_LIBOBJ invocations to module description.
14494         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
14495         invocation from here...
14496         * modules/isnand (configure.ac): ... to here.
14497         * modules/isnand-nolibm (configure.ac): ... and here.
14498
14499 2011-05-20  Bruno Haible  <bruno@clisp.org>
14500
14501         isnanf*: Move AC_LIBOBJ invocations to module description.
14502         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
14503         invocation from here...
14504         * modules/isnanf (configure.ac): ... to here.
14505         * modules/isnanf-nolibm (configure.ac): ... and here.
14506
14507 2011-05-20  Bruno Haible  <bruno@clisp.org>
14508
14509         isnan*: Separate the AC_LIBOBJ invocations.
14510         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
14511         AC_LIBOBJ invocation.
14512         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
14513         here.
14514         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
14515         AC_LIBOBJ invocation.
14516         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
14517         here.
14518         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
14519         AC_LIBOBJ invocation.
14520         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
14521         here.
14522         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
14523
14524 2011-05-08  Bruno Haible  <bruno@clisp.org>
14525
14526         isinf: Move AC_LIBOBJ invocations to module description.
14527         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
14528         * modules/isinf (configure.ac): ... to here.
14529
14530 2011-05-08  Bruno Haible  <bruno@clisp.org>
14531
14532         isfinite: Move AC_LIBOBJ invocations to module description.
14533         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
14534         * modules/isfinite (configure.ac): ... to here.
14535
14536 2011-05-08  Bruno Haible  <bruno@clisp.org>
14537
14538         isblank: Move AC_LIBOBJ invocations to module description.
14539         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
14540         here...
14541         * modules/isblank (configure.ac): ... to here.
14542
14543 2011-05-08  Bruno Haible  <bruno@clisp.org>
14544
14545         isapipe: Move AC_LIBOBJ invocations to module description.
14546         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
14547         gl_PREREQ_ISAPIPE invocations from here...
14548         * modules/isapipe (configure.ac): ... to here.
14549         (Depends-on): Update condition.
14550
14551 2011-05-08  Bruno Haible  <bruno@clisp.org>
14552
14553         ioctl: Move AC_LIBOBJ invocations to module description.
14554         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
14555         invocations from here...
14556         * modules/ioctl (configure.ac): ... to here.
14557         (Depends-on): Update condition.
14558
14559 2011-05-08  Bruno Haible  <bruno@clisp.org>
14560
14561         imaxdiv: Move AC_LIBOBJ invocations to module description.
14562         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
14563         invocations from here...
14564         * modules/imaxdiv (configure.ac): ... to here.
14565
14566 2011-05-08  Bruno Haible  <bruno@clisp.org>
14567
14568         imaxabs: Move AC_LIBOBJ invocations to module description.
14569         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
14570         invocations from here...
14571         * modules/imaxabs (configure.ac): ... to here.
14572
14573 2011-05-08  Bruno Haible  <bruno@clisp.org>
14574
14575         getaddrinfo: Move AC_LIBOBJ invocations to module description.
14576         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
14577         AC_LIBOBJ invocations from here...
14578         * modules/getaddrinfo (configure.ac): ... to here.
14579         (Depends-on): Add conditions.
14580
14581 2011-05-08  Bruno Haible  <bruno@clisp.org>
14582
14583         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14584         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
14585         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14586         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
14587         (gl_PREREQ_INET_PTON): ... from here.
14588         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
14589         gl_PREREQ_INET_PTON here.
14590         (Depends-on): Update condition.
14591
14592 2011-05-08  Bruno Haible  <bruno@clisp.org>
14593
14594         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
14595         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
14596         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
14597         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
14598         (gl_PREREQ_INET_NTOP): ... from here.
14599         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
14600         gl_PREREQ_INET_NTOP here.
14601         (Depends-on): Update condition.
14602
14603 2011-05-08  Bruno Haible  <bruno@clisp.org>
14604
14605         iconv_open: Move AC_LIBOBJ invocations to module description.
14606         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
14607         AC_LIBOBJ invocations from here...
14608         * modules/iconv_open (configure.ac): ... to here.
14609
14610 2011-05-08  Bruno Haible  <bruno@clisp.org>
14611
14612         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
14613         If module 'iconv_open' is among the main modules and module
14614         'iconv_open-utf' is among the tests dependencies, then
14615         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
14616         return the special iconv_t values. Therefore iconv() and iconv_close()
14617         must support these special iconv_t values, already in lib, not only in
14618         tests.
14619         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
14620         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
14621         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
14622         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
14623         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
14624         (Depends-on): Add the dependencies of iconv_open-utf.
14625         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
14626         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
14627         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
14628
14629 2011-05-08  Bruno Haible  <bruno@clisp.org>
14630
14631         group-member: Move AC_LIBOBJ invocations to module description.
14632         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
14633         gl_PREREQ_GROUP_MEMBER invocations from here...
14634         * modules/group-member (configure.ac): ... to here.
14635
14636 2011-05-08  Bruno Haible  <bruno@clisp.org>
14637
14638         grantpt: Move AC_LIBOBJ invocations to module description.
14639         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
14640         invocations from here...
14641         * modules/grantpt (configure.ac): ... to here.
14642
14643 2011-05-08  Bruno Haible  <bruno@clisp.org>
14644
14645         glob: Move AC_LIBOBJ invocations to module description.
14646         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
14647         from here...
14648         * modules/glob (configure.ac): ... to here.
14649
14650 2011-05-08  Bruno Haible  <bruno@clisp.org>
14651
14652         getusershell: Move AC_LIBOBJ invocations to module description.
14653         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
14654         Move AC_LIBOBJ invocation from here...
14655         * modules/getusershell (configure.ac): ... to here.
14656         (Depends-on): Update condition.
14657
14658 2011-05-08  Bruno Haible  <bruno@clisp.org>
14659
14660         gettimeofday: Move AC_LIBOBJ invocations to module description.
14661         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
14662         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
14663         gl_PREREQ_GETTIMEOFDAY invocations from here...
14664         * modules/gettimeofday (configure.ac): ... to here.
14665
14666 2011-05-08  Bruno Haible  <bruno@clisp.org>
14667
14668         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
14669         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
14670         just gl_FUNC_TZSET.
14671         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
14672         (gl_FUNC_TZSET_CLOBBER): Remove actions.
14673         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
14674         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
14675
14676 2011-05-08  Bruno Haible  <bruno@clisp.org>
14677
14678         getsubopt: Move AC_LIBOBJ invocations to module description.
14679         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
14680         gl_PREREQ_GETSUBOPT invocations from here...
14681         * modules/getsubopt (configure.ac): ... to here.
14682
14683 2011-05-08  Bruno Haible  <bruno@clisp.org>
14684
14685         getpass-gnu: Move AC_LIBOBJ invocations to module description.
14686         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
14687         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
14688         * modules/getpass-gnu (configure.ac): ... to here.
14689
14690 2011-05-08  Bruno Haible  <bruno@clisp.org>
14691
14692         getpass: Move AC_LIBOBJ invocations to module description.
14693         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
14694         gl_PREREQ_GETPASS invocations from here...
14695         * modules/getpass (configure.ac): ... to here.
14696
14697 2011-05-08  Bruno Haible  <bruno@clisp.org>
14698
14699         getpagesize: Move AC_LIBOBJ invocations to module description.
14700         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
14701         from here...
14702         * modules/getpagesize (configure.ac): ... to here.
14703
14704 2011-05-08  Bruno Haible  <bruno@clisp.org>
14705
14706         getopt: Move AC_LIBOBJ invocations to module description.
14707         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
14708         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
14709         invocations from here...
14710         * modules/getopt-gnu (configure.ac): ... to here.
14711         * modules/getopt-posix (configure.ac): ... and here.
14712         (Depends-on): Update condition.
14713
14714 2011-05-08  Bruno Haible  <bruno@clisp.org>
14715
14716         getopt, argp: Respect rules for use of AC_LIBOBJ.
14717         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
14718         (gl_REPLACE_GETOPT_ALWAYS): New macro.
14719         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
14720         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
14721
14722 2011-05-08  Bruno Haible  <bruno@clisp.org>
14723
14724         getlogin_r: Move AC_LIBOBJ invocations to module description.
14725         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
14726         gl_PREREQ_GETLOGIN_R invocations from here...
14727         * modules/getlogin_r (configure.ac): ... to here.
14728
14729 2011-05-08  Bruno Haible  <bruno@clisp.org>
14730
14731         getlogin: Move AC_LIBOBJ invocations to module description.
14732         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
14733         here...
14734         * modules/getlogin (configure.ac): ... to here.
14735
14736 2011-05-08  Bruno Haible  <bruno@clisp.org>
14737
14738         getloadavg: Move AC_LIBOBJ invocations to module description.
14739         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
14740         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
14741         * modules/getloadavg (configure.ac): ... to here.
14742
14743 2011-05-08  Bruno Haible  <bruno@clisp.org>
14744
14745         gethrxtime: Move AC_LIBOBJ invocations to module description.
14746         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
14747         LIB_GETHRXTIME from here...
14748         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
14749         invocations from here...
14750         * modules/gethrxtime (configure.ac): ... to here.
14751
14752 2011-05-08  Bruno Haible  <bruno@clisp.org>
14753
14754         gethostname: Move AC_LIBOBJ invocations to module description.
14755         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
14756         gl_PREREQ_GETHOSTNAME invocations from here...
14757         * modules/gethostname (configure.ac): ... to here.
14758
14759 2011-05-08  Bruno Haible  <bruno@clisp.org>
14760
14761         getgroups: Move AC_LIBOBJ invocations to module description.
14762         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
14763         here...
14764         * modules/getgroups (configure.ac): ... to here.
14765
14766 2011-05-08  Bruno Haible  <bruno@clisp.org>
14767
14768         getdtablesize: Move AC_LIBOBJ invocations to module description.
14769         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
14770         invocation from here...
14771         * modules/getdtablesize (configure.ac): ... to here.
14772
14773 2011-05-08  Bruno Haible  <bruno@clisp.org>
14774
14775         getdomainname: Move AC_LIBOBJ invocations to module description.
14776         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
14777         gl_PREREQ_GETDOMAINNAME invocations from here...
14778         * modules/getdomainname (configure.ac): ... to here.
14779
14780 2011-05-08  Bruno Haible  <bruno@clisp.org>
14781
14782         getline: Move AC_LIBOBJ invocations to module description.
14783         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
14784         invocations from here...
14785         * modules/getline (configure.ac): ... to here.
14786
14787 2011-05-08  Bruno Haible  <bruno@clisp.org>
14788
14789         getline: Simplify.
14790         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
14791         It's already handled through the module dependency.
14792
14793 2011-05-08  Bruno Haible  <bruno@clisp.org>
14794
14795         getdelim: Move AC_LIBOBJ invocations to module description.
14796         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
14797         and gl_PREREQ_GETDELIM invocations from here...
14798         * modules/getdelim (configure.ac): ... to here.
14799         (Depends-on): Fix condition.
14800
14801 2011-05-08  Bruno Haible  <bruno@clisp.org>
14802
14803         getcwd: Move AC_LIBOBJ invocations to module description.
14804         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
14805         invocations from here...
14806         * modules/getcwd (configure.ac): ... to here.
14807
14808 2011-05-08  Bruno Haible  <bruno@clisp.org>
14809
14810         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
14811         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
14812         here...
14813         * modules/getcwd-lgpl (configure.ac): ... to here.
14814
14815 2011-05-07  Bruno Haible  <bruno@clisp.org>
14816
14817         crypto/gc: Move AC_LIBOBJ invocations to module description.
14818         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
14819         * modules/crypto/gc (configure.ac): ... to here.
14820
14821 2011-05-07  Bruno Haible  <bruno@clisp.org>
14822
14823         fwriting: Move AC_LIBOBJ invocations to module description.
14824         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
14825         here...
14826         * modules/fwriting (configure.ac): ... to here.
14827
14828 2011-05-07  Bruno Haible  <bruno@clisp.org>
14829
14830         fwritable: Move AC_LIBOBJ invocations to module description.
14831         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
14832         here...
14833         * modules/fwritable (configure.ac): ... to here.
14834
14835 2011-05-07  Bruno Haible  <bruno@clisp.org>
14836
14837         futimens: Move AC_LIBOBJ invocations to module description.
14838         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
14839         here...
14840         * modules/futimens (configure.ac): ... to here.
14841
14842 2011-05-07  Bruno Haible  <bruno@clisp.org>
14843
14844         ftruncate: Move AC_LIBOBJ invocations to module description.
14845         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
14846         gl_PREREQ_FTRUNCATE invocations from here...
14847         * modules/ftruncate (configure.ac): ... to here.
14848
14849 2011-05-07  Bruno Haible  <bruno@clisp.org>
14850
14851         fsync: Move AC_LIBOBJ invocations to module description.
14852         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
14853         invocations from here...
14854         * modules/fsync (configure.ac): ... to here.
14855
14856 2011-05-07  Bruno Haible  <bruno@clisp.org>
14857
14858         fsusage: Move AC_LIBOBJ invocations to module description.
14859         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
14860         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
14861         * modules/fsusage (configure.ac): ... to here.
14862
14863 2011-05-07  Bruno Haible  <bruno@clisp.org>
14864
14865         freopen: Move AC_LIBOBJ invocations to module description.
14866         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
14867         invocations from here...
14868         * modules/freopen (configure.ac): ... to here.
14869
14870 2011-05-07  Bruno Haible  <bruno@clisp.org>
14871
14872         free: Move AC_LIBOBJ invocations to module description.
14873         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
14874         invocations from here...
14875         * modules/free (configure.ac): ... to here.
14876
14877 2011-05-07  Bruno Haible  <bruno@clisp.org>
14878
14879         freadable: Move AC_LIBOBJ invocations to module description.
14880         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
14881         here...
14882         * modules/freadable (configure.ac): ... to here.
14883
14884 2011-05-07  Bruno Haible  <bruno@clisp.org>
14885
14886         fpurge: Move AC_LIBOBJ invocations to module description.
14887         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
14888         invocations from here...
14889         * modules/fpurge (configure.ac): ... to here.
14890
14891 2011-05-07  Bruno Haible  <bruno@clisp.org>
14892
14893         fpending: Move AC_LIBOBJ invocations to module description.
14894         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
14895         gl_FUNC_FPENDING.
14896         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
14897         invocations from here...
14898         * modules/fpending (configure.ac): ... to here.
14899
14900 2011-05-07  Bruno Haible  <bruno@clisp.org>
14901
14902         fopen: Move AC_LIBOBJ invocations to module description.
14903         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
14904         invocations from here...
14905         * modules/fopen (configure.ac): ... to here.
14906
14907 2011-05-07  Bruno Haible  <bruno@clisp.org>
14908
14909         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
14910         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
14911         gl_FUNC_FNMATCH_POSIX.
14912         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
14913         invocations from here...
14914         * modules/fnmatch (configure.ac): ... to here.
14915         * modules/fnmatch-gnu (configure.ac): ... and here.
14916
14917 2011-05-07  Bruno Haible  <bruno@clisp.org>
14918
14919         flock: Move AC_LIBOBJ invocations to module description.
14920         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
14921         invocations from here...
14922         * modules/flock (configure.ac): ... to here.
14923
14924 2011-05-07  Bruno Haible  <bruno@clisp.org>
14925
14926         fileblocks: Move AC_LIBOBJ invocations to module description.
14927         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
14928         gl_PREREQ_FILEBLOCKS invocations from here...
14929         * modules/fileblocks (configure.ac): ... to here.
14930
14931 2011-05-06  Bruno Haible  <bruno@clisp.org>
14932
14933         fflush: Move AC_LIBOBJ invocations to module description.
14934         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
14935         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
14936         invocations from here...
14937         * modules/fflush (configure.ac): ... to here.
14938
14939 2011-05-06  Bruno Haible  <bruno@clisp.org>
14940
14941         fdopendir: Move AC_LIBOBJ invocations to module description.
14942         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
14943         here...
14944         * modules/fdopendir (configure.ac): ... to here.
14945         (Depends-on): Improve conditions.
14946
14947 2011-05-06  Bruno Haible  <bruno@clisp.org>
14948
14949         _Exit: Move AC_LIBOBJ invocations to module description.
14950         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
14951         invocations from here...
14952         * modules/_Exit (configure.ac): ... to here.
14953
14954 2011-05-21  Bruno Haible  <bruno@clisp.org>
14955
14956         euidaccess: Respect rules for use of AC_LIBOBJ.
14957         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
14958         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
14959         from here...
14960         * modules/euidaccess (configure.ac): ... to here.
14961
14962 2011-05-06  Bruno Haible  <bruno@clisp.org>
14963
14964         error: Move AC_LIBOBJ invocations to module description.
14965         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
14966         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
14967         invocations from here...
14968         * modules/error (configure.ac): ... to here.
14969
14970 2011-05-06  Bruno Haible  <bruno@clisp.org>
14971
14972         duplocale: Move AC_LIBOBJ invocations to module description.
14973         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
14974         gl_PREREQ_DUPLOCALE invocations from here...
14975         * modules/duplocale (configure.ac): ... to here.
14976
14977 2011-05-05  Bruno Haible  <bruno@clisp.org>
14978
14979         dirfd: Move AC_LIBOBJ invocations to module description.
14980         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
14981         gl_FUNC_DIRFD.
14982         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
14983         here...
14984         * modules/dirfd (configure.ac): ... to here.
14985         (Depends-on): Fix condition.
14986
14987 2011-05-05  Bruno Haible  <bruno@clisp.org>
14988
14989         chown: Respect rules for use of AC_LIBOBJ.
14990         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
14991         * modules/chown (configure.ac): ... to here.
14992
14993 2011-05-05  Bruno Haible  <bruno@clisp.org>
14994
14995         chdir-long: Move AC_LIBOBJ invocations to module description.
14996         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
14997         gl_PREREQ_CHDIR_LONG invocations from here...
14998         * modules/chdir-long (configure.ac): ... to here.
14999
15000 2011-05-05  Bruno Haible  <bruno@clisp.org>
15001
15002         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
15003         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
15004         from here...
15005         * modules/canonicalize-lgpl (configure.ac): ... to here.
15006
15007 2011-05-05  Bruno Haible  <bruno@clisp.org>
15008
15009         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
15010         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
15011         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
15012         REPLACE_CALLOC.
15013         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
15014         * modules/calloc-gnu (configure.ac): Likewise.
15015
15016 2011-05-05  Bruno Haible  <bruno@clisp.org>
15017
15018         btowc: Move AC_LIBOBJ invocations to module description.
15019         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
15020         invocations from here...
15021         * modules/btowc (configure.ac): ... to here.
15022
15023 2011-05-21  Bruno Haible  <bruno@clisp.org>
15024
15025         atexit: Move AC_LIBOBJ invocations to module description.
15026         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
15027         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
15028         here...
15029         * modules/atexit (configure.ac): ... to here.
15030
15031 2011-05-05  Bruno Haible  <bruno@clisp.org>
15032
15033         atoll: Move AC_LIBOBJ invocations to module description.
15034         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
15035         invocations from here...
15036         * modules/atoll (configure.ac): ... to here.
15037
15038 2011-05-05  Bruno Haible  <bruno@clisp.org>
15039
15040         argz: Move AC_LIBOBJ invocations to module description.
15041         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
15042         * modules/argz (configure.ac): ... to here.
15043
15044 2011-05-05  Bruno Haible  <bruno@clisp.org>
15045
15046         alphasort: Move AC_LIBOBJ invocations to module description.
15047         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
15048         gl_PREREQ_ALPHASORT invocations from here...
15049         * modules/alphasort (configure.ac): ... to here.
15050
15051 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
15052
15053         verify: new macro verify_expr; verify_true deprecated
15054         * NEWS: Mention this.
15055         * doc/verify.texi (Compile-time Assertions): Document this.
15056         * lib/verify.h (verify_true): Deprecate.
15057         (verify_expr): New macro.
15058         * tests/test-verify.c (function): Test verify_expr.
15059
15060 2011-06-14  Jim Meyering  <meyering@redhat.com>
15061
15062         init.sh: give more portable redirection-related advice in a comment
15063         * tests/init.sh (stderr_fileno_): Update the advice in comments.
15064         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
15065         for lots of discussion.  Stefano Lattarini suggested the solution
15066         of putting "9>&2" after the command.  Reported by Bruno Haible.
15067
15068 2011-06-13  Bruno Haible  <bruno@clisp.org>
15069
15070         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
15071         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
15072         'none'.
15073
15074 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15075
15076         ftoastr: use strtof only if HAVE_STRTOF
15077         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
15078         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
15079         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
15080         * modules/ftoastr (configure.ac): Check for strtof.
15081
15082 2011-06-13  Bruno Haible  <bruno@clisp.org>
15083
15084         gnulib-tool: Addendum to 2011-06-08 commit.
15085         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
15086         and --witness-c-macro have been given, augment AM_CPPFLAGS.
15087
15088 2011-06-13  Bruno Haible  <bruno@clisp.org>
15089
15090         fseeko: Provide a non-inline replacement of fseek().
15091         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
15092         * modules/fseeko (Depends-on): Add fseek.
15093         * modules/fseek (License): Change to LGPLv2+.
15094
15095 2011-06-13  Bruno Haible  <bruno@clisp.org>
15096
15097         ftello: Provide a non-inline replacement of ftell().
15098         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
15099         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
15100         not have ftello() (such as on mingw).
15101         * modules/ftello (Depends-on): Add ftell.
15102         * modules/ftell (License): Change to LGPLv2+.
15103
15104 2011-05-07  Bruno Haible  <bruno@clisp.org>
15105
15106         ftell: Move AC_LIBOBJ invocations to module description.
15107         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
15108         * modules/ftell (configure.ac): ... to here.
15109
15110 2011-05-07  Bruno Haible  <bruno@clisp.org>
15111
15112         ftello: Respect rules for use of AC_LIBOBJ.
15113         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
15114         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
15115         here...
15116         * modules/ftello (configure.ac): ... to here.
15117
15118 2011-05-07  Bruno Haible  <bruno@clisp.org>
15119
15120         fseeko: Simplify.
15121         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
15122         (gl_FUNC_FSEEKO): Inline it here.
15123
15124 2011-05-07  Bruno Haible  <bruno@clisp.org>
15125
15126         fseek: Move AC_LIBOBJ invocations to module description.
15127         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
15128         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15129         * modules/fseek (configure.ac): ... to here.
15130
15131 2011-05-07  Bruno Haible  <bruno@clisp.org>
15132
15133         fseek: Respect rules for use of AC_LIBOBJ.
15134         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
15135         here...
15136         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
15137
15138 2011-05-07  Bruno Haible  <bruno@clisp.org>
15139
15140         fseeko: Respect rules for use of AC_LIBOBJ.
15141         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
15142         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
15143         here...
15144         * modules/fseeko (configure.ac): ... to here.
15145
15146 2011-06-13  Bruno Haible  <bruno@clisp.org>
15147
15148         gnulib-tool: Allow comments in the 'Depends-on' section.
15149         * doc/gnulib.texi (Module description): Mention comment syntax in the
15150         Depends-on section.
15151         * gnulib-tool (func_get_dependencies): Filter out comment lines.
15152
15153 2011-06-13  Bruno Haible  <bruno@clisp.org>
15154
15155         file-set.h: guard __attibute__ use, now that it's not always defined
15156         * lib/file-set.h (record_file): Use __attribute__ only with compiler
15157         versions that support it.  This fixes a coreutils build failure with
15158         the vendor cc on HP-UX 11.31.
15159
15160 2011-06-12  Bruno Haible  <bruno@clisp.org>
15161
15162         acl: Add support for HP-UX >= 11.11 JFS ACLs.
15163         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
15164         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
15165         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
15166         (acl, aclsort): New declarations.
15167         (aclv_nontrivial): New declaration.
15168         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
15169         (file_has_acl): Read also the second kind of HP-UX ACLs.
15170         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
15171         kind of HP-UX ACLs if the first kind fails.
15172         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
15173         second kind of HP-UX ACLs.
15174         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
15175         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
15176         agree.
15177         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15178         hpuxjfs.
15179         Handle hpuxjfs.
15180         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15181         hpuxjfs.
15182         Handle hpuxjfs.
15183         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15184         (func_test_same_acls): Use both lsacl and getacl.
15185         Handle hpuxjfs.
15186         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15187         (func_test_same_acls): Use both lsacl and getacl.
15188         Handle hpuxjfs.
15189
15190 2011-06-12  Bruno Haible  <bruno@clisp.org>
15191
15192         acl: Complete the 2010-08-10 fix.
15193         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
15194         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
15195         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
15196         explicitly.
15197         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
15198         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
15199
15200 2011-06-12  Bruno Haible  <bruno@clisp.org>
15201
15202         spawn-pipe tests: Comments.
15203         * tests/test-spawn-pipe-child.c (main): Update comment.
15204         Reported by James Youngman <jay@gnu.org>.
15205
15206 2011-06-11  James Youngman  <jay@gnu.org>
15207
15208         New module 'stat-size'.
15209         * modules/stat-size: New module.  Provides macros for accessing
15210         file size information in instances of struct stat.  Depends on the
15211         fileblocks module because it calls st_blocks.
15212         * lib/stat-size.h: New file, adapted from coreutils' system.h.
15213         * doc/gnulib.texi: Include stat-size.texi.
15214         * doc/stat-size.texi: Documentation for this module.
15215         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
15216         * m4/fileblocks.m4: Mention that stat-size depends on the call to
15217         AC_STRUCT_ST_BLOCKS.
15218
15219 2011-06-09  Bruno Haible  <bruno@clisp.org>
15220
15221         thread: Support pthreads-win32.
15222         * lib/glthread/thread.h (gl_thread_self): Define differently on
15223         pthreads-win32.
15224         (gl_null_thread): New declaration.
15225         (gl_thread_self_pointer): New macro.
15226         * lib/glthread/thread.c (gl_null_thread): New constant.
15227         * tests/test-lock.c: Use gl_thread_self_pointer instead of
15228         gl_thread_self.
15229         * tests/test-tls.c: Likewise.
15230         Suggested by Paul Eggert. Reported by Eric Blake.
15231
15232 2011-06-09  Bruno Haible  <bruno@clisp.org>
15233
15234         thread: Fix confusion between NULL and 0.
15235         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
15236         Reported by Paul Eggert.
15237
15238 2011-06-09  Bruno Haible  <bruno@clisp.org>
15239
15240         spawn-pipe tests: Avoid test failure on HP-UX 11.
15241         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
15242         is closed.
15243
15244 2011-06-09  Bruno Haible  <bruno@clisp.org>
15245
15246         acl tests: Fix compilation error on HP-UX 11.
15247         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
15248
15249 2011-06-09  Bruno Haible  <bruno@clisp.org>
15250
15251         rmdir: Avoid test failure on HP-UX 10.20.
15252         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
15253         EEXIST.
15254
15255 2011-06-08  Eric Blake  <eblake@redhat.com>
15256
15257         perror: fix test on mingw
15258         * modules/perror-tests (Depends-on): Add dup2.
15259
15260         strerror_r-posix: fix on MacOS
15261         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
15262         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
15263         logic bug.
15264         * lib/strerror_r.c (strerror_r): Fix the bug.
15265         * lib/strerror.c (strerror): Likewise.
15266         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
15267         problem.
15268         * doc/posix-functions/strerror.texi (strerror): Likewise.
15269         * doc/posix-functions/perror.texi (perror): Likewise.
15270         * tests/test-strerror.c (main): Enhance test.
15271         * tests/test-strerror_r.c (main): Likewise.
15272
15273 2011-06-08  Bruno Haible  <bruno@clisp.org>
15274
15275         gnulib-tool: Better isolation between different gnulib-tool invocations.
15276         * gnulib-tool: New option --witness-c-macro.
15277         (witness_c_macro): New variable.
15278         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
15279         AM_CPPFLAGS define it as a C macro.
15280         (func_emit_tests_Makefile_am): Likewise.
15281         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
15282         read it from there.
15283         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
15284         m4_define, not AC_DEFUN.
15285         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
15286         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
15287         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
15288         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
15289         s|...|...|, to substitute the values of the GNULIB_* module indicator
15290         variables.
15291         * modules/dirent (Makefile.am): Likewise.
15292         * modules/fcntl-h (Makefile.am): Likewise.
15293         * modules/iconv-h (Makefile.am): Likewise.
15294         * modules/langinfo (Makefile.am): Likewise.
15295         * modules/locale (Makefile.am): Likewise.
15296         * modules/math (Makefile.am): Likewise.
15297         * modules/netdb (Makefile.am): Likewise.
15298         * modules/poll-h (Makefile.am): Likewise.
15299         * modules/pty (Makefile.am): Likewise.
15300         * modules/search (Makefile.am): Likewise.
15301         * modules/signal (Makefile.am): Likewise.
15302         * modules/spawn (Makefile.am): Likewise.
15303         * modules/stdio (Makefile.am): Likewise.
15304         * modules/stdlib (Makefile.am): Likewise.
15305         * modules/string (Makefile.am): Likewise.
15306         * modules/sys_ioctl (Makefile.am): Likewise.
15307         * modules/sys_select (Makefile.am): Likewise.
15308         * modules/sys_socket (Makefile.am): Likewise.
15309         * modules/sys_stat (Makefile.am): Likewise.
15310         * modules/sys_times (Makefile.am): Likewise.
15311         * modules/sys_utsname (Makefile.am): Likewise.
15312         * modules/sys_wait (Makefile.am): Likewise.
15313         * modules/termios (Makefile.am): Likewise.
15314         * modules/time (Makefile.am): Likewise.
15315         * modules/unistd (Makefile.am): Likewise.
15316         * modules/wchar (Makefile.am): Likewise.
15317
15318 2011-06-08  Eric Blake  <eblake@redhat.com>
15319
15320         strerror: simplify replacement
15321         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
15322         * modules/strerror (configure.ac): No prereqs needed here...
15323         * modules/strerror-override (configure.ac): ...but this needs it.
15324         (Files): Add file for needed prereq macro.
15325
15326 2011-06-08  Bruno Haible  <bruno@clisp.org>
15327
15328         strerror_r-posix: Tweaks.
15329         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
15330         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
15331         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
15332         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
15333         (gl_FUNC_STRERROR_R): ... to here.
15334         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
15335
15336 2011-06-07  Eric Blake  <eblake@redhat.com>
15337
15338         perror: document fixed bugs
15339         * doc/posix-functions/perror.texi (perror): Document recent
15340         patches.
15341
15342 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
15343
15344         stat-time: get_stat_birthtime failure is better-defined
15345         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
15346         return a timestamp whose tv_sec and tv_nsec values are both -1.
15347         Previously, the spec said only that the tv_nsec value was negative.
15348         This upward-compatible change simplifies GNU tar a bit.
15349
15350 2011-06-07  Eric Blake  <eblake@redhat.com>
15351
15352         strerror_r-posix: work around cygwin 1.7.9
15353         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
15354         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
15355         bug without replacing strerror_r.
15356         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
15357         strerror_r is buggy, but without requiring strerror_r compilation.
15358         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
15359
15360         test-perror: relax test to ignore cygwin bug
15361         * tests/test-perror2.c (main): Relax test on requiring detection
15362         of stream errors, and use unbuffered stream.
15363         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
15364         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
15365         * doc/posix-functions/fputc.texi (fputc): Likewise.
15366         * doc/posix-functions/fputs.texi (fputs): Likewise.
15367         * doc/posix-functions/fputws.texi (fputws): Likewise.
15368         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
15369         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
15370         * doc/posix-functions/getopt.texi (getopt): Likewise.
15371         * doc/posix-functions/perror.texi (perror): Likewise.
15372         * doc/posix-functions/printf.texi (printf): Likewise.
15373         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
15374         * doc/posix-functions/psignal.texi (psignal): Likewise.
15375         * doc/posix-functions/putc.texi (putc): Likewise.
15376         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
15377         Likewise.
15378         * doc/posix-functions/putchar.texi (putchar): Likewise.
15379         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
15380         Likewise.
15381         * doc/posix-functions/puts.texi (puts): Likewise.
15382         * doc/posix-functions/putwc.texi (putwc): Likewise.
15383         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
15384         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
15385         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15386         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
15387         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15388         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
15389         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15390         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
15391
15392 2011-05-22  Bruno Haible  <bruno@clisp.org>
15393
15394         strerror: Move AC_LIBOBJ invocations to module description.
15395         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
15396         gl_PREREQ_STRERROR invocations from here...
15397         * modules/strerror (configure.ac): ... to here.
15398
15399 2011-05-21  Bruno Haible  <bruno@clisp.org>
15400
15401         perror: Use common idiom.
15402         * modules/perror (configure.ac): Reorder statements.
15403
15404 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15405
15406         tests: fix usage message in 'mktempd_'
15407         * tests/init.sh (mktempd_): In the usage message, use literal
15408         'mktempd_', not '$ME' (which is even undefined), as the name of
15409         the subroutine.
15410
15411 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
15412
15413         tests init: new function 'fatal_', for hard errors
15414         Before this patch, the only way offered by tests/init.sh to
15415         properly signal a hard error was the `framework_failure_'
15416         function.  But the error message issued by that function,
15417         as its name would suggest, refers to a set-up failure in the
15418         testsuite, while hard errors can obviously also be due to
15419         other reasons.  The best way to fix this inconsistency is to
15420         introduce a new function with a more general error message.
15421         * tests/init.sh (fatal_): New function.
15422
15423 2011-06-06  Eric Blake  <eblake@redhat.com>
15424
15425         canonicalize-lgpl: use common idiom
15426         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
15427         over newer POSIX -Rf.
15428         Reported by Bruno Haible.
15429
15430         canonicalize-lgpl: work around AIX realpath bug
15431         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
15432         * doc/posix-functions/realpath.texi (realpath): Document it.
15433         Reported by Bruno Haible.
15434
15435         strerror: work around FreeBSD bug
15436         * lib/strerror.c (strerror): Special case 0.
15437         Reported by Bruno Haible.
15438
15439         strerror-override: avoid bloating errno module
15440         * modules/errno (Files, configure.ac): Move replacement strings...
15441         * modules/strerror-override: ...to new module.
15442         * modules/strerror (Depends-on): Add strerror-override.
15443         * modules/strerror_r-posix (Depends-on): Likewise.
15444         * MODULES.html.sh: Document new module.
15445         Reported by Bruno Haible.
15446
15447 2011-06-06  Bruno Haible  <bruno@clisp.org>
15448
15449         spawn-pipe tests: Rename program.
15450         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
15451         * tests/test-spawn-pipe-child.c: Update comment.
15452         * tests/test-spawn-pipe.sh: Update.
15453         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
15454
15455         spawn-pipe tests: Link the child program only against libc.
15456         * tests/test-spawn-pipe-child.c: New file, extracted from
15457         tests/test-spawn-pipe.c.
15458         (main): Expect only one argument.
15459         (is_open): New function, copied from tests/test-pipe.c.
15460         * tests/test-spawn-pipe.c: Don't include <errno.h>.
15461         (child_main): Remove function.
15462         (test_pipe): Pass only one argument to the child program.
15463         (main): Remove child process code. Expect the child program's name as
15464         first argument.
15465         * tests/test-spawn-pipe.sh: Pass the child program's name as first
15466         argument.
15467         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
15468         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
15469         test-spawn-pipe-child against no libraries.
15470
15471 2011-06-06  Bruno Haible  <bruno@clisp.org>
15472
15473         careadlinkat: Avoid mismatch between ssize_t and int.
15474         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
15475         * lib/careadlinkat.c (careadlinkatcwd): Define always.
15476
15477 2011-06-06  Jim Meyering  <meyering@redhat.com>
15478
15479         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
15480         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
15481         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
15482
15483 2011-06-05  Bruno Haible  <bruno@clisp.org>
15484
15485         ansi-c++-opt: Interoperability with libtool.
15486         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
15487         set the variable to "no", not to ":".
15488         * NEWS: Mention the change.
15489
15490 2011-06-05  Bruno Haible  <bruno@clisp.org>
15491
15492         acl: Fix test failure on AIX 7.
15493         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
15494         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
15495
15496 2011-06-05  Bruno Haible  <bruno@clisp.org>
15497
15498         pipe-filter-ii: Fix test failure on AIX and IRIX.
15499         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
15500         with EAGAIN, retry with a smaller buffer size.
15501
15502 2011-06-05  Bruno Haible  <bruno@clisp.org>
15503
15504         localename: Fix link dependencies.
15505         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
15506         * modules/localename-tests (Makefile.am): Link test-localename with
15507         $(LIBTHREAD).
15508
15509 2011-06-05  Bruno Haible  <bruno@clisp.org>
15510
15511         error: Avoid gcc warning.
15512         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
15513
15514 2011-06-05  Bruno Haible  <bruno@clisp.org>
15515
15516         unsetenv: Avoid gcc warning.
15517         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
15518
15519 2011-06-05  Bruno Haible  <bruno@clisp.org>
15520
15521         setenv: Avoid gcc warning.
15522         * lib/setenv.c (setenv): Provide declaration if system lacks it.
15523
15524 2011-06-05  Bruno Haible  <bruno@clisp.org>
15525
15526         sys_select: Ensure memset is declared also on AIX 7.
15527         * lib/sys_select.in.h: Include <string.h> also on AIX.
15528         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
15529         self-contained also on AIX 7.1.
15530
15531 2011-06-04  Jim Meyering  <meyering@redhat.com>
15532
15533         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
15534         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
15535         function name, "error".
15536         (_gl_translatable_diag_func_re): New configurable variable.
15537
15538 2011-06-04  Bruno Haible  <bruno@clisp.org>
15539
15540         getopt: Avoid gcc warning.
15541         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
15542
15543 2011-06-04  Bruno Haible  <bruno@clisp.org>
15544
15545         strerror_r: Fix comments.
15546         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
15547         commit.
15548
15549 2011-06-04  Bruno Haible  <bruno@clisp.org>
15550
15551         perror: Fix compilation error.
15552         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
15553         Undefine fprintf, not sprintf.
15554         * modules/perror (Depends-on): Remove intprops, verify.
15555
15556 2011-06-04  Bruno Haible  <bruno@clisp.org>
15557
15558         setlocale: Enable replacement on Cygwin 1.5.
15559         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
15560         Cygwin 1.5.x.
15561         * doc/posix-functions/setlocale.texi: Mention that the problem with the
15562         LC_CTYPE category also exists on Cygwin 1.5.x.
15563
15564 2011-06-04  Bruno Haible  <bruno@clisp.org>
15565
15566         strerror-override: Don't disable symbol renamings.
15567         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
15568         * lib/strerror-override.c: Include config.h.
15569         (strerror_override): Don't undefine.
15570
15571 2011-06-03  Bruno Haible  <bruno@clisp.org>
15572
15573         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
15574         * lib/localename.h: Update copyright header.
15575         * lib/localename.c: Likewise.
15576         * lib/relocatable.h: Likewise.
15577         * lib/relocatable.c: Likewise.
15578
15579 2011-06-02  Bruno Haible  <bruno@clisp.org>
15580
15581         doc: Fix a module name.
15582         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
15583
15584 2011-06-02  Bruno Haible  <bruno@clisp.org>
15585
15586         pipe2: Remove dependency on 'nonblocking' module.
15587         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
15588         O_NONBLOCK is defined by gnulib.
15589         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
15590         is zero.
15591         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
15592         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
15593         defined by gnulib.
15594         (get_nonblocking_flag): New function.
15595         (main): Test O_NONBLOCK flag only if it is nonzero.
15596         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
15597
15598 2011-06-03  Jim Meyering  <meyering@redhat.com>
15599
15600         maint: three new prohibit-header-without-use rules
15601         Prohibit use of cloexec.h, posixver.h, same.h without use.
15602         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
15603         (sc_prohibit_posixver_without_use): Likewise.
15604         (sc_prohibit_same_without_use): Likewise.
15605
15606 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
15607
15608         allocator: 'die' routine is now given requested size
15609         * lib/allocator.h (struct allocator.die): New size arg.
15610         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
15611         If the actual problem is an ssize_t limitation, not a size_t or
15612         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
15613
15614 2011-06-01  Eric Blake  <eblake@redhat.com>
15615
15616         strerror: drop strerror_r dependency
15617         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
15618         * lib/strerror-override.c (strerror_override): ...to new file.
15619         * lib/strerror-override.h: Add prototype.
15620         * lib/strerror-impl.h: Delete.
15621         * lib/strerror.c (strerror): New implementation.
15622         * modules/errno (Files): Add new files.
15623         (configure.ac): Compile new file as appropriate.
15624         * modules/strerror (Files): Drop unused file.
15625         (Depends-on): Drop strerror_r-posix.
15626         * MODULES.html.sh: Document strerror_r-posix.
15627         Requested by Sam Steingold.
15628
15629         perror: call strerror_r directly
15630         * modules/perror (Files): Drop strerror-impl.h.
15631         * lib/perror.c (perror): Use our own stack buffer, rather than
15632         calling a wrapper that uses static storage.
15633         * doc/posix-functions/perror.texi (perror): Document a limitation
15634         of our replacement.
15635
15636         strerror_r: fix includes for FreeBSD
15637         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
15638         since we use abort on some platforms.
15639         Reported by Matthias Bolte.
15640
15641 2011-05-31  Bruno Haible  <bruno@clisp.org>
15642
15643         Fix link errors in tests: openat-die uses gettext-h.
15644         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
15645         against $(LIBINTL).
15646         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
15647         against $(LIBINTL).
15648         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
15649         $(LIBINTL).
15650         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
15651         against $(LIBINTL).
15652         * modules/linkat-tests (Makefile.am): Link test-linkat against
15653         $(LIBINTL).
15654         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
15655         $(LIBINTL).
15656         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
15657         against $(LIBINTL).
15658         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
15659         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
15660         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
15661         $(LIBINTL).
15662         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
15663         $(LIBINTL).
15664         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
15665         $(LIBINTL).
15666         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15667
15668 2011-05-31  Bruno Haible  <bruno@clisp.org>
15669
15670         Fix link errors in tests: wait-process uses gettext-h.
15671         * modules/nonblocking-pipe-tests (Makefile.am): Set
15672         test_nonblocking_pipe_main_LDADD.
15673         * modules/nonblocking-socket-tests (Makefile.am): Link
15674         test-nonblocking-socket-main against $(LIBINTL).
15675         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15676
15677 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
15678
15679         assert-h: work around 'verify' incompatibility
15680         * lib/verify.h: Use @...@ directives, not ifdef.
15681         * modules/assert-h (assert.h): Implement the directives.
15682         (assert.h): Substitute the symbol-prefix more consistently.
15683
15684 2011-05-29  Jim Meyering  <meyering@redhat.com>
15685
15686         trim: remove three superfluous assignments
15687         * lib/trim.c (trim2): Remove three superfluous assignments
15688         and correct brace positioning.
15689
15690 2011-05-29  Bruno Haible  <bruno@clisp.org>
15691
15692         wctype-h: Avoid namespace pollution on Solaris 2.6.
15693         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
15694         identifiers.
15695         * doc/posix-headers/wctype.texi: Mention the problem.
15696         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15697
15698 2011-05-28  Jim Meyering  <meyering@redhat.com>
15699
15700         parse-datetime.y: accommodate -Wstrict-overflow
15701         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
15702         placate -Wstrict-overflow.
15703
15704         trim: avoid a warning from -O2 -Wstrict-overflow
15705         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
15706
15707 2011-05-29  Bruno Haible  <bruno@clisp.org>
15708
15709         gnulib-tool: Fix bug in yesterday's commit.
15710         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
15711         twice.
15712
15713 2011-05-29  Bruno Haible  <bruno@clisp.org>
15714
15715         Allow multiple gnulib generated include files to be combined.
15716         * gnulib-tool (func_compute_include_guard_prefix): New function.
15717         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
15718         ${gl_include_guard_prefix} references.
15719         (func_import, func_create_testdir): Invoke
15720         func_compute_include_guard_prefix.
15721         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
15722         * lib/ctype.in.h: Likewise.
15723         * lib/dirent.in.h: Likewise.
15724         * lib/errno.in.h: Likewise.
15725         * lib/fcntl.in.h: Likewise.
15726         * lib/float.in.h: Likewise.
15727         * lib/getopt.in.h: Likewise.
15728         * lib/iconv.in.h: Likewise.
15729         * lib/langinfo.in.h: Likewise.
15730         * lib/locale.in.h: Likewise.
15731         * lib/math.in.h: Likewise.
15732         * lib/netdb.in.h: Likewise.
15733         * lib/netinet_in.in.h: Likewise.
15734         * lib/poll.in.h: Likewise.
15735         * lib/pthread.in.h: Likewise.
15736         * lib/pty.in.h: Likewise.
15737         * lib/sched.in.h: Likewise.
15738         * lib/se-selinux.in.h: Likewise.
15739         * lib/search.in.h: Likewise.
15740         * lib/signal.in.h: Likewise.
15741         * lib/spawn.in.h: Likewise.
15742         * lib/stdarg.in.h: Likewise.
15743         * lib/stddef.in.h: Likewise.
15744         * lib/stdint.in.h: Likewise.
15745         * lib/stdio.in.h: Likewise.
15746         * lib/stdlib.in.h: Likewise.
15747         * lib/string.in.h: Likewise.
15748         * lib/strings.in.h: Likewise.
15749         * lib/sys_file.in.h: Likewise.
15750         * lib/sys_ioctl.in.h: Likewise.
15751         * lib/sys_select.in.h: Likewise.
15752         * lib/sys_socket.in.h: Likewise.
15753         * lib/sys_stat.in.h: Likewise.
15754         * lib/sys_time.in.h: Likewise.
15755         * lib/sys_times.in.h: Likewise.
15756         * lib/sys_uio.in.h: Likewise.
15757         * lib/sys_utsname.in.h: Likewise.
15758         * lib/sys_wait.in.h: Likewise.
15759         * lib/sysexits.in.h: Likewise.
15760         * lib/termios.in.h: Likewise.
15761         * lib/time.in.h: Likewise.
15762         * lib/unistd.in.h: Likewise.
15763         * lib/wchar.in.h: Likewise.
15764         * lib/wctype.in.h: Likewise.
15765         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
15766         * modules/ctype (Makefile.am): Likewise.
15767         * modules/dirent (Makefile.am): Likewise.
15768         * modules/errno (Makefile.am): Likewise.
15769         * modules/fcntl-h (Makefile.am): Likewise.
15770         * modules/float (Makefile.am): Likewise.
15771         * modules/getopt-posix (Makefile.am): Likewise.
15772         * modules/iconv-h (Makefile.am): Likewise.
15773         * modules/langinfo (Makefile.am): Likewise.
15774         * modules/locale (Makefile.am): Likewise.
15775         * modules/math (Makefile.am): Likewise.
15776         * modules/netdb (Makefile.am): Likewise.
15777         * modules/netinet_in (Makefile.am): Likewise.
15778         * modules/poll-h (Makefile.am): Likewise.
15779         * modules/pthread (Makefile.am): Likewise.
15780         * modules/pty (Makefile.am): Likewise.
15781         * modules/sched (Makefile.am): Likewise.
15782         * modules/search (Makefile.am): Likewise.
15783         * modules/selinux-h (Makefile.am): Likewise.
15784         * modules/signal (Makefile.am): Likewise.
15785         * modules/spawn (Makefile.am): Likewise.
15786         * modules/stdarg (Makefile.am): Likewise.
15787         * modules/stddef (Makefile.am): Likewise.
15788         * modules/stdint (Makefile.am): Likewise.
15789         * modules/stdio (Makefile.am): Likewise.
15790         * modules/stdlib (Makefile.am): Likewise.
15791         * modules/string (Makefile.am): Likewise.
15792         * modules/strings (Makefile.am): Likewise.
15793         * modules/sys_file (Makefile.am): Likewise.
15794         * modules/sys_ioctl (Makefile.am): Likewise.
15795         * modules/sys_select (Makefile.am): Likewise.
15796         * modules/sys_socket (Makefile.am): Likewise.
15797         * modules/sys_stat (Makefile.am): Likewise.
15798         * modules/sys_time (Makefile.am): Likewise.
15799         * modules/sys_times (Makefile.am): Likewise.
15800         * modules/sys_uio (Makefile.am): Likewise.
15801         * modules/sys_utsname (Makefile.am): Likewise.
15802         * modules/sys_wait (Makefile.am): Likewise.
15803         * modules/sysexits (Makefile.am): Likewise.
15804         * modules/termios (Makefile.am): Likewise.
15805         * modules/time (Makefile.am): Likewise.
15806         * modules/unistd (Makefile.am): Likewise.
15807         * modules/wchar (Makefile.am): Likewise.
15808         * modules/wctype-h (Makefile.am): Likewise.
15809         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
15810
15811 2011-05-29  Bruno Haible  <bruno@clisp.org>
15812
15813         assert-h: Allow multiple gnulib generated replacements to coexist.
15814         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
15815
15816 2011-05-29  Bruno Haible  <bruno@clisp.org>
15817
15818         argp: Allow coexistence with strerror_r-posix module.
15819         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
15820         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
15821         by gnulib's <string.h> replacement), assume it has the POSIX signature,
15822         not the glibc signature.
15823
15824 2011-05-28  Bruno Haible  <bruno@clisp.org>
15825
15826         gnulib-tool: Alternative structure of testdirs, similar to --import.
15827         * gnulib-tool: New option --single-configure.
15828         (func_usage): Document it.
15829         (single_configure): New variable.
15830         (func_modules_transitive_closure_separately,
15831         func_modules_transitive_closure_separately,
15832         func_determine_use_libtests, func_modules_add_dummy_separately,
15833         func_modules_to_filelist_separately): New functions, extracted from
15834         func_import.
15835         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
15836         (func_import): Use the new functions.
15837         (func_create_testdir): Set final_modules. Handle $single_configure =
15838         true case.
15839
15840 2011-05-28  Bruno Haible  <bruno@clisp.org>
15841
15842         getloadavg: Remove an unreliable safety check.
15843         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
15844         getloadavg.c is in place.
15845         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
15846         Reported by Sam Steingold <sds@gnu.org>.
15847
15848 2011-05-28  Bruno Haible  <bruno@clisp.org>
15849
15850         doc: Cleanup yet another file produced by texinfo.tex.
15851         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
15852
15853 2011-05-28  Bruno Haible  <bruno@clisp.org>
15854
15855         Finish the conditional dependencies mechanism.
15856         * gnulib-tool: New option --no-conditional-dependencies.
15857         (func_usage): Document it. Don't mark --conditional-dependencies as
15858         experimental.
15859         (cond_dependencies): The possible values can now be true, false, empty.
15860         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
15861         (func_import): Store setting in gnulib-cache.m4 and read it from there.
15862         * doc/gnulib-tool.texi (Conditional dependencies): New section.
15863
15864 2011-05-28  Bruno Haible  <bruno@clisp.org>
15865
15866         doc: Use a recent texinfo.tex.
15867         * doc/Makefile (tex_opts): New variable.
15868         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
15869
15870 2011-05-28  Jim Meyering  <meyering@redhat.com>
15871
15872         intprops.h: adjust comment to match code change
15873         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
15874         only once, it *may* have side effects.  Also fix an unrelated typo.
15875         (_GL_INT_SIGNED): Likewise.
15876
15877 2011-05-26  Simon Josefsson  <simon@josefsson.org>
15878
15879         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
15880
15881 2011-05-26  Bruno Haible  <bruno@clisp.org>
15882
15883         mbsrchr: Avoid collision with system function on Interix.
15884         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
15885         Reported by Markus Duft <mduft@gentoo.org>.
15886
15887 2011-05-15  James Youngman  <jay@gnu.org>
15888
15889         getopt: for ambiguous options, enumerate the possibilities.
15890         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
15891         the ambiguous options when an ambiguous prefix is given. This was
15892         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
15893         glibc change was
15894         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
15895
15896 2011-05-25  Eric Blake  <eblake@redhat.com>
15897
15898         getcwd: work around mingw bug
15899         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
15900         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15901         Reported by Matthias Bolte.
15902
15903 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
15904
15905         test-intprops: disable -Wtype-limits diagnostics
15906         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
15907         diagnostics.  Otherwise, the integer overflow macros generate many
15908         diagnostics.  Reported by Jim Meyering in
15909         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15910
15911         intprops: shorten, to pacify gcc -Woverlength-strings
15912         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
15913         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
15914         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
15915         likely to run afoul of C compiler limits for string constant lengths.
15916         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
15917
15918 2011-05-24  Eric Blake  <eblake@redhat.com>
15919
15920         docs: document recently fixed glibc printf bug
15921         * doc/posix-functions/fprintf.texi (fprintf): Document it.
15922         * doc/posix-functions/printf.texi (printf): Likewise.
15923         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
15924         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
15925
15926         closein-tests: convert to init.sh
15927         * modules/closein-tests (Files): Add init.sh
15928         * tests/test-closein.sh Use it.
15929
15930         yesno-tests: convert to init.sh
15931         * modules/yesno-tests (Files): Add init.sh.
15932         * tests/test-yesno.sh: Use it.
15933
15934         atexit-tests: ensure reliable exit status
15935         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
15936         Reported by Bruno Haible.
15937
15938 2011-05-24  Bruno Haible  <bruno@clisp.org>
15939
15940         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
15941         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
15942         gl_PREREQ_STRERROR_R invocations from here...
15943         * modules/strerror_r-posix (configure.ac): ... to here.
15944
15945 2011-05-24  Eric Blake  <eblake@redhat.com>
15946
15947         strerror_r: fix missing header
15948         * lib/strerror_r.c: Avoid compiler warning about snprintf.
15949
15950         strerror_r: fix AIX test failures
15951         * lib/strerror_r.c (strerror_r): Convert silent truncation to
15952         ERANGE failure.
15953
15954         strerror_r: fix Solaris test failures
15955         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
15956         failures.
15957         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15958
15959         strerror_r: enforce POSIX recommendations
15960         * lib/strerror_r.c (safe_copy): New helper method.
15961         (strerror_r): Guarantee a non-empty string.
15962         * tests/test-strerror_r.c (main): Enhance tests to incorporate
15963         recent POSIX rulings and to match our strerror guarantees.
15964         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
15965
15966 2011-05-24  Jim Meyering  <meyering@redhat.com>
15967
15968         test-perror2.c: avoid warning about unused variable
15969         * tests/test-perror2.c (main): Remove declaration of unused "fp".
15970
15971 2011-05-24  Eric Blake  <eblake@redhat.com>
15972
15973         perror: avoid spurious test failure on HP-UX
15974         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
15975
15976         tests: fix logic bug in init.sh
15977         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
15978         shell.
15979
15980 2011-05-24  Jim Meyering  <meyering@redhat.com>
15981
15982         utimensat: do not reference an out-of-scope buffer
15983         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
15984         declared in an inner scope, yet "times" would be dereferenced outside
15985         the scope in which "ts" was valid.
15986         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
15987         of ts[2] "out/up", so that the use of aliased "times" (via
15988         "times = ts;") does not end up referencing an out-of-scope "ts"
15989
15990         opendir-safer.c: don't clobber errno; don't close negative FD
15991         * lib/opendir-safer.c (opendir_safer):
15992         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
15993         file descriptor, and more importantly, don't clobber the
15994         offending errno value with EINVAL.  Before, upon failure
15995         of dup_safer, we would pass the negative file descriptor to
15996         fdopendir, which would clobber errno.
15997
15998 2011-05-23  Bruno Haible  <bruno@clisp.org>
15999
16000         idcache: Fix module description.
16001         * modules/idcache (Include): Set to "idcache.h".
16002
16003 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
16004
16005         gnulib-tool: fix portability problem with MacOS sed
16006         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
16007         before the "}".  Problem reported by Leo in
16008         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
16009         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
16010         sed_extract_condition1, sed_extract_condition2.
16011
16012 2011-05-23  Bruno Haible  <bruno@clisp.org>
16013
16014         hash: Simplify autoconf macro.
16015         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
16016
16017 2011-05-23  Bruno Haible  <bruno@clisp.org>
16018
16019         getugroups: Fix module description.
16020         * modules/getugroups (Include): Set to "getugroups.h".
16021
16022 2011-05-23  Bruno Haible  <bruno@clisp.org>
16023
16024         linkat: Simplify autoconf macro.
16025         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
16026
16027 2011-05-23  Bruno Haible  <bruno@clisp.org>
16028             Eric Blake  <eblake@redhat.com>
16029
16030         linkat, renameat: Update dependencies.
16031         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
16032         * modules/linkat (Depends-on): Likewise. Remove also readlink,
16033         symlinkat.
16034
16035 2011-05-23  Jim Meyering  <meyering@redhat.com>
16036
16037         maint.mk: more tight_scope improvements
16038         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
16039         (_gl_TS_headers): Define only in if-0'd block.
16040         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
16041         sometimes we must *not* use it.  Adjust uses accordingly.
16042         (sc_tight_scope): Use much simpler grep-based test to determine
16043         whether we skip this rule.
16044
16045         maint.mk: generalize/improve the tight-scope rule
16046         * top/maint.mk: Emit a warning when the test is skipped.
16047         (_gl_TS_dir): Add $(srcdir)/ prefix.
16048         (_gl_TS_function_match): Simplify, rather than trying
16049         to enumerate common types.  Otherwise, it would fail to match an
16050         "extern unsigned char const *" declaration in idutils.
16051         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
16052         a way to support use of that type of macro.
16053         (_gl_TS_var_match): Simplify regexp.
16054         (_gl_TS_obj_files): New configurable variable.
16055         (_gl_TS_headers): Likewise.
16056
16057 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16058
16059         verify: fix bug when gnulib <assert.h> is also included
16060         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
16061         is defined, not if _GL_STATIC_ASSERT_H is not defined.
16062         Perhaps there's a better way, but this fixes the immediate problem.
16063         Problem reported by Bruno Haible in
16064         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
16065
16066 2011-05-22  Bruno Haible  <bruno@clisp.org>
16067
16068         xgetcwd: Simplify autoconf macro.
16069         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
16070
16071 2011-05-22  Bruno Haible  <bruno@clisp.org>
16072
16073         New module 'mktime-internal'.
16074         * modules/mktime-internal: New file.
16075         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
16076         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
16077         mktime_internal as a C macro if libc has __mktime_internal.
16078         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
16079         conditions.
16080         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
16081
16082 2011-05-22  Bruno Haible  <bruno@clisp.org>
16083
16084         timegm: Correct mktime replacement statements.
16085         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
16086         defining mktime as a C macro. This completes a 2009-07-28 commit.
16087
16088 2011-05-22  Bruno Haible  <bruno@clisp.org>
16089
16090         timegm: Simplify autoconf macro.
16091         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
16092
16093 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16094
16095         clock-time: change to LGPLv2+.
16096         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
16097         BSD-like but we have no mark for that; this is good enough for now.
16098
16099 2011-05-21  Bruno Haible  <bruno@clisp.org>
16100
16101         strerror_r: Fix comments.
16102         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
16103
16104 2011-05-21  Bruno Haible  <bruno@clisp.org>
16105
16106         relocatable-prog-wrapper: Fix possible link error.
16107         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
16108         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
16109         (gl_FUNC_SETENV): ... to here.
16110         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
16111         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
16112
16113 2011-05-21  Bruno Haible  <bruno@clisp.org>
16114
16115         relocatable-prog-wrapper: Assume strerror() exists.
16116         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
16117         m4/strerror.m4.
16118         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
16119         * lib/relocwrapper.c: Remove mention of strerror module.
16120         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
16121         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
16122         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
16123         C macro.
16124
16125 2011-05-21  Bruno Haible  <bruno@clisp.org>
16126
16127         select: Simplify replacement idiom.
16128         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
16129         Win32 platforms.
16130         * lib/sys_select.in.h (select): Simplify accordingly.
16131         * modules/select (Depends-on): Likewise.
16132
16133 2011-05-21  Bruno Haible  <bruno@clisp.org>
16134
16135         mkdir-p: Simplify autoconf macro.
16136         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
16137         gl_FUNC_LCHOWN.
16138
16139 2011-05-21  Eric Blake  <eblake@redhat.com>
16140
16141         strerror_r: avoid clobbering strerror on cygwin
16142         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
16143         fall back instead to sys_errlist.
16144         * modules/strerror (configure.ac): Add witness.
16145         * tests/test-strerror_r.c (main): Enhance test.
16146         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16147         * tests/test-perror2.c (main): Free memory before exit.
16148
16149 2011-05-21  Bruno Haible  <bruno@clisp.org>
16150
16151         mkdtemp: Use gnulib naming conventions.
16152         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
16153         * modules/mkdtemp (configure.ac): Update.
16154
16155 2011-05-20  Eric Blake  <eblake@redhat.com>
16156
16157         strerror_r: avoid corrupting errno on Solaris
16158         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
16159         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16160
16161         strerror_r: avoid compiler warning
16162         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
16163
16164         strerror_r: simplify AIX code
16165         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
16166
16167         test-perror: avoid spurious failure on FreeBSD
16168         * modules/perror-tests (Depends-on): Add strerror, now that
16169         strerror_r no longer pulls it in.
16170
16171 2011-05-20  Bruno Haible  <bruno@clisp.org>
16172
16173         strerror_r-posix: Remove unused dependencies.
16174         * modules/strerror_r-posix (Depends-on): Remove strerror.
16175         Reported by Eric Blake.
16176
16177 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16178
16179         intprops: remove assumption about A|B representation
16180         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
16181         is a valid integer if both A and B are.  Although this is true for
16182         all known practical hosts, the C standard doesn't guarantee it,
16183         and the code need not assume it.  Also, this change may work around
16184         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
16185         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
16186
16187 2011-05-20  Eric Blake  <eblake@redhat.com>
16188
16189         perror: work around FreeBSD bug
16190         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
16191         is broken.  Move AC_LIBOBJ...
16192         * modules/perror (configure.ac): Here.
16193         * doc/posix-functions/perror.texi (perror): Document this.
16194         * tests/test-perror2.c (main): Enhance test.
16195
16196         test-perror: check for strerror interactions
16197         * tests/macros.h (STREQ): Add macro.
16198         * modules/perror-tests (Files): Add second test.
16199         * tests/test-perror2.c (main): New file.
16200         * doc/posix-functions/perror.texi (perror): Document glibc bug.
16201
16202         test-perror: rewrite to use init script
16203         * modules/perror-tests (Files): Add init.sh.
16204         * tests/test-perror.sh: Use temporary directory.
16205
16206 2011-05-20  Jim Meyering  <meyering@redhat.com>
16207
16208         maint: replace misused "a" with "an"
16209         * doc/intprops.texi: "a integer"
16210         * doc/regex.texi: "a explanation"
16211         * lib/alignof.h: "a object"
16212         * lib/argmatch.h: "a explanation"
16213         * lib/argp-help.c: "a option" and "a OPTION_DOC"
16214         * lib/stdint.in.h: "a integer"
16215         * lib/userspec.c: "a owner"
16216         * doc/gnulib.texi: Fix "a idea", and reword.
16217
16218 2011-05-19  Jim Meyering  <meyering@redhat.com>
16219
16220         maint: correct misuse of "a" and "an"
16221         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
16222         * lib/argp-help.c: "an docum...": s/an/a/
16223         * lib/argp-parse.c: "An vector": s/An/A/
16224         * lib/execute.c: "an native": s/an/a/
16225         * lib/spawn-pipe.c: Likewise.
16226         * lib/gc.h: "an Gc_rc": s/an/a/
16227         * lib/unigbrk.in.h: "an grapheme": s/an/a/
16228         * lib/fts.c: "an stat.st_dev": s/an/a/
16229
16230 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16231
16232         intprops-tests: work around HP-UX 11.23 cc bug with constants
16233         * tests/test-intprops.c (VERIFY): New macro.
16234         (main): Use it, instead of verify, to work around the compiler bug; see
16235         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16236
16237         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
16238         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
16239         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
16240         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
16241         (_GL_REMAINDER_OVERFLOW): Use it.
16242
16243         intprops-tests: revert unsigned part of previous change
16244         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
16245         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
16246         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
16247         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
16248
16249 2011-05-19  Bruno Haible  <bruno@clisp.org>
16250
16251         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
16252         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
16253         strerror_r() returned without filling the buffer.
16254         Reported by Eric Blake.
16255
16256 2011-05-19  Eric Blake  <eblake@redhat.com>
16257
16258         strerror_r: guarantee unchanged errno
16259         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
16260         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
16261         failure.
16262         * tests/test-strerror_r.c (main): Enhance test.
16263
16264 2011-05-19  Bruno Haible  <bruno@clisp.org>
16265
16266         strerror_r: Reorder #if blocks.
16267         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
16268         for consistency with the previous commit.
16269
16270 2011-05-19  Bruno Haible  <bruno@clisp.org>
16271
16272         perror: Avoid clobbering the strerror buffer when possible.
16273         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
16274         * lib/strerror.c: Include it.
16275         * modules/strerror (Files): Add lib/strerror-impl.h.
16276         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
16277         (my_strerror): New function, defined through lib/strerror-impl.h.
16278         (perror): Use it instead of strerror.
16279         * modules/perror (Files): Add lib/strerror-impl.h.
16280         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
16281
16282 2011-05-19  Eric Blake  <eblake@redhat.com>
16283
16284         strerror_r: fix on newer cygwin
16285         * lib/strerror_r.c (strerror_r): Cygwin now has
16286         __xpg_strerror_r, use it.
16287
16288 2011-05-19  Bruno Haible  <bruno@clisp.org>
16289
16290         strerror_r: Avoid clobbering the strerror buffer when possible.
16291         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
16292         (sys_nerr, sys_errlist): New declarations.
16293         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
16294         HP-UX, native Win32, IRIX, and 32-bit Solaris.
16295         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
16296
16297 2011-05-19  Bruno Haible  <bruno@clisp.org>
16298
16299         strerror_r: Fix test failure on mingw.
16300         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
16301         EXTEND_STRERROR_R.
16302         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
16303         macros from errno.in.h instead.
16304
16305 2011-05-19  Eric Blake  <eblake@redhat.com>
16306
16307         strerror: relax test for Solaris
16308         * tests/test-strerror.c (main): Permit Solaris behavior.
16309         * tests/test-strerror_r.c (main): Likewise.
16310
16311         strerror: enforce POSIX ruling on strerror(0)
16312         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
16313         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
16314         * lib/strerror_r.c (rpl_strerror_r): Work around it.
16315         * doc/posix-functions/strerror.texi (strerror): Document it.
16316         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
16317         * tests/test-strerror.c (main): Strengthen test.
16318         * tests/test-strerror_r.c (main): Likewise.
16319
16320 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16321
16322         intprop-tests: port to older and more-pedantic compilers
16323         * modules/intprops-tests (Files): Add tests/macros.h.
16324         * tests/test-intprops.c: Include macros.h.
16325         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
16326         it's no longer documented to expand to an integer constant expression.
16327         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
16328         argument is floating point, as it's no longer documented to expand
16329         to an integer constant expression in that case.
16330         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
16331         compiler bugs reported by Bruno Haible.  See
16332         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16333         (U0, U1): New constants, to work around the same bugs.  Also,
16334         in tests, use e.g., "(unsigned int) 39" rather than "39u".
16335
16336         intprops: work around C compiler bugs
16337         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
16338         bug in Sun C 5.11 2010/08/13 and other compilers; see
16339         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
16340
16341         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
16342         * doc/intprops.texi (Integer Type Determination): Fix
16343         documentation for TYPE_IS_INTEGER: it returns an constant
16344         expression, not an integer constant expression.  Fix doc for
16345         TYPE_SIGNED: it returns an integer constant expression only if its
16346         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
16347         hardly worth documented that way....)
16348
16349 2011-05-18  Bruno Haible  <bruno@clisp.org>
16350
16351         strerror_r: Avoid clobbering the strerror buffer when possible.
16352         * lib/strerror_r.c (strerror_r): Merge the three implementations.
16353         Handle gnulib defined errno values here. When strerror() returns NULL
16354         or an empty string, return EINVAL.
16355         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
16356         gnulib defined errno values here.
16357         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
16358
16359 2011-05-18  Eric Blake  <eblake@redhat.com>
16360
16361         fnmatch: avoid compiler warning
16362         * lib/fnmatch_loop.c (FCT): Use correct type.
16363         Reported by Matthias Bolte.
16364
16365 2011-05-13  Jim Meyering  <meyering@redhat.com>
16366
16367         maint.mk: three new prohibit_<HDR>_without_use rules
16368         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
16369         (sc_prohibit_stdio-safer_without_use): Likewise.
16370         (sc_prohibit_xfreopen_without_use): Likewise.
16371
16372 2011-05-17  Jim Meyering  <meyering@redhat.com>
16373
16374         announce-gen: fail if the NEWS delta is empty
16375         If there's nothing noteworthy in NEWS, then either you forgot
16376         or you shouldn't be releasing.
16377         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
16378
16379 2011-05-17  Pádraig Brady <P@draigBrady.com>
16380
16381         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
16382         reserved symbols starting with double underscore from the check.
16383
16384 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16385
16386         intprops: add doc
16387         * doc/intprops.texi: New file, documenting intprops.
16388         * doc/gnulib.texi (Particular Modules): Include it.
16389
16390         verify: add doc to gnulib manual and fix example
16391         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
16392         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
16393         (Compile-time Assertions): Fix example so it can't overflow.
16394
16395 2011-05-17  Jim Meyering  <meyering@redhat.com>
16396
16397         warnings.m4: don't usurp save_CPPFLAGS variable name
16398         * m4/warnings.m4: Prefix local temporary variable name with gl_.
16399
16400         doc: fix typo
16401         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
16402
16403 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16404             Bruno Haible  <bruno@clisp.org>
16405
16406         doc: Tweak recent change.
16407         * README (Portability guidelines): Tweak new text.
16408         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
16409         Interix 6.1.
16410
16411 2011-05-16  Eric Blake  <eblake@redhat.com>
16412
16413         inttypes: avoid autoconf warning
16414         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
16415         * m4/stdint.m4 (gl_STDINT_H): Likewise.
16416
16417 2011-05-16  Sam Steingold <sds@gnu.org>
16418         and Eric Blake  <eblake@redhat.com>
16419
16420         vc-list-files: accept multiple directory operands
16421         * build-aux/vc-list-files: Iterate over all remaining operands.
16422
16423 2011-05-16  Bruno Haible  <bruno@clisp.org>
16424
16425         Fix confusion regarding deprecated modules.
16426         * modules/calloc (Status, Notice): Mark module as deprecated, not
16427         obsolete.
16428         * modules/fnmatch-posix (Status, Notice): Likewise.
16429         * modules/getdate (Status, Notice): Likewise.
16430         * modules/getopt (Status, Notice): Likewise.
16431         * modules/malloc (Status, Notice): Likewise.
16432         * modules/pipe (Status, Notice): Likewise.
16433         * modules/realloc (Status, Notice): Likewise.
16434         * modules/rename-dest-slash (Status, Notice): Likewise.
16435         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
16436         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
16437         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
16438         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
16439         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
16440
16441 2011-05-16  Bruno Haible  <bruno@clisp.org>
16442
16443         doc: List the target platforms.
16444         * doc/gnulib-intro.texi (Target Platforms): New section.
16445         * doc/gnulib.texi (Introduction): Update menu.
16446         * README (Portability guidelines): Refer to the new section. Update
16447         statement about oldest supported environment. Remove rationale why
16448         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
16449         unportable C89 function.
16450         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
16451         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
16452
16453 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16454
16455         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
16456
16457 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16458
16459         intprops-tests: new module
16460         * modules/intprops-tests, tests/test-intprops.c: New files.
16461
16462         intprops: add safe, portable integer overflow checking
16463         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
16464         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
16465         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
16466         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
16467         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
16468         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
16469         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
16470         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
16471         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
16472         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
16473         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
16474
16475 2011-05-12  James Youngman  <jay@gnu.org>
16476
16477         Add a test for glibc's Bugzilla bug #12378.
16478         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
16479         doesn't allow the literal matching of a lone "[" (which is
16480         required by POSIX).
16481         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
16482
16483 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
16484
16485         Sync glibc change fixing Bugzilla bug #12378.
16486         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
16487         beginning and fall back to matching as normal character if the
16488         string ends before the matching ']' is found.  This is what POSIX
16489         requires.
16490
16491 2011-05-13  Eric Blake  <eblake@redhat.com>
16492
16493         getcwd-lgpl: relax test for FreeBSD
16494         * doc/posix-functions/getcwd.texi (getcwd): Document portability
16495         issue.
16496         * tests/test-getcwd-lgpl.c (main): Relax test.
16497         Reported by Matthias Bolte.
16498
16499 2011-05-11  Eric Blake  <eblake@redhat.com>
16500
16501         test-fflush: silence compiler warning
16502         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
16503
16504 2011-05-11  Bruno Haible  <bruno@clisp.org>
16505
16506         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
16507         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
16508         * modules/canonicalize (Depends-on): Add 'nocrash'.
16509         * modules/canonicalize-lgpl (Depends-on): Likewise.
16510         * doc/posix-functions/realpath.texi: Update platforms list.
16511         Reported by Ryan Schmidt <ryandesign@macports.org>.
16512
16513 2011-05-11  Bruno Haible  <bruno@clisp.org>
16514
16515         group-member: Declare function in <unistd.h>.
16516         * lib/unistd.in.h (group_member): New declaration.
16517         * lib/group-member.h: Remove file.
16518         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
16519         * tests/test-unistd-c++.cc: Check signature of group_member.
16520         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
16521         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
16522         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
16523         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
16524         HAVE_GROUP_MEMBER.
16525         * modules/group-member (Files): Remove lib/group-member.h.
16526         (Depends-on): Add unistd. Specify conditions.
16527         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
16528         (Include): Change to <unistd.h>.
16529         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
16530         HAVE_GROUP_MEMBER.
16531         * NEWS: Mention the change.
16532         * lib/euidaccess.c: Don't include group-member.h.
16533
16534 2011-05-11  Bruno Haible  <bruno@clisp.org>
16535
16536         group-member: Document module.
16537         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
16538         module.
16539
16540 2011-05-11  Bruno Haible  <bruno@clisp.org>
16541
16542         fclose: Fix mistake earlier today.
16543         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
16544
16545 2011-05-11  Eric Blake  <eblake@redhat.com>
16546
16547         fclose: preserve fflush errors
16548         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
16549         Reported by Jim Meyering.
16550
16551         bootstrap: support a prereq of 'rpcgen -' on RHEL5
16552         * build-aux/bootstrap (check_versions): When no specific version
16553         is required, merely check that the app produces an exit status
16554         that indicates its existence.
16555
16556         maint.mk: drop redundant check
16557         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
16558         the same but better.
16559
16560 2011-05-11  Bruno Haible  <bruno@clisp.org>
16561
16562         fclose: Fix possible link error.
16563         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
16564         unregister_shadow_fd. Improve comments.
16565         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
16566         Eric Blake.
16567
16568 2011-05-11  Jim Meyering  <meyering@redhat.com>
16569
16570         maint.mk: improve "can not" detection and generalize rule name
16571         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
16572         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
16573         Use the same technique as in sc_prohibit_doubled_word, so that
16574         we recognize "can not" also when the words are separated by a newline.
16575         Suggested by Eric Blake.
16576         (perl_filename_lineno_text_): Define.  Factored out of...
16577         (prohibit_doubled_word_): ...here.  Use the new definition.
16578         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
16579         (prohibit_undesirable_word_seq_RE_): New overridable variable.
16580         (ignore_undesirable_word_sequence_RE_): New overridable variable.
16581
16582 2011-05-10  Eric Blake  <eblake@redhat.com>
16583
16584         fclose: avoid double close race when possible
16585         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
16586         all but WINDOWS_SOCKETS.
16587
16588 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
16589
16590         openat: correct new comment
16591         * lib/openat-proc.c (openat_proc_name): Correct the comment.
16592
16593 2011-05-10  Jim Meyering  <meyering@redhat.com>
16594
16595         openat: add comments
16596         * lib/openat-proc.c (openat_proc_name): Add comments,
16597         mostly from Eric Blake.
16598
16599 2011-05-09  Eric Blake  <eblake@redhat.com>
16600
16601         openat: reduce syscalls in first probe of /proc
16602         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
16603         be a directory.  Simplify the probe for .. bugs.
16604         * modules/openat (Depends-on): Drop same-inode.
16605         Reported by Bastien ROUCARIES.
16606
16607 2011-05-09  Jim Meyering  <meyering@redhat.com>
16608
16609         maint.mk: change semantics/name of tight_scope variables
16610         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
16611         Rename variables to align with semantics that make them more useful.
16612
16613         maint.mk: tweak new rule's name not to impinge
16614         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
16615         (sc_tight_scope): Use new rule name rather than $@-0.
16616
16617         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
16618         * top/maint.mk (sc_tight_scope): New rule.
16619         (sc_tight_scope-0): New rule, ifdef'd out.
16620         (_gl_TS_dir): Default.
16621         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
16622         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
16623
16624 2011-05-09  Simon Josefsson  <simon@josefsson.org>
16625
16626         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
16627         Haible <bruno@clisp.org>.
16628
16629 2011-05-08  Bruno Haible  <bruno@clisp.org>
16630
16631         Comments.
16632         * m4/isnanf.m4: Add comment.
16633         * m4/isnanl.m4: Likewise.
16634
16635 2011-05-08  Bruno Haible  <bruno@clisp.org>
16636
16637         glob: Remove obsolete macro.
16638         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
16639
16640 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
16641
16642         intprops: Sun C 5.11 supports __typeof__
16643         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
16644         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
16645         which is new.
16646         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
16647
16648         intprops: switch to usual gnulib indenting and naming
16649         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
16650         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
16651
16652         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
16653
16654 2011-05-08  Jim Meyering  <meyering@redhat.com>
16655
16656         maint.mk: suppress "Entering/Leaving directory" diag in announcement
16657         * top/maint.mk (release-prep): Use make's --no-print-directory
16658         option when generating the announcement.  This eliminates the
16659         pesky "make[2]: Entering/Leaving directory" diagnostics in the
16660         generated announcement template.
16661
16662 2011-05-08  Bruno Haible  <bruno@clisp.org>
16663
16664         tzset: Fix gettimeofday wrapper on Solaris 2.6.
16665         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
16666         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
16667
16668 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
16669
16670         ignore-value, verify: Omit include files from lib_SOURCES.
16671         * modules/ignore-value, modules/verify (Makefile.am):
16672         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
16673         that leads Automake to duplicate use of am__objects_... variables
16674         in Makefile.in.  See
16675         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
16676
16677 2011-05-07  Bruno Haible  <bruno@clisp.org>
16678
16679         fclose: Simplify autoconf macro.
16680         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
16681         defined.
16682
16683 2011-05-07  Bruno Haible  <bruno@clisp.org>
16684
16685         canonicalize-lgpl: Fix autoconf macro ordering bug.
16686         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
16687         gl_STDLIB_H_DEFAULTS.
16688
16689 2011-05-06  Eric Blake  <eblake@redhat.com>
16690
16691         maintainer-makefile: make sc_po_check easier to tune
16692         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
16693         to probe for strings, such as an alternate location for gnulib.
16694
16695         fclose: guarantee behavior on seekable stdin
16696         * modules/fclose (Depends-on): Add fflush.
16697         * doc/posix-functions/fclose.texi (fclose): Document this.
16698         * tests/test-fclose.c (main): Make test for this unconditional.
16699
16700 2011-05-06  Bruno Haible  <bruno@clisp.org>
16701
16702         fflush, fpurge: Relicense under LGPLv2+.
16703         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
16704         * modules/fpurge (License): Likewise.
16705         With permission from Eric Blake and Jim Meyering.
16706         Suggested by Eric Blake.
16707
16708 2011-05-06  Karl Berry  <karl@gnu.org>
16709
16710         * MODULES.html.sh (func_all_modules): remove exit.
16711
16712 2011-05-06  Jim Meyering  <meyering@redhat.com>
16713
16714         maint.mk: use info-gnu@ as the default only for a stable release
16715         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
16716         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
16717         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
16718         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
16719
16720 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
16721
16722         assert-h: new module, which supports C1X-style static_assert
16723         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
16724         * lib/verify.h: Revamp so that this can be copied into assert.h,
16725         while retaining the ability to use it standalone as before.
16726         Rename private identifiers so as not to encroach on the
16727         standard C namespace, since this is now used by assert.h.
16728         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
16729         the old verify_true.
16730         (_GL_VERIFY_TRUE): New macro, with much of the contents of
16731         the old verify_true.  Use _GL_VERIFY_TYPE.
16732         (_GL_VERIFY): New macro, with much of the contents of the old verify.
16733         (static_assert): New macro, if _GL_STATIC_ASSERT_H
16734         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
16735         defined when this file is copied into the replacement assert.h.
16736         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
16737         and _Static_assert is not built in.
16738         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
16739         defined, and use the new macros mentioned above.
16740         * doc/posix-headers/assert.texi: Document this.
16741
16742 2011-05-05  Bruno Haible  <bruno@clisp.org>
16743
16744         fclose, fflush: Respect rules for use of AC_LIBOBJ.
16745         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
16746         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
16747         gl_REPLACE_FCLOSE here.
16748         * modules/fflush (Depends-on): Remove fclose.
16749         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
16750         combination with module 'fclose'.
16751
16752 2011-05-05  Bruno Haible  <bruno@clisp.org>
16753
16754         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
16755         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
16756         gl_FUNC_FFLUSH.
16757         (gl_FUNC_FFLUSH): Use it.
16758         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
16759         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
16760         gl_REPLACE_FSEEKO here.
16761
16762 2011-05-05  Bruno Haible  <bruno@clisp.org>
16763
16764         tzset: Relicense under LGPL.
16765         * modules/tzset (License): Change to LGPL.
16766         No agreement needed; it's a no-op.
16767
16768         strtoimax, strtoumax: Relicense under LGPL.
16769         * modules/strtoimax (License): Change to LGPL.
16770         * modules/strtoumax (License): Likewise.
16771         With permission from Jim Meyering, Paul Eggert:
16772         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
16773         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
16774
16775         getgroups: Relicense under LGPL.
16776         * modules/getgroups (License): Change to LGPL.
16777         With permission from Jim Meyering, Paul Eggert, Eric Blake:
16778         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16779         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16780         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16781
16782         nanosleep: Relicense under LGPL.
16783         * modules/nanosleep (License): Change to LGPL.
16784         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
16785         Haible:
16786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
16787         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
16788         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16789         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16790
16791         futimens: Relicense under LGPL.
16792         * modules/futimens (License): Change to LGPL.
16793         With permission from Eric Blake:
16794         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16795
16796         fflush: Relicense under LGPL.
16797         * modules/fflush (License): Change to LGPL.
16798         With permission from Eric Blake, Bruno Haible, Jim Meyering:
16799         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
16800         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
16801         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
16802
16803         tmpfile: Relicense under LGPL.
16804         * modules/tmpfile (License): Change to LGPL.
16805         With permission from Ben Pfaff:
16806         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16807
16808         isfinite: Relicense under LGPL.
16809         * modules/isfinite (License): Change to LGPL.
16810         With permission from Ben Pfaff, Bruno Haible:
16811         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
16812         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
16813
16814         acosl..tanl: Relicense under LGPL.
16815         * modules/acosl (License): Change to LGPL.
16816         * modules/asinl (License): Likewise.
16817         * modules/atanl (License): Likewise.
16818         * modules/cosl (License): Likewise.
16819         * modules/expl (License): Likewise.
16820         * modules/logl (License): Likewise.
16821         * modules/sinl (License): Likewise.
16822         * modules/sqrtl (License): Likewise.
16823         * modules/tanl (License): Likewise.
16824         Source code originally from glibc and Paolo Bonzini. Agreements:
16825         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
16826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
16827
16828 2011-05-05  Bruno Haible  <bruno@clisp.org>
16829
16830         signal: Define sighandler_t.
16831         * lib/signal.in.h (sighandler_t): New type.
16832         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
16833         whether sighandler_t is defined.
16834         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
16835         * modules/signal (Depends-on): Add extensions.
16836         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
16837         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
16838         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
16839
16840 2011-05-05  Eric Blake  <eblake@redhat.com>
16841
16842         maint: remove useless REPLACE_*_H macros
16843         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
16844         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
16845         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
16846         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
16847         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
16848         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
16849         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
16850         * m4/btowc.m4: Update callers.
16851         * m4/dirfd.m4: Likewise.
16852         * m4/duplocale.m4: Likewise.
16853         * m4/fchdir.m4: Likewise.
16854         * m4/fdopendir.m4: Likewise.
16855         * m4/inet_ntop.m4: Likewise.
16856         * m4/inet_pton.m4: Likewise.
16857         * m4/ioctl.m4: Likewise.
16858         * m4/mbrlen.m4: Likewise.
16859         * m4/mbrtowc.m4: Likewise.
16860         * m4/mbsinit.m4: Likewise.
16861         * m4/mbsnrtowcs.m4: Likewise.
16862         * m4/mbsrtowcs.m4: Likewise.
16863         * m4/poll.m4: Likewise.
16864         * m4/setlocale.m4: Likewise.
16865         * m4/wcrtomb.m4: Likewise.
16866         * m4/wcsnrtombs.m4: Likewise.
16867         * m4/wcsrtombs.m4: Likewise.
16868         * m4/wctob.m4: Likewise.
16869         * m4/wcwidth.m4: Likewise.
16870         * modules/posix_spawn: Likewise.
16871         * modules/posix_spawn_file_actions_addclose: Likewise.
16872         * modules/posix_spawn_file_actions_adddup2: Likewise.
16873         * modules/posix_spawn_file_actions_addopen: Likewise.
16874         * modules/posix_spawn_file_actions_destroy: Likewise.
16875         * modules/posix_spawn_file_actions_init: Likewise.
16876         * modules/posix_spawnattr_destroy: Likewise.
16877         * modules/posix_spawnattr_getflags: Likewise.
16878         * modules/posix_spawnattr_getpgroup: Likewise.
16879         * modules/posix_spawnattr_getschedparam: Likewise.
16880         * modules/posix_spawnattr_getschedpolicy: Likewise.
16881         * modules/posix_spawnattr_getsigdefault: Likewise.
16882         * modules/posix_spawnattr_getsigmask: Likewise.
16883         * modules/posix_spawnattr_init: Likewise.
16884         * modules/posix_spawnattr_setflags: Likewise.
16885         * modules/posix_spawnattr_setpgroup: Likewise.
16886         * modules/posix_spawnattr_setschedparam: Likewise.
16887         * modules/posix_spawnattr_setschedpolicy: Likewise.
16888         * modules/posix_spawnattr_setsigdefault: Likewise.
16889         * modules/posix_spawnattr_setsigmask: Likewise.
16890         * modules/posix_spawnp: Likewise.
16891
16892 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
16893
16894         Add option to do-release-commit-and-tag to specify branch.
16895         * build-aux/do-release-commit-and-tag: Add --branch.
16896
16897 2011-05-03  Bruno Haible  <bruno@clisp.org>
16898
16899         Avoid unnecessary compilation units, through conditional dependencies.
16900         * modules/accept (Depends-on): Add conditions to the dependencies.
16901         * modules/acosl (Depends-on): Likewise.
16902         * modules/argz (Depends-on): Likewise.
16903         * modules/asinl (Depends-on): Likewise.
16904         * modules/atanl (Depends-on): Likewise.
16905         * modules/atoll (Depends-on): Likewise.
16906         * modules/bind (Depends-on): Likewise.
16907         * modules/btowc (Depends-on): Likewise.
16908         * modules/canonicalize-lgpl (Depends-on): Likewise.
16909         * modules/ceil (Depends-on): Likewise.
16910         * modules/ceilf (Depends-on): Likewise.
16911         * modules/ceill (Depends-on): Likewise.
16912         * modules/chdir-long (Depends-on): Likewise.
16913         * modules/chown (Depends-on): Likewise.
16914         * modules/close (Depends-on): Likewise.
16915         * modules/connect (Depends-on): Likewise.
16916         * modules/cosl (Depends-on): Likewise.
16917         * modules/dirfd (Depends-on): Likewise.
16918         * modules/dprintf (Depends-on): Likewise.
16919         * modules/dprintf-posix (Depends-on): Likewise.
16920         * modules/error (Depends-on): Likewise.
16921         * modules/euidaccess (Depends-on): Likewise.
16922         * modules/expl (Depends-on): Likewise.
16923         * modules/faccessat (Depends-on): Likewise.
16924         * modules/fchdir (Depends-on): Likewise.
16925         * modules/fclose (Depends-on): Likewise.
16926         * modules/fcntl (Depends-on): Likewise.
16927         * modules/fdopendir (Depends-on): Likewise.
16928         * modules/fflush (Depends-on): Likewise.
16929         * modules/floor (Depends-on): Likewise.
16930         * modules/floorf (Depends-on): Likewise.
16931         * modules/floorl (Depends-on): Likewise.
16932         * modules/fnmatch (Depends-on): Likewise.
16933         * modules/fopen (Depends-on): Likewise.
16934         * modules/fprintf-posix (Depends-on): Likewise.
16935         * modules/frexp (Depends-on): Likewise.
16936         * modules/frexp-nolibm (Depends-on): Likewise.
16937         * modules/frexpl (Depends-on): Likewise.
16938         * modules/frexpl-nolibm (Depends-on): Likewise.
16939         * modules/fseek (Depends-on): Likewise.
16940         * modules/fsusage (Depends-on): Likewise.
16941         * modules/ftell (Depends-on): Likewise.
16942         * modules/ftello (Depends-on): Likewise.
16943         * modules/futimens (Depends-on): Likewise.
16944         * modules/getcwd (Depends-on): Likewise.
16945         * modules/getcwd-lgpl (Depends-on): Likewise.
16946         * modules/getdelim (Depends-on): Likewise.
16947         * modules/getdomainname (Depends-on): Likewise.
16948         * modules/getgroups (Depends-on): Likewise.
16949         * modules/gethostname (Depends-on): Likewise.
16950         * modules/getline (Depends-on): Likewise.
16951         * modules/getlogin_r (Depends-on): Likewise.
16952         * modules/getopt-posix (Depends-on): Likewise.
16953         * modules/getpeername (Depends-on): Likewise.
16954         * modules/getsockname (Depends-on): Likewise.
16955         * modules/getsockopt (Depends-on): Likewise.
16956         * modules/getsubopt (Depends-on): Likewise.
16957         * modules/getusershell (Depends-on): Likewise.
16958         * modules/glob (Depends-on): Likewise.
16959         * modules/grantpt (Depends-on): Likewise.
16960         * modules/iconv_open (Depends-on): Likewise.
16961         * modules/iconv_open-utf (Depends-on): Likewise.
16962         * modules/inet_ntop (Depends-on): Likewise.
16963         * modules/inet_pton (Depends-on): Likewise.
16964         * modules/ioctl (Depends-on): Likewise.
16965         * modules/isapipe (Depends-on): Likewise.
16966         * modules/isfinite (Depends-on): Likewise.
16967         * modules/isinf (Depends-on): Likewise.
16968         * modules/lchown (Depends-on): Likewise.
16969         * modules/ldexpl (Depends-on): Likewise.
16970         * modules/link (Depends-on): Likewise.
16971         * modules/linkat (Depends-on): Likewise.
16972         * modules/listen (Depends-on): Likewise.
16973         * modules/logl (Depends-on): Likewise.
16974         * modules/lstat (Depends-on): Likewise.
16975         * modules/mbrlen (Depends-on): Likewise.
16976         * modules/mbrtowc (Depends-on): Likewise.
16977         * modules/mbsinit (Depends-on): Likewise.
16978         * modules/mbsnrtowcs (Depends-on): Likewise.
16979         * modules/mbsrtowcs (Depends-on): Likewise.
16980         * modules/mbtowc (Depends-on): Likewise.
16981         * modules/memcmp (Depends-on): Likewise.
16982         * modules/mkdir (Depends-on): Likewise.
16983         * modules/mkdtemp (Depends-on): Likewise.
16984         * modules/mkfifo (Depends-on): Likewise.
16985         * modules/mkfifoat (Depends-on): Likewise.
16986         * modules/mknod (Depends-on): Likewise.
16987         * modules/mkostemp (Depends-on): Likewise.
16988         * modules/mkostemps (Depends-on): Likewise.
16989         * modules/mkstemp (Depends-on): Likewise.
16990         * modules/mkstemps (Depends-on): Likewise.
16991         * modules/mktime (Depends-on): Likewise.
16992         * modules/nanosleep (Depends-on): Likewise.
16993         * modules/open (Depends-on): Likewise.
16994         * modules/openat (Depends-on): Likewise.
16995         * modules/perror (Depends-on): Likewise.
16996         * modules/poll (Depends-on): Likewise.
16997         * modules/popen (Depends-on): Likewise.
16998         * modules/posix_spawn (Depends-on): Likewise.
16999         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
17000         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
17001         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
17002         * modules/posix_spawnp (Depends-on): Likewise.
17003         * modules/pread (Depends-on): Likewise.
17004         * modules/printf-posix (Depends-on): Likewise.
17005         * modules/ptsname (Depends-on): Likewise.
17006         * modules/putenv (Depends-on): Likewise.
17007         * modules/pwrite (Depends-on): Likewise.
17008         * modules/readline (Depends-on): Likewise.
17009         * modules/readlink (Depends-on): Likewise.
17010         * modules/readlinkat (Depends-on): Likewise.
17011         * modules/recv (Depends-on): Likewise.
17012         * modules/recvfrom (Depends-on): Likewise.
17013         * modules/regex (Depends-on): Likewise.
17014         * modules/remove (Depends-on): Likewise.
17015         * modules/rename (Depends-on): Likewise.
17016         * modules/renameat (Depends-on): Likewise.
17017         * modules/rmdir (Depends-on): Likewise.
17018         * modules/round (Depends-on): Likewise.
17019         * modules/roundf (Depends-on): Likewise.
17020         * modules/roundl (Depends-on): Likewise.
17021         * modules/rpmatch (Depends-on): Likewise.
17022         * modules/select (Depends-on): Likewise.
17023         * modules/send (Depends-on): Likewise.
17024         * modules/sendto (Depends-on): Likewise.
17025         * modules/setenv (Depends-on): Likewise.
17026         * modules/setlocale (Depends-on): Likewise.
17027         * modules/setsockopt (Depends-on): Likewise.
17028         * modules/shutdown (Depends-on): Likewise.
17029         * modules/sigaction (Depends-on): Likewise.
17030         * modules/signbit (Depends-on): Likewise.
17031         * modules/sigprocmask (Depends-on): Likewise.
17032         * modules/sinl (Depends-on): Likewise.
17033         * modules/sleep (Depends-on): Likewise.
17034         * modules/snprintf (Depends-on): Likewise.
17035         * modules/snprintf-posix (Depends-on): Likewise.
17036         * modules/socket (Depends-on): Likewise.
17037         * modules/sprintf-posix (Depends-on): Likewise.
17038         * modules/sqrtl (Depends-on): Likewise.
17039         * modules/stat (Depends-on): Likewise.
17040         * modules/strchrnul (Depends-on): Likewise.
17041         * modules/strdup-posix (Depends-on): Likewise.
17042         * modules/strerror (Depends-on): Likewise.
17043         * modules/strerror_r-posix (Depends-on): Likewise.
17044         * modules/strndup (Depends-on): Likewise.
17045         * modules/strnlen (Depends-on): Likewise.
17046         * modules/strptime (Depends-on): Likewise.
17047         * modules/strsep (Depends-on): Likewise.
17048         * modules/strsignal (Depends-on): Likewise.
17049         * modules/strstr-simple (Depends-on): Likewise.
17050         * modules/strtod (Depends-on): Likewise.
17051         * modules/strtoimax (Depends-on): Likewise.
17052         * modules/strtok_r (Depends-on): Likewise.
17053         * modules/strtoumax (Depends-on): Likewise.
17054         * modules/symlink (Depends-on): Likewise.
17055         * modules/symlinkat (Depends-on): Likewise.
17056         * modules/tanl (Depends-on): Likewise.
17057         * modules/tcgetsid (Depends-on): Likewise.
17058         * modules/tmpfile (Depends-on): Likewise.
17059         * modules/trunc (Depends-on): Likewise.
17060         * modules/truncf (Depends-on): Likewise.
17061         * modules/truncl (Depends-on): Likewise.
17062         * modules/uname (Depends-on): Likewise.
17063         * modules/unlink (Depends-on): Likewise.
17064         * modules/unlockpt (Depends-on): Likewise.
17065         * modules/unsetenv (Depends-on): Likewise.
17066         * modules/usleep (Depends-on): Likewise.
17067         * modules/utimensat (Depends-on): Likewise.
17068         * modules/vasprintf (Depends-on): Likewise.
17069         * modules/vdprintf (Depends-on): Likewise.
17070         * modules/vdprintf-posix (Depends-on): Likewise.
17071         * modules/vfprintf-posix (Depends-on): Likewise.
17072         * modules/vprintf-posix (Depends-on): Likewise.
17073         * modules/vsnprintf (Depends-on): Likewise.
17074         * modules/vsnprintf-posix (Depends-on): Likewise.
17075         * modules/vsprintf-posix (Depends-on): Likewise.
17076         * modules/wcrtomb (Depends-on): Likewise.
17077         * modules/wcscasecmp (Depends-on): Likewise.
17078         * modules/wcscspn (Depends-on): Likewise.
17079         * modules/wcsdup (Depends-on): Likewise.
17080         * modules/wcsncasecmp (Depends-on): Likewise.
17081         * modules/wcsnrtombs (Depends-on): Likewise.
17082         * modules/wcspbrk (Depends-on): Likewise.
17083         * modules/wcsrtombs (Depends-on): Likewise.
17084         * modules/wcsspn (Depends-on): Likewise.
17085         * modules/wcsstr (Depends-on): Likewise.
17086         * modules/wcstok (Depends-on): Likewise.
17087         * modules/wcswidth (Depends-on): Likewise.
17088         * modules/wctob (Depends-on): Likewise.
17089         * modules/wctomb (Depends-on): Likewise.
17090         * modules/wctype (Depends-on): Likewise.
17091         * modules/wcwidth (Depends-on): Likewise.
17092         * modules/write (Depends-on): Likewise.
17093
17094 2011-05-03  Bruno Haible  <bruno@clisp.org>
17095
17096         Support for conditional dependencies.
17097         * doc/gnulib.texi (Module description): Document the syntax of
17098         conditional dependencies.
17099         * gnulib-tool: New option --conditional-dependencies.
17100         (func_usage): Document it.
17101         (cond_dependencies): New variable.
17102         (func_get_automake_snippet_conditional,
17103         func_get_automake_snippet_unconditional): New functions, extracted from
17104         func_get_automake_snippet.
17105         (func_get_automake_snippet): Use them.
17106         (sed_first_32_chars): New variable.
17107         (func_module_shellfunc_name): New function.
17108         (func_module_shellvar_name): New function.
17109         (func_module_conditional_name): New function.
17110         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
17111         func_cond_module_condition): New functions.
17112         (func_modules_transitive_closure): Add support for conditional
17113         dependencies.
17114         (func_emit_lib_Makefile_am): For a conditional module, enclose the
17115         conditional automake snippet in an automake conditional.
17116         (func_emit_autoconf_snippets): Emit shell functions that contain the
17117         code for conditional modules.
17118         (func_import, func_create_testdir): Update specification.
17119
17120 2011-05-03  Eric Blake  <eblake@redhat.com>
17121
17122         test-getaddrinfo: report error information
17123         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
17124
17125 2011-05-03  Jim Meyering  <meyering@redhat.com>
17126
17127         bootstrap: avoid build failure when $GZIP is set
17128         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
17129         program name.  If defined at all, it is supposed to list gzip options.
17130         Reported by Alan Curry in http://debbugs.gnu.org/8609
17131
17132 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
17133
17134         readme-release: new module with release instructions
17135         * modules/readme-release: New module.
17136         * top/README-release: New file, from coreutils, grep, diffutils.
17137         * MODULES.html.sh (Support for maintaining and releasing): Add it.
17138
17139 2011-05-02  Eric Blake  <eblake@redhat.com>
17140
17141         fflush: also replace fclose when fixing fflush
17142         * modules/fflush (Depends-on): Add fclose.
17143         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
17144         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
17145         memstreams with no backing fd.
17146         * doc/posix-functions/fclose.texi (fclose): Document the use of
17147         fflush module to fix the bug.
17148         * tests/test-fclose.c (main): Relax test when fclose is used in
17149         isolation.
17150
17151         fclose: add some tests
17152         * modules/fclose-tests: New test module.
17153         * tests/test-fclose.c: New file.
17154         * doc/posix-functions/fclose.texi (fclose): Document the bug.
17155
17156         fclose: reduced dependencies
17157         * modules/fclose (Depends-on): Switch from fflush/fseeko to
17158         simpler lseek.
17159         * lib/fclose.c (rpl_fclose): Likewise.
17160         Reported by Simon Josefsson.
17161
17162         exit: drop remaining clients
17163         * modules/argmatch (Depends-on): Replace exit with stdlib.
17164         * modules/copy-file (Depends-on): Likewise.
17165         * modules/execute (Depends-on): Likewise.
17166         * modules/exitfail (Depends-on): Likewise.
17167         * modules/obstack (Depends-on): Likewise.
17168         * modules/pagealign_alloc (Depends-on): Likewise.
17169         * modules/pipe-filter-gi (Depends-on): Likewise.
17170         * modules/pipe-filter-ii (Depends-on): Likewise.
17171         * modules/savewd (Depends-on): Likewise.
17172         * modules/spawn-pipe (Depends-on): Likewise.
17173         * modules/wait-process (Depends-on): Likewise.
17174         * modules/xsetenv (Depends-on): Likewise.
17175         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
17176         * modules/git-merge-changelog (Depends-on): Likewise.
17177         * modules/long-options (Depends-on): Likewise.
17178         * modules/pt_chown (Depends-on): Likewise.
17179         * modules/sysexits (Depends-on): Likewise.
17180
17181         freading: relax license from LGPLv3+ to LGPLv2+
17182         * modules/freading (License): Relax LGPL version.
17183
17184 2011-05-02  Bruno Haible  <bruno@clisp.org>
17185
17186         fchdir: Remove unused dependencies.
17187         * modules/fchdir (Depends-on): Remove include_next.
17188
17189 2011-05-02  Bruno Haible  <bruno@clisp.org>
17190
17191         gnulib-tool: Refactor.
17192         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
17193         from func_emit_autoconf_snippets.
17194         (func_emit_autoconf_snippets): Use it.
17195
17196 2011-05-02  Simon Josefsson  <simon@josefsson.org>
17197
17198         * NEWS: Document removal of 'exit'.
17199         * modules/exit: Remove file.
17200
17201 2011-05-01  Bruno Haible  <bruno@clisp.org>
17202
17203         Update DEPENDENCIES.
17204         * DEPENDENCIES (gettext): Recommend the newest release.
17205         Reported by Simon Josefsson.
17206
17207 2011-05-01  Bruno Haible  <bruno@clisp.org>
17208
17209         gnulib-tool: Reduce code duplication.
17210         * gnulib-tool (func_emit_autoconf_snippets): New function.
17211         (func_import, func_create_testdir): Use it.
17212
17213 2011-04-30  Eric Blake  <eblake@redhat.com>
17214
17215         fclose: don't fail on non-seekable input stream
17216         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
17217         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
17218         since fflush is allowed to fail in that case.
17219
17220 2011-04-30  Bruno Haible  <bruno@clisp.org>
17221
17222         dup3: cleanup
17223         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
17224
17225 2011-04-30  Bruno Haible  <bruno@clisp.org>
17226
17227         netdb: Make it work in C++ mode.
17228         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
17229         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
17230         module.
17231         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
17232         gl_MODULE_INDICATOR_FOR_TESTS.
17233         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
17234         * modules/netdb-c++-tests: New file.
17235         * tests/test-netdb-c++.cc: New file.
17236
17237 2011-04-30  Bruno Haible  <bruno@clisp.org>
17238
17239         New modules 'vfscanf', 'vscanf'.
17240         * modules/vfscanf: New file.
17241         * modules/vscanf: New file.
17242         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
17243         here.
17244         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
17245         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
17246
17247 2011-04-30  Bruno Haible  <bruno@clisp.org>
17248
17249         passfd: Add comments.
17250         * lib/passfd.c: Add comments about platforms.
17251
17252 2011-04-30  Bruno Haible  <bruno@clisp.org>
17253
17254         sys_uio: Make <sys/uio.h> self-contained.
17255         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
17256         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
17257
17258 2011-04-30  Bruno Haible  <bruno@clisp.org>
17259
17260         sys_socket: Ensure 'struct iovec' definition.
17261         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
17262         <sys/socket.h>.
17263         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
17264
17265 2011-04-30  Bruno Haible  <bruno@clisp.org>
17266
17267         sys_uio: Protect definition of 'struct iovec'.
17268         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
17269         it as a C struct.
17270
17271 2011-04-30  Bruno Haible  <bruno@clisp.org>
17272
17273         manywarnings: fix indentation
17274         * m4/manywarnings.m4: Indent by 2 spaces consistently.
17275
17276 2011-04-30  Pádraig Brady <P@draigBrady.com>
17277
17278         manywarnings: add -Wno-missing-field-initializers if needed.
17279         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
17280         option if it's needed to allow initialization with { 0, }
17281
17282 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
17283
17284         announce-gen: cosmetic improvement
17285         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
17286
17287 2011-04-29  Jim Meyering  <meyering@redhat.com>
17288
17289         vc-list-files: indent with spaces, not TABs
17290         * build-aux/vc-list-files: Convert leading TABs to spaces,
17291         to match the style of most other files in gnulib.
17292
17293         announce-gen: indent with spaces, not TABs
17294         * build-aux/announce-gen: Convert all TABs to spaces, to match
17295         the style of most other files in gnulib.
17296
17297 2011-04-29  Eric Blake  <eblake@redhat.com>
17298
17299         quotearg: avoid uninitialized variable use
17300         * lib/quotearg.c (quoting_options_from_style): Initialize
17301         remaining fields, and ensure that custom styles are only used via
17302         quoting_options rather than quoting_style.
17303
17304 2011-04-29  Jim Meyering  <meyering@redhat.com>
17305
17306         maint.mk: remove unused VC-tag variable
17307         * top/maint.mk (VC-tag): Remove unused variable.
17308
17309 2011-04-29  Bruno Haible  <bruno@clisp.org>
17310
17311         netdb: fix gai_strerror replacements
17312         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
17313         * modules/netdb: Substitute it.
17314
17315 2011-04-29  Jim Meyering  <meyering@redhat.com>
17316
17317         test-getcwd.c: avoid new set-but-not-used warning
17318         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
17319         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
17320         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
17321         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
17322
17323         test-hash.c: avoid a new shadowing warning
17324         * tests/test-hash.c (main): Don't shadow "dup".
17325
17326 2011-04-28  Eric Blake  <eblake@redhat.com>
17327
17328         getaddrinfo: fix gai_strerror signature
17329         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
17330         and work around mingw with UNICODE defined.
17331         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
17332         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
17333         * modules/netdb (Makefile.am): Substitute it.
17334         * lib/netdb.in.h (gai_strerror): Declare replacement.
17335         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
17336         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
17337         the fix.
17338
17339         getsockopt: avoid compiler warning
17340         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
17341         Reported by Matthias Bolte.
17342
17343         tests: drop unused link dependency
17344         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
17345         * modules/dirent-safer-tests (Makefile.am): Likewise.
17346         * modules/fdopendir-tests (Makefile.am): Likewise.
17347         * modules/mkfifoat-tests (Makefile.am): Likewise.
17348         * modules/openat-safer-tests (Makefile.am): Likewise.
17349         * modules/openat-tests (Makefile.am): Likewise.
17350         * modules/readlinkat-tests (Makefile.am): Likewise.
17351         * modules/symlinkat-tests (Makefile.am): Likewise.
17352         * modules/linkat-tests (Makefile.am): Likewise.
17353         (Depends-on): Switch to filenamecat-lgpl.
17354         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
17355         LIBINTL.
17356         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
17357         * tests/test-linkat.c (main): Don't require xalloc.
17358
17359         hash, mgetgroups: drop xalloc dependency
17360         * lib/hash.c (includes): Adjust includes.
17361         * lib/mgetgroups.c (includes): Likewise.
17362         (xgetgroups): Move...
17363         * lib/xgetgroups.c: ...to new file.
17364         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
17365         * modules/xgetgroups: New file, split from...
17366         * modules/mgetgroups: ...here.
17367         (Depends-on): Add xalloc-oversized.
17368         * modules/hash (Depends-on): Likewise.
17369         * modules/hash-tests (Depends-on): Drop xalloc.
17370         (test_hash_LDADD): Drop unused library.
17371         * tests/test-hash.c (main): Break xalloc dependency.
17372         (includes): Drop unused include.
17373
17374         xalloc-oversized: new module
17375         * modules/xalloc-oversized: New module.
17376         * modules/xalloc (Depends-on): Add it.
17377         * lib/xalloc.h (xalloc_oversized): Move...
17378         * lib/xalloc-oversized.h: ...into new file.
17379
17380         utimecmp: drop dependency on xmalloc
17381         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
17382         due to memory pressure.
17383         * modules/utimecmp (Depends-on): Drop xalloc.
17384
17385 2011-04-27  Eric Blake  <eblake@redhat.com>
17386
17387         getcwd: fix mingw bugs
17388         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
17389         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
17390         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
17391
17392 2011-04-27  Bruno Haible  <bruno@clisp.org>
17393
17394         mkstemps: Ensure declaration on MacOS X 10.5.
17395         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
17396         * doc/glibc-functions/mkstemps.texi: Document header file problem on
17397         MacOS X.
17398
17399 2011-04-27  Bruno Haible  <bruno@clisp.org>
17400
17401         mkstemp: More documentation.
17402         * doc/posix-functions/mkstemp.texi: Document header file problem on
17403         MacOS X.
17404
17405 2011-04-27  Bruno Haible  <bruno@clisp.org>
17406
17407         mkstemp: Tweak configure message when cross-compiling.
17408         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
17409         result as a guess.
17410
17411 2011-04-27  Bruno Haible  <bruno@clisp.org>
17412
17413         clean-temp: Clarify what it does.
17414         * lib/clean-temp.h: Add more comments.
17415         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
17416         module.
17417         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
17418         * doc/glibc-functions/mkstemps.texi: Likewise.
17419         * doc/glibc-functions/mkostemps.texi: Likewise.
17420
17421 2011-04-27  Eric Blake  <eblake@redhat.com>
17422
17423         fchdir: avoid extra chdir and fix test
17424         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
17425         getcwd-lgpl.
17426         * lib/fchdir.c (get_name): Any absolute name will do; it does not
17427         have to be canonical.
17428         (canonicalize_file_name): Drop unused macro.
17429         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
17430
17431         filenamecat-lgpl: fix licence
17432         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
17433         when it was first created.
17434
17435         linkat, renameat: add missing dependency
17436         * modules/linkat (Depends-on): Require getcwd-lgpl.
17437         * modules/renameat (Depends-on): Likewise.
17438
17439         tests: reduce dependencies
17440         * tests/test-linkat.c (main): Use lighter-weight getcwd.
17441         * tests/test-renameat.c (main): Likewise.
17442         * modules/linkat-tests (Depends-on): Relax dependency.
17443         * modules/renameat-tests (Depends-on): Likewise.
17444         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
17445         dependency explicit.
17446
17447         save-cwd: reduce default dependency
17448         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
17449         * lib/save-cwd.c: Update comments.
17450         * NEWS: Document the semantic change.
17451
17452         getcwd: enhance tests
17453         * tests/test-getcwd-lgpl.c: New file, taken from...
17454         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
17455         repeat long path stress tests from m4 probe.
17456         * modules/getcwd-lgpl-tests: New module.
17457         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
17458         * m4/getcwd-abort-bug.m4: Update comment.
17459         * m4/getcwd-path-max.m4: Likewise.
17460
17461         getcwd-lgpl: new module
17462         * modules/getcwd-lgpl: New module.
17463         * lib/getcwd-lgpl.c: New file.
17464         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17465         * MODULES.html.sh (lacking POSIX:2008): Likewise.
17466         * modules/getcwd (configure.ac): Set C witness.
17467         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
17468
17469         getcwd: tweak comments
17470         * m4/getcwd-abort-bug.m4: Fix comments.
17471         * m4/getcwd-path-max.m4: Likewise.
17472         * m4/getcwd.m4: Likewise.
17473
17474 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17475         and Eric Blake  <eblake@redhat.com>
17476
17477         mkstemp: replace if system version uses wrong permissions
17478         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
17479         read/write mode bits set in file created by mkstemp.
17480         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
17481
17482 2011-04-27  Eric Blake  <eblake@redhat.com>
17483
17484         passfd: avoid compiler warning
17485         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
17486         Reported by Laine Stump.
17487
17488 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
17489
17490         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
17491         required by the NetBSD (and perhaps other 4.4BSD derived) join.
17492
17493 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
17494         and Eric Blake  <eblake@redhat.com>
17495
17496         mkstemp: mention clean-temp module
17497         * lib/mkstemp.c: Add comment.
17498         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
17499
17500 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
17501
17502         inttypes: also provide default values for 32-bit tests
17503         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
17504         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
17505
17506 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
17507
17508         strtoumax: remove dependency on strtoimax
17509         This is like the strtoull change of yesterday.
17510         * modules/strtoumax (Files): Add lib/strtoimax.c.
17511         (Depends-on): Remove strtoimax and add verify.
17512
17513         inttypes-incomplete: new module
17514         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
17515         all but the PRI* and SCN* parts of gl_INTTYPES_H.
17516         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
17517         of gl_INTTYPES_H.
17518         (gl_INTTYPES_H): Rewrite in terms of these new macros.
17519         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
17520         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
17521         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
17522         * modules/strtoumax, modules/xstrtol (Depends-on):
17523         Depend on inttypes-incomplete, not inttypes.
17524         * modules/inttypes-incomplete: New module, containing the contents
17525         of the old modules/inttypes module, except that the Files: section
17526         omits m4/inttypes-pri.m4, and the configure.ac section invokes
17527         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
17528         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
17529         (Depends-on): Depend only on inttypes-incomplete.
17530         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
17531
17532         inttypes: omit now-redundant strtoimax and strtoumax work
17533         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
17534         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
17535
17536         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
17537         This supports apps that need pointers to strtoimax and strtoumax,
17538         and ports to HP-UX 11.00 64.bit, which has macros that expand to
17539         nonexistent functions.  See
17540         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
17541         et seq.
17542         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
17543         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
17544         a macro.
17545         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17546
17547 2011-04-25  Simon Josefsson  <simon@josefsson.org>
17548
17549         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
17550
17551 2011-04-25  Bruno Haible  <bruno@clisp.org>
17552
17553         strtol, strtoul: Mark modules as obsolete.
17554         * modules/strtol (Status, Notice): New sections.
17555         * modules/strtoul (Status, Notice): New sections.
17556
17557 2011-04-25  Bruno Haible  <bruno@clisp.org>
17558
17559         strtod: Remove check for strtod, unless supporting old platforms.
17560         * modules/strtod-obsolete: New file.
17561         * m4/strtod-obsolete.m4: New file.
17562         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
17563         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
17564         * modules/strtod (Depends-on): Add strtod-obsolete.
17565         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
17566
17567 2011-04-25  Bruno Haible  <bruno@clisp.org>
17568
17569         strcase: Make module obsolete.
17570         * modules/strcase (Status, Notice): New sections.
17571
17572 2011-04-25  Bruno Haible  <bruno@clisp.org>
17573
17574         dup2: Remove check for dup2, unless supporting old obsolete platforms.
17575         * modules/dup2-obsolete: New file.
17576         * m4/dup2-obsolete.m4: New file.
17577         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
17578         gl_FUNC_DUP2_OBSOLETE is not also defined.
17579         * modules/dup2 (Depends-on): Add dup2-obsolete.
17580         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
17581
17582 2011-04-25  Bruno Haible  <bruno@clisp.org>
17583
17584         strnlen: Avoid memchr related link error on old obsolete platforms.
17585         * modules/memchr-obsolete: New file.
17586         * m4/memchr-obsolete.m4: New file.
17587         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
17588         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
17589         * modules/memchr (Depends-on): Add memchr-obsolete.
17590         * modules/strnlen (Depends-on): Likewise.
17591         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
17592
17593 2011-04-25  Jim Meyering  <meyering@redhat.com>
17594
17595         maint.mk: makefile_at_at_check extend and clean up
17596         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
17597         in addition to */Makefile.am.
17598         Exempt legitimate uses of @VAR@ notation, e.g.,
17599         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
17600         Remove obsolete coreutils-specific comment.
17601         Prompted by discussion here:
17602         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
17603
17604 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
17605
17606         strtoul: remove dependency on strtol
17607         This is so that 'configure' need not check for strtol merely because
17608         the application needs strtoul.
17609         * modules/strtoul (Files): Add lib/strtol.c.
17610         (Depends-on): Remove strtol.
17611
17612         strtoull: remove dependency on strtoul
17613         This is like the strtoll change.
17614         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
17615         (Depends-on): Remove strtoul.
17616
17617         strtoll: remove dependency on strtol
17618         This is so that 'configure' need not check for strtol merely because
17619         the application needs strtoll.
17620         * modules/strtoll (Files): Add lib/strtol.c.
17621         (Depends-on): Remove strtol.
17622
17623 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17624
17625         inttypes: Move some configure check to module 'imaxdiv'.
17626         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
17627         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
17628         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
17629
17630 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17631
17632         inttypes: Move some configure check to module 'imaxabs'.
17633         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
17634         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
17635         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
17636
17637 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17638
17639         inttypes: Remove configure tests that are not needed since 2009-12-31.
17640         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
17641         gl_cv_header_working_inttypes_h.
17642
17643 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
17644
17645         * modules/strnlen (Depends-on): Remove memchr.
17646         The strnlen implementation doesn't need the memchr module's fixes; see
17647         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
17648
17649         strtol: remove dependency on wchar
17650         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
17651         * modules/strtol (Depends-on): Remove wchar.
17652
17653 2011-04-21  Eric Blake  <eblake@redhat.com>
17654
17655         passfd: fix test regression on Linux
17656         * modules/passfd-tests (configure.ac): Correct socketpair check.
17657
17658         passfd: speed up configure and drop unused code
17659         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
17660         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
17661         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
17662         Instead of probing at configure for unix_scm_rights_bsd44_way,
17663         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
17664         check to a struct member probe.
17665         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
17666         (sendfd, recvfd): Update preprocessor checks.
17667         * modules/passfd (Files): Reflect rename, and drop unused file.
17668         (Depends-on): Drop unused dependency.
17669
17670         passfd: allow compilation on mingw
17671         * modules/sys_socket (Depends-on): Add sys_uio.
17672         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
17673         iovec and a minimal struct msghdr.
17674         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
17675         * tests/test-sys_socket.c (main): Enhance test.
17676         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
17677         guaranteed to provide what we need.
17678         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
17679         * modules/passfd-tests (Depends-on): Add sys_wait.
17680         * tests/test-passfd.c (main): Skip test on mingw, for now.
17681         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
17682         partial 'struct msghdr' implementation.
17683
17684         sys_uio: new module
17685         * modules/sys_uio: New module.
17686         * modules/sys_uio-tests: Likewise.
17687         * lib/sys_uio.in.h: New file.
17688         * m4/sys_uio_h.m4: Likewise.
17689         * tests/test-sys_uio.c: Likewise.
17690         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
17691         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
17692
17693 2011-04-20  Jim Meyering  <meyering@redhat.com>
17694
17695         useless-if-before-free: avoid false-positive
17696         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
17697         disjunct so that it too requires a terminating ";".  Without that,
17698         this script would identify as useless one statement from gcc that
17699         was not:
17700           if (aligned_ptr)
17701             free (((void **) aligned_ptr) [-1]);
17702
17703 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
17704
17705         doc: update users.txt.
17706         * users.txt: Add barcode.
17707
17708 2011-04-19  Bruno Haible  <bruno@clisp.org>
17709
17710         ioctl: Remove link dependency on native Windows.
17711         * lib/fd-hook.h: Renamed from lib/close-hook.h.
17712         (gl_close_fn, gl_ioctl_fn): New types.
17713         (struct fd_hook): Renamed from struct close_hook. Change type of
17714         private_close_fn field. Add private_ioctl_fn field.
17715         (close_hook_fn): Add parameter for primary close method.
17716         (execute_close_hooks, execute_all_close_hooks): Likewise.
17717         (ioctl_hook_fn): New type.
17718         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
17719         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17720         argument.
17721         (unregister_fd_hook): Renamed from unregister_close_hook.
17722         * lib/fd-hook.c: Renamed from lib/close-hook.c.
17723         Don't include <unistd.h>.
17724         (close): Remove undef.
17725         (anchor): Update.
17726         (execute_close_hooks): Add argument for primary close method.
17727         (execute_all_close_hooks): Likewise.
17728         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
17729         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
17730         argument. Allow each argument to be NULL.
17731         (unregister_fd_hook): Renamed from unregister_close_hook.
17732         * lib/close.c (rpl_close): Pass 'close' function pointer to
17733         execute_all_close_hooks.
17734         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
17735         (primary_ioctl): New function.
17736         (ioctl): Don't call ioctlsocket here. Instead, call
17737         execute_all_ioctl_hooks.
17738         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
17739         close method.
17740         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
17741         (fd_sockets_hook): Renamed from close_sockets_hook.
17742         (gl_sockets_startup, gl_sockets_cleanup): Update.
17743         * modules/fd-hook: Renamed from modules/close-hook. Update.
17744         * modules/close (Depends-on): Add fd-hook, remove close-hook.
17745         * modules/sockets (Depends-on): Likewise.
17746         * modules/ioctl (Depends-on): Add fd-hook.
17747         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
17748         GNULIB_SOCKET.
17749
17750 2011-04-19  Bruno Haible  <bruno@clisp.org>
17751
17752         Move the support of O_NONBLOCK in open() to the 'open' module.
17753         * modules/nonblocking (Depends-on): Remove 'open'.
17754         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
17755         gl_cv_have_open_O_NONBLOCK.
17756         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
17757         O_NONBLOCK support.
17758         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
17759
17760 2011-04-17  Bruno Haible  <bruno@clisp.org>
17761
17762         pipe2: Simplify code.
17763         * lib/pipe2.c (pipe2): Reduce code duplication.
17764
17765 2011-04-17  Bruno Haible  <bruno@clisp.org>
17766
17767         nonblocking: Add comment.
17768         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
17769
17770 2011-04-17  Bruno Haible  <bruno@clisp.org>
17771
17772         nonblocking: Add tests for sockets.
17773         * tests/test-nonblocking-socket.sh: New file.
17774         * tests/test-nonblocking-socket-main.c: New file.
17775         * tests/test-nonblocking-socket-child.c: New file.
17776         * tests/test-nonblocking-socket.h: New file.
17777         * tests/socket-server.h: New file.
17778         * tests/socket-client.h: New file.
17779         * modules/nonblocking-socket-tests: New file.
17780         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
17781
17782 2011-04-17  Bruno Haible  <bruno@clisp.org>
17783
17784         nonblocking: Add tests for pipes.
17785         * tests/test-nonblocking-pipe.sh: New file.
17786         * tests/test-nonblocking-pipe-main.c: New file.
17787         * tests/test-nonblocking-pipe-child.c: New file.
17788         * tests/test-nonblocking-pipe.h: New file.
17789         * tests/test-nonblocking-writer.h: New file.
17790         * tests/test-nonblocking-reader.h: New file.
17791         * tests/test-nonblocking-misc.h: New file.
17792         * modules/nonblocking-pipe-tests: New file.
17793         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
17794
17795 2011-04-16  Bruno Haible  <bruno@clisp.org>
17796
17797         gettext: Clarify the needed programmer actions.
17798         * modules/gettext (Notice): New field.
17799         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
17800
17801 2011-04-16  Bruno Haible  <bruno@clisp.org>
17802
17803         strchrnul: Tweak last commit.
17804         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
17805         bug.
17806         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
17807         as in _GL_FUNCDECL_SYS.
17808         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
17809         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
17810
17811 2011-04-15  Eric Blake  <eblake@redhat.com>
17812
17813         strchrnul: work around cygwin bug
17814         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
17815         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
17816         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
17817         * modules/string (Makefile.am): Substitute it.
17818         * lib/string.in.h (strchrnul): Use it.
17819
17820 2011-04-15  Bruno Haible  <bruno@clisp.org>
17821
17822         Don't require lib/stdio-write.c when only module 'stdio' is used.
17823         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
17824         invocation.
17825         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
17826
17827 2011-04-14  Bruno Haible  <bruno@clisp.org>
17828
17829         Support non-blocking pipe I/O in read() on native Windows.
17830         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
17831         (read): New declaration.
17832         * lib/read.c: New file.
17833         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
17834         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
17835         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
17836         vscanf): New declarations.
17837         * lib/stdio-read.c: New file.
17838         * m4/read.m4: New file.
17839         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
17840         REPLACE_READ.
17841         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
17842         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17843         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
17844         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
17845         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
17846         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17847         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17848         * modules/read: New file.
17849         * modules/nonblocking (Files): Add lib/stdio-read.c.
17850         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
17851         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
17852         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
17853         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
17854         * modules/pread (Depends-on): Add read.
17855         * modules/safe-read (Depends-on): Likewise.
17856         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
17857         gets, scanf, vfscanf, vscanf): Verify signatures.
17858         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
17859         problem with non-blocking pipes.
17860         * doc/posix-functions/fgetc.texi: Likewise.
17861         * doc/posix-functions/fgets.texi: Likewise.
17862         * doc/posix-functions/fread.texi: Likewise.
17863         * doc/posix-functions/fscanf.texi: Likewise.
17864         * doc/posix-functions/getc.texi: Likewise.
17865         * doc/posix-functions/getchar.texi: Likewise.
17866         * doc/posix-functions/gets.texi: Likewise.
17867         * doc/posix-functions/scanf.texi: Likewise.
17868         * doc/posix-functions/vfscanf.texi: Likewise.
17869         * doc/posix-functions/vscanf.texi: Likewise.
17870
17871 2011-04-14  Bruno Haible  <bruno@clisp.org>
17872
17873         Support non-blocking pipe I/O in write() on native Windows.
17874         * lib/write.c (rpl_write): Split a write request that failed merely
17875         because the byte count was larger than the pipe buffer's size.
17876         * doc/posix-functions/write.texi: Mention the problem with large byte
17877         counts.
17878
17879 2011-04-14  Bruno Haible  <bruno@clisp.org>
17880
17881         wchar: Ensure that wchar_t gets defined on uClibc.
17882         * lib/wchar.in.h: On uClibc, include <stddef.h>.
17883         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
17884
17885 2011-04-13  Bruno Haible  <bruno@clisp.org>
17886
17887         safe-write, full-read: Avoid unnecessary compilation units.
17888         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
17889         (Depends-on): Remove safe-read. Add ssize_t.
17890         * modules/full-read (Files): Add lib/full-write.c.
17891         (Depends-on): Add full-write.
17892
17893 2011-04-13  Bruno Haible  <bruno@clisp.org>
17894
17895         Support non-blocking pipe I/O and SIGPIPE in pwrite().
17896         * modules/pwrite (Depends-on): Add 'write'.
17897
17898 2011-04-13  Bruno Haible  <bruno@clisp.org>
17899
17900         Support non-blocking pipe I/O in write() on native Windows.
17901         * lib/unistd.in.h (write): Enable replacement also if
17902         GNULIB_UNISTD_H_NONBLOCKING is 1.
17903         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
17904         (rpl_write): When failing to write on a non-blocking pipe, change
17905         errno from ENOSPC to EAGAIN.
17906         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
17907         putchar, puts, vfprintf, vprintf): Enable replacement also if
17908         GNULIB_STDIO_H_NONBLOCKING is 1.
17909         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
17910         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
17911         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
17912         CALL_WITH_SIGPIPE_EMULATION.
17913         (CALL_WITH_SIGPIPE_EMULATION): Use them.
17914         * m4/nonblocking.m4: New file.
17915         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
17916         for non-blocking I/O support.
17917         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
17918         GNULIB_UNISTD_H_NONBLOCKING.
17919         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
17920         required for non-blocking I/O support.
17921         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
17922         * modules/nonblocking (Files): Add m4/nonblocking.m4,
17923         lib/stdio-write.c, m4/asm-underscore.m4.
17924         (Depends-on): Add stdio, unistd.
17925         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
17926         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
17927         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
17928         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
17929         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
17930         problem with non-blocking pipes.
17931         * doc/posix-functions/fputc.texi: Likewise.
17932         * doc/posix-functions/fputs.texi: Likewise.
17933         * doc/posix-functions/fwrite.texi: Likewise.
17934         * doc/posix-functions/printf.texi: Likewise.
17935         * doc/posix-functions/putc.texi: Likewise.
17936         * doc/posix-functions/putchar.texi: Likewise.
17937         * doc/posix-functions/puts.texi: Likewise.
17938         * doc/posix-functions/vfprintf.texi: Likewise.
17939         * doc/posix-functions/vprintf.texi: Likewise.
17940         * doc/posix-functions/write.texi: Likewise.
17941
17942 2011-04-10  Jim Meyering  <meyering@redhat.com>
17943
17944         maint.mk: prohibit doubled words
17945         Detect them also when they're separated by a newline.
17946         There are 3 ways to customize it:
17947           - disable the test on a per file basis, as usual with rules using
17948             $(VC_LIST_EXCEPT)
17949           - replace the default doubled-word-selecting regexp (affects all files)
17950           - ignore a particular file-vs-doubled-word match
17951         I nearly used that last one to ignore the "is is" match in
17952         coreutils' NEWS file, since the text was "ls -is is ..."
17953         To do that, I would have added this line to cfg.mk:
17954           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
17955         but it would have ignored any "is is" match in NEWS.
17956         Low probability, but still...
17957         Instead, I changed the text, slightly:
17958           -  ls -is is now consistent with ls -lis in ignoring values returned
17959           +  "ls -is" is now consistent with ls -lis in ignoring values returned
17960         * top/maint.mk (prohibit_double_word_RE_): Provide default.
17961         (prohibit_doubled_word_): Define.
17962         (sc_prohibit_doubled_word): New rule.
17963         (sc_prohibit_the_the): Remove.  Subsumed by the above.
17964
17965 2011-04-10  Jim Meyering  <meyering@redhat.com>
17966
17967         maint: fix doubled-word typo in comment
17968         * m4/gethostname.m4: s/is is/it is/
17969         * m4/getdomainname.m4: Likewise.
17970
17971 2011-04-10  Jim Meyering  <meyering@redhat.com>
17972
17973         maint: remove doubled word: s/it it/it/
17974         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
17975
17976 2011-04-10  Jim Meyering  <meyering@redhat.com>
17977
17978         maint.mk: remove useless semicolon and backslash
17979         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
17980         semicolon and backslash.
17981
17982 2011-04-10  Bruno Haible  <bruno@clisp.org>
17983
17984         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
17985         * modules/stdint-tests (Depends-on): Add wchar.
17986
17987 2011-04-10  Jim Meyering  <meyering@redhat.com>
17988
17989         maint: remove doubled words in comments, e.g., s/a a/a/
17990         * lib/strptime.c (day_of_the_week): s/the the/the/
17991         * tests/test-chown.h (test_chown): s/a a/a/
17992
17993         test-chown.h: correct a cast
17994         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
17995         when the destination is a stat.st_gid.
17996
17997 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
17998
17999         getaddrinfo: Fix test for sa_len member.
18000         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
18001         include <sys/types.h> before <sys/socket.h>.
18002
18003 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
18004
18005         maint: change "can not" to "cannot"
18006         * doc/posix-functions/iconv.texi (iconv): This one crossed line
18007         boundaries.
18008
18009 2011-04-09  Jim Meyering  <meyering@redhat.com>
18010
18011         maint: change "a a" to "a"
18012         * tests/test-lchown.h (test_lchown): s/a a/a/
18013
18014         maint.mk: prohibit \<the the\>
18015         * top/maint.mk (sc_prohibit_the_the): New rule.
18016
18017         maint: fix "the the" in comment
18018         * lib/count-one-bits.h: s/the the/the/
18019
18020         maint: change "can not" to "cannot"
18021         But do not change the occurrences in maintain.texi or in
18022         build-aux/po/Makefile.in.in, which I presume comes from gettext.
18023         * doc/gnulib-tool.texi: s/can not/cannot/
18024         * doc/posix-functions/accept.texi (accept): Likewise.
18025         * doc/posix-functions/socket.texi (socket): Likewise.
18026         * lib/mbrtowc.c: Likewise.
18027
18028         maint.mk: prohibit use of "can not"
18029         * top/maint.mk (sc_prohibit_can_not): New rule.
18030         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
18031
18032 2011-04-09  Bruno Haible  <bruno@clisp.org>
18033
18034         careadlinkat: Guard against misuse of careadlinkatcwd.
18035         * lib/careadlinkat.c: Include <stdlib.h>.
18036         (careadlinkatcwd): Check that the fd argument is as expected.
18037
18038 2011-04-09  Bruno Haible  <bruno@clisp.org>
18039
18040         careadlinkat: Use common coding style.
18041         * lib/careadlinkat.c: Move gnulib includes after system includes.
18042
18043 2011-04-09  Bruno Haible  <bruno@clisp.org>
18044
18045         careadlinkat: Clarify specification.
18046         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
18047         (careadlinkatcwd): Add comment.
18048         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
18049
18050 2011-04-09  Bruno Haible  <bruno@clisp.org>
18051
18052         areadlinkat: Avoid link error on many platforms.
18053         * modules/areadlinkat (Depends-on): Add areadlink.
18054
18055 2011-04-09  Bruno Haible  <bruno@clisp.org>
18056
18057         allocator, careadlinkat: Fix double-inclusion guard.
18058         * lib/allocator.h: Fix double-inclusion guard.
18059         * lib/careadlinkat.h: Likewise.
18060
18061 2011-04-09  Bruno Haible  <bruno@clisp.org>
18062
18063         relocatable-prog-wrapper: Update after module 'areadlink' changed.
18064         * lib/relocwrapper.c: Update dependencies hierarchy.
18065         * build-aux/install-reloc: Update list of files to be compiled.
18066         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
18067         lib/allocator.[hc].
18068
18069 2011-04-08  Eric Blake  <eblake@redhat.com>
18070
18071         strftime: silence gnulib-tool warning
18072         * modules/strftime-tests (Depends-on): Drop automatic dependency.
18073
18074 2011-04-08  Bruno Haible  <bruno@clisp.org>
18075
18076         verify: Fix syntax error with GCC 4.6 in C++ mode.
18077         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
18078         (HAVE_STATIC_ASSERT): New macro.
18079         (verify_true, verify): Use 'static_assert' if it is supported and
18080         '_Static_assert' is not supported.
18081
18082 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
18083
18084         allocator: New module.
18085         * modules/allocator, lib/allocator.c: New files.
18086         * lib/allocator.h (stdlib_allocator): New decl.
18087         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
18088         Remove.  Do not include <stdlib.h>.
18089         (careadlinkat): Use stdlib_allocator instead of rolling our own.
18090         * modules/careadlinkat (Files): Remove lib/allocator.h.
18091         (Depends-on): Add allocator.
18092
18093         stdlib: let modules use system malloc, realloc
18094         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
18095         if !_GL_USE_STDLIB_ALLOC.
18096         (malloc, realloc): Limit this change to a smaller scope.
18097
18098         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
18099         (malloc, realloc): Don't #undef; no longer needed.
18100         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18101         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18102         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18103         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18104         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18105         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18106         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18107         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18108
18109         careadlinkat: rename members to avoid problem
18110         * lib/allocator.h (struct allocator): Rename members from
18111         malloc/realloc to allocate/reallocate, to avoid problems if malloc
18112         and realloc are #define'd.  Reported by Eric Blake in
18113         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
18114         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
18115
18116 2011-04-08  Eric Blake  <eblake@redhat.com>
18117
18118         nonblocking: reduce dependency
18119         * tests/test-nonblocking.c: Only test sockets when in use.
18120         * modules/nonblocking-tests (Depends-on): Drop socket.
18121         (Makefile.am): Link even if sockets are not present.
18122         * modules/pipe2-tests (Makefile.am): Likewise.
18123         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
18124
18125         pipe2: fix O_NONBLOCK support on mingw
18126         * modules/pipe2 (Depends-on): Add nonblocking.
18127         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
18128         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
18129         * tests/test-nonblocking.c (main): Likewise.
18130         * modules/pipe2-tests (Makefile.am): Avoid link failure.
18131
18132         fcntl-h: fix O_ACCMODE on cygwin
18133         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
18134         * lib/fcntl.in.h (O_ACCMODE): Fix it.
18135
18136         pipe-filter: drop O_NONBLOCK workarounds
18137         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
18138         * modules/pipe-filter-ii (Depends-on): Likewise.
18139         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
18140
18141         nonblocking: provide O_NONBLOCK for mingw
18142         * modules/nonblocking (Depends-on): Add open.
18143         (configure.ac): Set new witness macro.
18144         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
18145         * modules/fcntl-h (Makefile.am): Substitute it.
18146         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
18147         nonblocking module is in use.
18148         * lib/nonblocking.c: Adjust portability test.
18149         * lib/open.c (open): Don't let native open see gnulib flag.
18150         * tests/test-fcntl-h.c (main): Enhance test.
18151         * tests/test-open.h (test_open): Likewise.
18152         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
18153
18154         careadlinkat: fix compilation error on mingw
18155         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
18156         within struct allocator.
18157
18158 2011-04-06  Eric Blake  <eblake@redhat.com>
18159
18160         binary-io: relicense under LGPLv2+
18161         * modules/binary-io (License): Relax to LGPLv2+.
18162         Requested for libvirt, and required by pipe2.
18163
18164 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18165
18166         verify: use _Static_assert if available
18167         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
18168         (verify_true, verify): Use it if available.  This generates better
18169         diagnostics with GCC 4.6.0 and later.
18170
18171 2011-04-05  Bruno Haible  <bruno@clisp.org>
18172
18173         Remove leftover generated .h files after config.status changed.
18174
18175         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
18176         GL_GENERATE_ALLOCA_H.
18177         * modules/alloca-opt (Makefile.am): Remove alloca.h if
18178         GL_GENERATE_ALLOCA_H evaluates to false.
18179
18180         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
18181         GL_GENERATE_ARGZ_H.
18182         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
18183         evaluates to false.
18184
18185         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
18186         GL_GENERATE_BYTESWAP_H.
18187         * modules/byteswap (Makefile.am): Remove byteswap.h if
18188         GL_GENERATE_BYTESWAP_H evaluates to false.
18189
18190         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
18191         GL_GENERATE_ERRNO_H.
18192         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
18193         evaluates to false.
18194
18195         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
18196         GL_GENERATE_FLOAT_H.
18197         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
18198         evaluates to false.
18199
18200         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
18201         GL_GENERATE_FNMATCH_H.
18202         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
18203         GL_GENERATE_FNMATCH_H evaluates to false.
18204
18205         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
18206         GL_GENERATE_GLOB_H.
18207         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
18208         evaluates to false.
18209
18210         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
18211         automake conditional GL_GENERATE_ICONV_H.
18212         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
18213         evaluates to false.
18214
18215         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
18216         GL_GENERATE_NETINET_IN_H.
18217         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
18218         GL_GENERATE_NETINET_IN_H evaluates to false.
18219
18220         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
18221         conditional GL_GENERATE_PTHREAD_H.
18222         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
18223         * modules/pthread (Makefile.am): Remove pthread.h if
18224         GL_GENERATE_PTHREAD_H evaluates to false.
18225
18226         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
18227         GL_GENERATE_SCHED_H.
18228         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
18229         evaluates to false.
18230
18231         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
18232         conditional GL_GENERATE_SELINUX_CONTEXT_H.
18233         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
18234         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
18235
18236         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
18237         GL_GENERATE_STDARG_H.
18238         * modules/stdarg (Makefile.am): Remove stdarg.h if
18239         GL_GENERATE_STDARG_H evaluates to false.
18240
18241         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
18242         GL_GENERATE_STDBOOL_H.
18243         * modules/stdbool (Makefile.am): Remove stdbool.h if
18244         GL_GENERATE_STDBOOL_H evaluates to false.
18245
18246         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
18247         conditional GL_GENERATE_STDDEF_H.
18248         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
18249         * modules/stddef (Makefile.am): Remove stddef.h if
18250         GL_GENERATE_STDDEF_H evaluates to false.
18251
18252         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
18253         GL_GENERATE_STDINT_H.
18254         * modules/stdint (Makefile.am): Remove stdint.h if
18255         GL_GENERATE_STDINT_H evaluates to false.
18256
18257         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
18258         GL_GENERATE_SYSEXITS_H.
18259         * modules/sysexits (Makefile.am): Remove sysexits.h if
18260         GL_GENERATE_SYSEXITS_H evaluates to false.
18261
18262         Reported by Karl Berry and Ralf Wildenhues.
18263
18264 2011-04-05  Bruno Haible  <bruno@clisp.org>
18265
18266         Ensure to rebuild generated .h files when config.status has changed.
18267         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
18268         config.status.
18269         * modules/ctype (Makefile.am): Likewise.
18270         * modules/dirent (Makefile.am): Likewise.
18271         * modules/errno (Makefile.am): Likewise.
18272         * modules/fcntl-h (Makefile.am): Likewise.
18273         * modules/float (Makefile.am): Likewise.
18274         * modules/getopt-posix (Makefile.am): Likewise.
18275         * modules/glob (Makefile.am): Likewise.
18276         * modules/iconv-h (Makefile.am): Likewise.
18277         * modules/inttypes (Makefile.am): Likewise.
18278         * modules/langinfo (Makefile.am): Likewise.
18279         * modules/locale (Makefile.am): Likewise.
18280         * modules/math (Makefile.am): Likewise.
18281         * modules/netdb (Makefile.am): Likewise.
18282         * modules/netinet_in (Makefile.am): Likewise.
18283         * modules/poll-h (Makefile.am): Likewise.
18284         * modules/pthread (Makefile.am): Likewise.
18285         * modules/pty (Makefile.am): Likewise.
18286         * modules/sched (Makefile.am): Likewise.
18287         * modules/search (Makefile.am): Likewise.
18288         * modules/selinux-h (Makefile.am): Likewise.
18289         * modules/signal (Makefile.am): Likewise.
18290         * modules/spawn (Makefile.am): Likewise.
18291         * modules/stdarg (Makefile.am): Likewise.
18292         * modules/stdbool (Makefile.am): Likewise.
18293         * modules/stddef (Makefile.am): Likewise.
18294         * modules/stdint (Makefile.am): Likewise.
18295         * modules/stdio (Makefile.am): Likewise.
18296         * modules/stdlib (Makefile.am): Likewise.
18297         * modules/string (Makefile.am): Likewise.
18298         * modules/strings (Makefile.am): Likewise.
18299         * modules/sys_file (Makefile.am): Likewise.
18300         * modules/sys_ioctl (Makefile.am): Likewise.
18301         * modules/sys_select (Makefile.am): Likewise.
18302         * modules/sys_socket (Makefile.am): Likewise.
18303         * modules/sys_stat (Makefile.am): Likewise.
18304         * modules/sys_time (Makefile.am): Likewise.
18305         * modules/sys_times (Makefile.am): Likewise.
18306         * modules/sys_utsname (Makefile.am): Likewise.
18307         * modules/sys_wait (Makefile.am): Likewise.
18308         * modules/sysexits (Makefile.am): Likewise.
18309         * modules/termios (Makefile.am): Likewise.
18310         * modules/time (Makefile.am): Likewise.
18311         * modules/unistd (Makefile.am): Likewise.
18312         * modules/wchar (Makefile.am): Likewise.
18313         * modules/wctype-h (Makefile.am): Likewise.
18314         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
18315
18316 2011-04-05  Bruno Haible  <bruno@clisp.org>
18317
18318         pipe2: Relicense under LGPLv2+.
18319         * modules/pipe2 (License): Change to LGPLv2+.
18320         Requested by Eric Blake, for libvirt.
18321
18322 2011-04-05  Bruce Korb  <bkorb@gnu.org>
18323
18324         bootstrap: compute gnulib_extra_files after updating build_aux
18325         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
18326         change build_aux or also supply gnulib_extra_files.  Handle correctly.
18327
18328 2011-04-05  Eric Blake  <eblake@redhat.com>
18329
18330         bootstrap: preserve git whitelist item sorting
18331         * build-aux/bootstrap (sort_patterns): New function.
18332         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
18333
18334 2011-04-05  Simon Josefsson  <simon@josefsson.org>
18335
18336         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
18337         sc_space_tab check.
18338
18339 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
18340
18341         areadlink, areadlinkat: rewrite in terms of careadlinkat
18342         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
18343         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
18344         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
18345         (malloc, realloc): Remove #undefs.
18346         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
18347         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
18348         readlink, ssize_t, stdint, unistd.
18349         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
18350         areadlink, stdint.
18351
18352         careadlinkat: new module
18353         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
18354         * modules/careadlinkat: New files, written by me with
18355         a review and feedback from Ben Pfaff in
18356         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
18357
18358 2011-04-01  Bruno Haible  <bruno@clisp.org>
18359
18360         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
18361         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
18362         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
18363         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
18364         Reported by Bruce Korb <bruce.korb@gmail.com>.
18365
18366 2011-04-01  Bruno Haible  <bruno@clisp.org>
18367
18368         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
18369         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
18370         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
18371         * modules/wcpcpy (Depends-on): Add extensions.
18372         * modules/wcpncpy (Depends-on): Likewise.
18373         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
18374         systems.
18375         * doc/posix-functions/wcpncpy.texi: Likewise.
18376         * doc/posix-functions/wcwidth.texi: Likewise.
18377
18378 2011-03-31  Eric Blake  <eblake@redhat.com>
18379
18380         nonblocking: fix mingw test failures
18381         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
18382         non-blocking flag on regular file.
18383         (get_nonblocking_flag): Set errno on invalid fd.
18384         * tests/test-nonblocking.c (main): Avoid test failure on
18385         directories if fchdir is not active.
18386         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
18387
18388 2011-03-31  Bruno Haible  <bruno@clisp.org>
18389
18390         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
18391         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
18392         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
18393         Reported by Simon Josefsson <simon@josefsson.org>.
18394
18395 2011-03-31  Bruno Haible  <bruno@clisp.org>
18396         and Eric Blake  <eblake@redhat.com>
18397
18398         nonblocking: new module
18399         * modules/nonblocking: New module.
18400         * modules/nonblocking-tests: Likewise.
18401         * lib/nonblocking.h: New file.
18402         * lib/nonblocking.c: Likewise.
18403         * tests/test-nonblocking.c: New test.
18404         * lib/ioctl.c (ioctl) [mingw]: Update comment.
18405
18406 2011-03-30  Bruno Haible  <bruno@clisp.org>
18407
18408         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
18409         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
18410         instead of 'printf' format for GCC >= 4.4.
18411         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
18412         (fprintf, printf, vfprintf, vprintf): Declare with
18413         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
18414         the system's vfprintf() function.
18415         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
18416
18417 2011-03-30  Eric Blake  <eblake@redhat.com>
18418
18419         passfd: fix scoping bug
18420         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
18421         before sendmsg/recvmsg.
18422
18423         passfd: standardize coding conventions
18424         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
18425         can be learned at compile time.
18426         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
18427         ifdefs.
18428         (sendfd, recvfd): Follow gnulib code conventions.
18429
18430         passfd: fix incorrect sendmsg arguments
18431         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
18432         incorrect msg_controllen value.
18433         * modules/passfd-tests (Depends-on): Check for alarm.
18434         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
18435         Reported by Bastien ROUCARIES.
18436
18437 2011-03-30  Bruno Haible  <bruno@clisp.org>
18438
18439         c-strcasestr: Relicense under LGPLv2+.
18440         * modules/c-strcasestr (License): Change to LGPLv2+.
18441         Requested by Eric Blake, for libvirt.
18442
18443 2011-03-30  Simon Josefsson  <simon@josefsson.org>
18444
18445         * users.txt: Add libidn2.  Fix libtasn1 link.
18446
18447 2011-03-30  Jim Meyering  <meyering@redhat.com>
18448
18449         tests: readlink* ("",... fails with EINVAL on newer kernels
18450         readlink and readlinkat have typically failed with ENOENT for
18451         the invalid, empty file name,  "".  However, with the advent
18452         of linux-2.6.39, they fail with EINVAL.
18453         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
18454         when operating on the empty file name.
18455         * tests/test-readlink.h (test_readlink): Likewise.
18456
18457 2011-03-29  Bruno Haible  <bruno@clisp.org>
18458
18459         Relicense some modules under LGPLv2+, for libidn2.
18460         * modules/array-mergesort (License): Change to LGPLv2+.
18461         * modules/c-strcaseeq (License): Likewise.
18462         * modules/striconveh (License): Likewise.
18463         * modules/striconveha (License): Likewise.
18464         * modules/uniconv/base (License): Likewise.
18465         * modules/uniconv/u8-conv-from-enc (License): Likewise.
18466         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
18467         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
18468         * modules/unictype/base (License): Likewise.
18469         * modules/unictype/bidiclass-of (License): Likewise.
18470         * modules/unictype/category-M (License): Likewise.
18471         * modules/unictype/category-none (License): Likewise.
18472         * modules/unictype/category-of (License): Likewise.
18473         * modules/unictype/category-test (License): Likewise.
18474         * modules/unictype/category-test-withtable (License): Likewise.
18475         * modules/unictype/combining-class (License): Likewise.
18476         * modules/unictype/joiningtype-of (License): Likewise.
18477         * modules/unictype/scripts (License): Likewise.
18478         * modules/uninorm/base (License): Likewise.
18479         * modules/uninorm/canonical-decomposition (License): Likewise.
18480         * modules/uninorm/composition (License): Likewise.
18481         * modules/uninorm/decompose-internal (License): Likewise.
18482         * modules/uninorm/decomposition-table (License): Likewise.
18483         * modules/uninorm/nfc (License): Likewise.
18484         * modules/uninorm/nfd (License): Likewise.
18485         * modules/uninorm/u32-normalize (License): Likewise.
18486         * modules/unistr/base (License): Likewise.
18487         * modules/unistr/u32-cpy (License): Likewise.
18488         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
18489         * modules/unistr/u32-to-u8 (License): Likewise.
18490         * modules/unistr/u32-uctomb (License): Likewise.
18491         * modules/unistr/u8-check (License): Likewise.
18492         * modules/unistr/u8-mblen (License): Likewise.
18493         * modules/unistr/u8-mbtouc (License): Likewise.
18494         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
18495         * modules/unistr/u8-mbtoucr (License): Likewise.
18496         * modules/unistr/u8-prev (License): Likewise.
18497         * modules/unistr/u8-strlen (License): Likewise.
18498         * modules/unistr/u8-to-u32 (License): Likewise.
18499         * modules/unistr/u8-uctomb (License): Likewise.
18500         * modules/unitypes (License): Likewise.
18501         Requested by Simon Josefsson.
18502
18503 2011-03-29  Simon Josefsson  <simon@josefsson.org>
18504
18505         lib-symbol-visibility: Add a notice.
18506         * modules/lib-symbol-visibility (Notice): New field.
18507
18508 2011-03-29  Bruno Haible  <bruno@clisp.org>
18509
18510         getaddrinfo: Doc fix.
18511         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
18512         section "fixed in Gnulib".
18513
18514 2011-03-28  Simon Josefsson  <simon@josefsson.org>
18515
18516         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
18517         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
18518
18519 2011-03-26  Bruno Haible  <bruno@clisp.org>
18520
18521         unictype/property-byname: Reduce the number of load-time relocations.
18522         * lib/unictype/pr_byname.c: Include <stdlib.h>.
18523         (UC_PROPERTY_INDEX_*): New enumeration values.
18524         (uc_property_byname): Convert an index from the lookup table to an
18525         uc_property_t.
18526         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
18527         values.
18528
18529 2011-03-26  Bruno Haible  <bruno@clisp.org>
18530
18531         unictype/property-byname: Allow omitted word separators and aliases.
18532         * lib/unictype/pr_byname.gperf: Add property names without word
18533         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
18534         for 'space'.
18535
18536 2011-03-26  Bruno Haible  <bruno@clisp.org>
18537
18538         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
18539         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
18540         also hyphens to space.
18541         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
18542         without spaces.
18543         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
18544
18545 2011-03-26  Bruno Haible  <bruno@clisp.org>
18546
18547         unictype/joiningtype-byname: Recognize long names as well.
18548         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
18549         a long name.
18550         * lib/unictype/joiningtype_byname.c: Include <string.h>,
18551         unictype/joiningtype_byname.h.
18552         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
18553         * lib/unictype/joiningtype_byname.gperf: New file.
18554         * modules/unictype/joiningtype-byname (Files): Add
18555         lib/unictype/joiningtype_byname.gperf.
18556         (Depends-on): Add gperf.
18557         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
18558         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
18559         long names.
18560
18561         Tests for module 'unictype/joiningtype-longname'.
18562         * modules/unictype/joiningtype-longname-tests: New file.
18563         * tests/unictype/test-joiningtype_longname.c: New file.
18564
18565         New module 'unictype/joiningtype-longname'.
18566         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
18567         * lib/unictype/joiningtype_longname.c: New file.
18568         * modules/unictype/joiningtype-longname: New file.
18569         * modules/unictype/joiningtype-all (Depends-on): Add
18570         unictype/joiningtype-longname.
18571
18572 2011-03-26  Bruno Haible  <bruno@clisp.org>
18573
18574         unictype/bidiclass-byname: Recognize long names as well.
18575         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
18576         name.
18577         * lib/unictype/bidi_byname.c: Include <string.h>,
18578         unictype/bidi_byname.h.
18579         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
18580         * lib/unictype/bidi_byname.gperf: New file.
18581         * modules/unictype/bidiclass-byname (Files): Add
18582         lib/unictype/bidi_byname.gperf.
18583         (Depends-on): Add gperf.
18584         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
18585         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
18586         long names.
18587
18588         Tests for module 'unictype/bidiclass-longname'.
18589         * modules/unictype/bidiclass-longname-tests: New file.
18590         * tests/unictype/test-bidi_longname.c: New file.
18591
18592         New module 'unictype/bidiclass-longname'.
18593         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
18594         * lib/unictype/bidi_longname.c: New file.
18595         * modules/unictype/bidiclass-longname: New file.
18596         * modules/unictype/bidiclass-all (Depends-on): Add
18597         unictype/bidiclass-longname.
18598
18599 2011-03-26  Bruno Haible  <bruno@clisp.org>
18600
18601         unictype/bidi*: Rename modules.
18602         * modules/unictype/bidiclass-all: Renamed from
18603         modules/unictype/bidicategory-all.
18604         * modules/unictype/bidiclass-name: Renamed from
18605         modules/unictype/bidiclass-name.
18606         (Description): Update.
18607         * modules/unictype/bidiclass-name-tests: Renamed from
18608         modules/unictype/bidicategory-name-tests.
18609         * modules/unictype/bidiclass-byname: Renamed from
18610         modules/unictype/bidicategory-byname.
18611         (Description): Update.
18612         * modules/unictype/bidiclass-byname-tests: Renamed from
18613         modules/unictype/bidicategory-byname-tests.
18614         * modules/unictype/bidiclass-of: Renamed from
18615         modules/unictype/bidicategory-of.
18616         (Description): Update.
18617         * modules/unictype/bidiclass-of-tests: Renamed from
18618         modules/unictype/bidicategory-of-tests.
18619         * modules/unictype/bidiclass-test: Renamed from
18620         modules/unictype/bidicategory-test.
18621         (Description): Update.
18622         * modules/unictype/bidiclass-test-tests: Renamed from
18623         modules/unictype/bidicategory-test-tests.
18624         * modules/unictype/bidicategory-all: New file, a simple redirection.
18625         * modules/unictype/bidicategory-name: Likewise.
18626         * modules/unictype/bidicategory-byname: Likewise.
18627         * modules/unictype/bidicategory-of: Likewise.
18628         * modules/unictype/bidicategory-test: Likewise.
18629         * modules/unictype/property-bidi-* (Dependencies): Update.
18630         * lib/unictype/bidi_*.c: Update comment.
18631
18632 2011-03-26  Bruno Haible  <bruno@clisp.org>
18633
18634         unictype/bidi*: Rename functions, part 2.
18635         * modules/unictype/bidicategory-name (configure.ac): Update required
18636         libunistring version.
18637         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
18638
18639 2011-03-25  Bruno Haible  <bruno@clisp.org>
18640
18641         New module 'unictype/combining-class-all'.
18642         * modules/unictype/combining-class-all: New file.
18643
18644         Tests for module 'unictype/combining-class-byname'.
18645         * modules/unictype/combining-class-byname-tests: New file.
18646         * tests/unictype/test-combiningclass_byname.c: New file.
18647
18648         New module 'unictype/combining-class-byname'.
18649         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
18650         * lib/unictype/combiningclass_byname.c: New file.
18651         * lib/unictype/combiningclass_byname.gperf: New file.
18652         * modules/unictype/combining-class-byname: New file.
18653
18654         Tests for module 'unictype/combining-class-longname'.
18655         * modules/unictype/combining-class-longname-tests: New file.
18656         * tests/unictype/test-combiningclass_longname.c: New file.
18657
18658         New module 'unictype/combining-class-longname'.
18659         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
18660         * lib/unictype/combiningclass_longname.c: New file.
18661         * modules/unictype/combining-class-longname: New file.
18662
18663         Tests for module 'unictype/combining-class-name'.
18664         * modules/unictype/combining-class-name-tests: New file.
18665         * tests/unictype/test-combiningclass_name.c: New file.
18666
18667         New module 'unictype/combining-class-name'.
18668         * lib/unictype.in.h (uc_combining_class_name): New declaration.
18669         * lib/unictype/combiningclass_name.c: New file.
18670         * modules/unictype/combining-class-name: New file.
18671
18672 2011-03-25  Bruno Haible  <bruno@clisp.org>
18673
18674         unictype/combining-class: Rename source files.
18675         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
18676         of unictype/combining.h.
18677         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
18678         Update.
18679         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
18680         * modules/unictype/combining-class (Description): Fix.
18681         (Files, Makefile.am): Update.
18682         * tests/unictype/test-combiningclass.c: Renamed from
18683         tests/unictype/test-combining.c.
18684         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
18685
18686 2011-03-25  Bruno Haible  <bruno@clisp.org>
18687
18688         unictype: Update list of canonical combining classes.
18689         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
18690
18691 2011-03-25  Bruno Haible  <bruno@clisp.org>
18692
18693         unictype/category-byname: Recognize long names as well.
18694         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
18695         a long name.
18696         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
18697         unictype/categ_byname.h.
18698         (UC_CATEGORY_INDEX_*): New enumeration values.
18699         (uc_general_category_byname): Use uc_general_category_lookup and
18700         convert from index to value.
18701         * lib/unictype/categ_byname.gperf: New file.
18702         * modules/unictype/category-byname (Files): Add
18703         lib/unictype/categ_byname.gperf.
18704         (Depends-on): Add gperf.
18705         (Makefile.am): Add rule for generating unictype/categ_byname.h.
18706         * tests/unictype/test-categ_byname.c (main): Test the recognition of
18707         long names.
18708
18709         Tests for module 'unictype/category-longname'.
18710         * modules/unictype/category-longname-tests: New file.
18711         * tests/unictype/test-categ_longname.c: New file.
18712
18713         New module 'unictype/category-longname'.
18714         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
18715         * lib/unictype/categ_longname.c: New file.
18716         * modules/unictype/category-longname: New file.
18717         * modules/unictype/category-all (Depends-on): Add it.
18718
18719 2011-03-25  Bruno Haible  <bruno@clisp.org>
18720
18721         Tests for module 'unictype/category-LC'.
18722         * modules/unictype/category-LC-tests: New file.
18723         * tests/unictype/test-categ_LC.c: New file, automatically generated.
18724
18725         New module 'unictype/category-LC'.
18726         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
18727         (UC_CATEGORY_LC): New declaration.
18728         (UC_CASED_LETTER): New macro.
18729         * lib/gen-uni-tables.c (is_category_LC): New function.
18730         (output_categories): Also handle category LC.
18731         (UC_CATEGORY_MASK_LC): New enumeration value.
18732         (general_category_byname): Also handle category LC.
18733         * lib/unictype/categ_LC.c: New file.
18734         * lib/unictype/categ_LC.h: New file, automatically generated.
18735         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
18736         category LC.
18737         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
18738         * modules/unictype/category-LC: New file.
18739         * modules/unictype/category-byname (Depends-on): Add
18740         unictype/category-LC.
18741         * modules/unictype/category-all (Depends-on): Likewise.
18742
18743 2011-03-25  Eric Blake  <eblake@redhat.com>
18744
18745         xmalloc: revert yesterday's regression
18746         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
18747         realloc's underlying behavior (allowing allocation of zero-size
18748         objects, especially if malloc-gnu is also in use).
18749
18750 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
18751
18752         maint.mk: add missing version to VC-tag
18753         * top/maint.mk: git tag was missing actual tag name; add it.
18754
18755         valgrind: do leak checking, and exit with code 1 on error (not 0)
18756         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
18757         to VALGRIND.
18758
18759 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
18760
18761         posix-modules: say what it does.
18762         * posix-modules: Add a line to the --help output saying what it does.
18763
18764 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
18765
18766         xmalloc: Do not leak if underlying realloc is C99 compatible.
18767         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
18768         This avoids a leak on C99-based systems.  See
18769         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
18770
18771 2011-03-24  Eric Blake  <eblake@redhat.com>
18772
18773         realloc: document portability problem
18774         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
18775         passing 0 size to realloc.
18776
18777 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
18778
18779         doc: update users.txt
18780         * users.txt: Add cvsps, tmpwatch
18781
18782 2011-03-23  Matt Rice  <ratmice@gmail.com>
18783
18784         doc: update users.txt
18785         * users.txt: Add gdb.
18786
18787 2011-03-23  Jim Meyering  <meyering@redhat.com>
18788
18789         doc: update users.txt
18790         Looking through matches up to the following URL (there are still
18791         several more pages), I found several projects that use gnulib:
18792         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
18793         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
18794         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
18795
18796 2011-03-22  Bruno Haible  <bruno@clisp.org>
18797
18798         unictype/bidi*: Rename functions.
18799         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
18800         uc_bidi_class, uc_is_bidi_class): New declarations.
18801         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
18802         uc_bidi_category_byname.
18803         (uc_bidi_category_byname): New function.
18804         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
18805         u_bidi_category_name.
18806         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
18807         (uc_bidi_category_name): New function.
18808         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
18809         uc_bidi_category.
18810         (uc_bidi_category): New function.
18811         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
18812         uc_is_bidi_category. Invoke uc_bidi_class.
18813         (uc_is_bidi_category): New function.
18814         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
18815         instead of uc_bidi_category_byname.
18816         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
18817         instead of uc_bidi_category_name.
18818         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
18819         uc_bidi_category.
18820         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
18821         instead of uc_is_bidi_category.
18822
18823 2011-03-21  Bruno Haible  <bruno@clisp.org>
18824
18825         New module 'unictype/joininggroup-all'.
18826         * modules/unictype/joininggroup-all: New file.
18827
18828         Tests for module 'unictype/joininggroup-of'.
18829         * modules/unictype/joininggroup-of-tests: New file.
18830         * tests/unictype/test-joininggroup_of.c: New file.
18831         * tests/unictype/test-joininggroup_of.h: New file, automatically
18832         generated by gen-uni-tables.
18833
18834         New module 'unictype/joininggroup-of'.
18835         * modules/unictype/joininggroup-of: New file.
18836         * lib/unictype/joininggroup_of.c: New file.
18837         * lib/unictype/joininggroup_of.h: New file, automatically generated by
18838         gen-uni-tables.
18839
18840         Tests for module 'unictype/joininggroup-byname'.
18841         * modules/unictype/joininggroup-byname-tests: New file.
18842         * tests/unictype/test-joininggroup_byname.c: New file.
18843
18844         New module 'unictype/joininggroup-byname'.
18845         * modules/unictype/joininggroup-byname: New file.
18846         * lib/unictype/joininggroup_byname.c: New file.
18847         * lib/unictype/joininggroup_byname.gperf: New file.
18848
18849         Tests for module 'unictype/joininggroup-name'.
18850         * modules/unictype/joininggroup-name-tests: New file.
18851         * tests/unictype/test-joininggroup_name.c: New file.
18852
18853         New module 'unictype/joininggroup-name'.
18854         * modules/unictype/joininggroup-name: New file.
18855         * lib/unictype/joininggroup_name.c: New file.
18856         * lib/unictype/joininggroup_name.h: New file.
18857
18858         New module 'unictype/joiningtype-all'.
18859         * modules/unictype/joiningtype-all: New file.
18860
18861         Tests for module 'unictype/joiningtype-of'.
18862         * modules/unictype/joiningtype-of-tests: New file.
18863         * tests/unictype/test-joiningtype_of.c: New file.
18864         * tests/unictype/test-joiningtype_of.h: New file, automatically
18865         generated by gen-uni-tables.
18866
18867         New module 'unictype/joiningtype-of'.
18868         * modules/unictype/joiningtype-of: New file.
18869         * lib/unictype/joiningtype_of.c: New file.
18870         * lib/unictype/joiningtype_of.h: New file, automatically generated by
18871         gen-uni-tables.
18872
18873         Tests for module 'unictype/joiningtype-byname'.
18874         * modules/unictype/joiningtype-byname-tests: New file.
18875         * tests/unictype/test-joiningtype_byname.c: New file.
18876
18877         New module 'unictype/joiningtype-byname'.
18878         * modules/unictype/joiningtype-byname: New file.
18879         * lib/unictype/joiningtype_byname.c: New file.
18880
18881         Tests for module 'unictype/joiningtype-name'.
18882         * modules/unictype/joiningtype-name-tests: New file.
18883         * tests/unictype/test-joiningtype_name.c: New file.
18884
18885         New module 'unictype/joiningtype-name'.
18886         * modules/unictype/joiningtype-name: New file.
18887         * lib/unictype/joiningtype_name.c: New file.
18888
18889         unictype: Add support for Arabic shaping properties.
18890         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
18891         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
18892         declarations.
18893         (UC_JOINING_GROUP_*): New enumeration values.
18894         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
18895         declarations.
18896         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
18897         (unicode_joining_type): New variable.
18898         (UC_JOINING_GROUP_*): New enumeration values.
18899         (unicode_joining_group): New variable.
18900         (fill_arabicshaping, joining_type_as_c_identifier,
18901         output_joining_type_test, output_joining_type,
18902         joining_group_as_c_identifier, output_joining_group_test,
18903         output_joining_group): New functions.
18904         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
18905         fill_arabicshaping and output_joining_type_test, output_joining_type,
18906         output_joining_group_test, output_joining_group.
18907         Reported by Simon Josefsson.
18908
18909 2011-03-21  Jim Meyering  <meyering@redhat.com>
18910
18911         strftime: fix a bug in yesterday's change
18912         * lib/strftime.c (add): Accommodate width's initial value of -1.
18913         Otherwise, nstrftime would copy uninitialized data into
18914         the result buffer.
18915
18916 2011-03-21  Jim Meyering  <meyering@redhat.com>
18917
18918         tests: add strftime-tests module
18919         * tests/test-strftime.c: New file.
18920         * modules/strftime-tests: New module.
18921
18922 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18923
18924         strftime: don't assume a byte count fits in 'int'
18925         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
18926         found this problem by static analysis, using gcc -Wstrict-overflow
18927         (GCC 4.5.2, x86-64).  This reported an optimization that depended
18928         on an integer overflow having undefined behavior, but it turns out
18929         that the argument is a size, which might not fit in 'int' anyway,
18930
18931 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18932
18933         stdio: don't require ignore_value around fwrite
18934
18935         This patch works around libc bug 11959
18936         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
18937         Without this patch, applications must often write
18938         ignore_value (fwrite (...)) even though the ignore_value is
18939         not helpful here.  It's common to write many objects, using
18940         fwrite/printf/etc., and then use ferror to detect output error.
18941
18942         I considered making this patch optional, but decided against it,
18943         because libc is obviously being inconsistent here: there is no
18944         reason libc should insist that user code must inspect fwrite
18945         return's value without also insisting that it inspect printf's,
18946         putchar's, etc.  If user code wants to have a strict style where
18947         all these functions' values are checked (so that ferror need not
18948         be checked), we could add support for that style in a new gnulib
18949         module, but in the meantime it's better to be consistent and to
18950         support common usage.
18951
18952         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
18953         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
18954         that we are compiling in checking mode, and if not C++, and
18955         if not already wrapping fwrite for some other reason.
18956         (fwrite): #define to rpl_fwrite if the latter is defined.
18957
18958 2011-03-20  Bruno Haible  <bruno@clisp.org>
18959
18960         verror: Fix compilation error introduced on 2011-02-13.
18961         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
18962         instead of __attribute__.
18963         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18964
18965 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
18966             Bruno Haible  <bruno@clisp.org>
18967
18968         socklen: do not depend on sys_socket
18969         While trying to modify Emacs to use gnulib's socklen module,
18970         I discovered a circular dependency: socklen depends on sys_socket
18971         and vice versa.  Emacs can use socklen, but it does not need
18972         sys_socket because it has its own substitute for sys/socket.h.
18973         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
18974         gl_TYPE_SOCKLEN_T.
18975         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
18976         gl_PREREQ_SYS_H_SOCKET.
18977         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
18978         gl_PREREQ_SYS_H_SOCKET.
18979         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
18980         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
18981         * modules/socklen (Depends-on): Do not depend on sys_socket.
18982         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
18983
18984 2011-03-20  Jim Meyering  <meyering@redhat.com>
18985
18986         maint.mk: sort file names *after* new transformation
18987         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
18988         prefix would have led to an unwarranted failure in GNU parted.
18989         Sort after that transformation.
18990
18991 2011-03-19  Jim Meyering  <meyering@redhat.com>
18992
18993         maint.mk: fix po-file syntax-check rule
18994         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
18995         Patch by Bruno Haible.
18996
18997 2011-03-19  Bruno Haible  <bruno@clisp.org>
18998
18999         socklen: Update comment.
19000         * m4/socklen.m4: Update comment about platforms.
19001
19002 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19003             Bruno Haible  <bruno@clisp.org>
19004
19005         inet_ntop, inet_pton: Simplify.
19006         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
19007         documented to provide socklen_t and we already depend on sys_socket.
19008         * modules/inet_pton (Depends-on): Likewise.
19009         * lib/arpa_inet.in.h: Adjust comment.
19010
19011 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19012             Bruno Haible  <bruno@clisp.org>
19013
19014         netdb: Simplify.
19015         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
19016         documented to provide socklen_t and we already depend on sys_socket.
19017         * lib/netdb.in.h: Adjust comment.
19018
19019 2011-03-19  Bruno Haible  <bruno@clisp.org>
19020
19021         sys_socket, netdb: Document problem with socklen_t.
19022         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
19023         platforms.
19024         * doc/posix-headers/netdb.texi: Likewise.
19025
19026 2011-03-18  Eric Blake  <eblake@redhat.com>
19027
19028         maint.mk: let po check work in VPATH build
19029         * top/maint.mk (po_file): Allow cfg.mk override.
19030         (sc_po_check): Allow VPATH use.
19031         Reported by Jiri Denemark.
19032
19033 2011-03-16  Jim Meyering  <meyering@redhat.com>
19034
19035         maint.mk: allow fine-grained syntax-check exclusion via Make variables
19036         Before, you would have had to create one .x-sc_ file per rule in order
19037         to exempt offending files.  Now, you may instead use a Make variable --
19038         usually defined in cfg.mk -- whose name identifies the affected rule.
19039         * top/maint.mk (_sc_excl): Define.
19040         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
19041         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
19042
19043 2011-03-13  Bruno Haible  <bruno@clisp.org>
19044
19045         ignore-value tests: Avoid warnings.
19046         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
19047         empty for gcc < 3.4.
19048
19049 2011-03-13  Bruno Haible  <bruno@clisp.org>
19050
19051         passfd: Fix link error on Solaris.
19052         * modules/passfd (Description): Correct.
19053         (Depends-on): Add socketlib.
19054         (Link): New section.
19055         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
19056
19057 2011-03-13  Bruno Haible  <bruno@clisp.org>
19058
19059         passfd: Fix link error on AIX 5.2.
19060         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
19061
19062 2011-03-13  Bruno Haible  <bruno@clisp.org>
19063
19064         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
19065         * lib/sys_socket.in.h: Include <stddef.h>.
19066         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
19067         CMSG_FIRSTHDR. Remove unused variable.
19068
19069 2011-03-13  Bruno Haible  <bruno@clisp.org>
19070
19071         passfd: Fix compilation error on OpenBSD.
19072         * lib/passfd.c: Include <sys/uio.h>.
19073
19074 2011-03-13  Bruno Haible  <bruno@clisp.org>
19075
19076         passfd test: Fix warnings.
19077         * tests/test-passfd.c: Include <sys/wait.h>.
19078         (main): Fix typo.
19079
19080 2011-03-13  Bruno Haible  <bruno@clisp.org>
19081
19082         passfd module, part 4, tweaks.
19083         * tests/test-passfd.c: Reorder includes.
19084         (main): Fix perror and printf calls.
19085
19086 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19087
19088         passfd module, part 4.
19089         * modules/passfd-tests: New file.
19090         * tests/test-passfd.c: New file.
19091
19092 2011-03-13  Jim Meyering  <meyering@redhat.com>
19093
19094         Makefile: rely on GNU make; derive syntax-check rule names
19095         Rather than requiring that each sc_ rule be listed as a dependent
19096         of "check", use features of GNU make to derive the list.
19097         * Makefile (syntax-check-rules): Define.
19098         (check): Depend on the new variable, not the hard-coded list.
19099
19100 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
19101             Bruno Haible  <bruno@clisp.org>
19102
19103         passfd module, part 3.
19104         * lib/passfd.h (recvfd): Add a flags argument.
19105         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
19106         (recvfd): Add a flags argument.
19107         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
19108         exists.
19109         * modules/passfd (Depends-on): Add cloexec.
19110         Suggested by Eric Blake.
19111
19112 2011-03-13  Bruno Haible  <bruno@clisp.org>
19113
19114         passfd module, part 2, tweaks.
19115         * modules/passfd (Files): Reorder.
19116         (Depends-on): Remove errno.
19117         (Include): Remove <sys/socket.h>, <sys/un.h>.
19118         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
19119         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
19120         specification header. Include <sys/socket.h> always. Don't include
19121         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
19122         (sendfd): Clarify that it sets errno when it fails.
19123         (recvfd): Fix specification.
19124
19125 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19126
19127         passfd module, part 2.
19128         * modules/passfd: New file.
19129         * lib/passfd.h: New file.
19130         * lib/passfd.c: New file.
19131
19132 2011-03-12  Bruno Haible  <bruno@clisp.org>
19133
19134         wcswidth, mbswidth: Avoid integer overflow.
19135         * lib/wcswidth.c: Include <limits.h>.
19136         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
19137         * lib/mbswidth.c: Include <limits.h>.
19138         (mbsnwidth): Avoid 'int' overflow.
19139         Reported by Jim Meyering.
19140
19141 2011-03-12  Bruno Haible  <bruno@clisp.org>
19142
19143         futimens, utimensat: Avoid endless recursion on Solaris 10.
19144         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
19145         Solaris.
19146         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
19147         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
19148
19149 2011-03-11  Jim Meyering  <meyering@redhat.com>
19150
19151         maint.mk: relax a regexp to accommodate other formatting styles
19152         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
19153         between "ngettext" and the following "(".
19154
19155 2011-03-11  Pádraig Brady <P@draigBrady.com>
19156
19157         maint.mk: suppress a false positive warning
19158         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
19159         diagnostics are marked with ngettext.
19160
19161 2011-03-10  Eric Blake  <eblake@redhat.com>
19162
19163         wchar: add explicit dependencies, for Tru64
19164         * modules/mbmemcasecoll (Depends-on): Add wchar.
19165         * modules/mbtowc (Depends-on): Likewise.
19166         * modules/vasnprintf (Depends-on): Likewise.
19167         * modules/unistdio/u-printf-args (Depends-on): Likewise.
19168         * modules/wctomb (Depends-on): Likewise.
19169         Reported by Peter O'Gorman.
19170
19171 2011-03-08  Bruno Haible  <bruno@clisp.org>
19172
19173         passfd module, part 1, tweaks.
19174         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
19175         Improve indentation. Improve AC_MSG_CHECKING messages.
19176         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
19177         gl_SOCKET_FAMILIES.
19178
19179 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19180
19181         passfd module, part 1.
19182         * m4/afunix.m4: New file.
19183         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
19184         sockets.
19185
19186 2011-03-08  Bruno Haible  <bruno@clisp.org>
19187
19188         regex-quote: New API.
19189         * lib/regex-quote.h: Include <stdbool.h>.
19190         (struct regex_quote_spec): New type.
19191         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19192         New declarations.
19193         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19194         'const struct regex_quote_spec *' argument.
19195         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
19196         (pcre_special): New constant.
19197         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
19198         New functions.
19199         (regex_quote_length, regex_quote_copy, regex_quote): Take a
19200         'const struct regex_quote_spec *' argument.
19201         * modules/regex-quote (Depends-on): Add stdbool.
19202         * tests/test-regex-quote.c (check): Update for new API. Add test for
19203         anchored results.
19204         * NEWS: Mention the API change.
19205         Reported by Reuben Thomas and Eric Blake.
19206
19207 2011-03-06  Bruno Haible  <bruno@clisp.org>
19208
19209         regex-quote: Fix creation of POSIX extended regular expressions.
19210         * lib/regex-quote.c (ere_special): Add grouping and alternation
19211         operators.
19212
19213 2011-03-05  Bruno Haible  <bruno@clisp.org>
19214
19215         doc: Improve doc regarding autopoint vs. gnulib.
19216         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
19217         disable autopoint while running autoreconf.
19218         Suggested by Ralf Wildenhues.
19219
19220 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19221
19222         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
19223         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
19224
19225 2011-03-03  Bruce Korb  <bkorb@gnu.org>
19226
19227         parse-duration: remove xalloc.h dependency
19228         * lib/parse-duration.c (parse_period): handle NULL return from
19229         strdup instead of calling xstrdup().
19230         * modules/parse-duration: remove "xalloc" dependency
19231
19232 2011-03-03  Matthew Booth  <mbooth@redhat.com>
19233
19234         bootstrap: honor m4_base when running aclocal
19235         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
19236
19237 2011-03-02  Jim Meyering  <meyering@redhat.com>
19238
19239         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
19240         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
19241         on request from Matt Booth.
19242
19243 2011-03-01  Eric Blake  <eblake@redhat.com>
19244
19245         test-link: work on Hurd
19246         * tests/test-link.h (test_link): Hurd rejects linking directories
19247         with EISDIR instead of the POSIX-mandated EPERM.
19248
19249 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
19250
19251         stdio: simplify by moving files to printf-posix, sigpipe
19252         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
19253         since this symbol is needed only if printf is replaced.
19254         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
19255         Require gl_ASM_SYMBOL_PREFIX.
19256         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
19257         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
19258         (Depends-on): Add 'raise'.
19259         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
19260         * modules/stdio (Files): Remove lib/stdio-write.c,
19261         m4/asm-underscore.m4.
19262         (Depends-on): Remove 'raise'.
19263
19264         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
19265         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
19266         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
19267         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
19268
19269 2011-02-28  Bruno Haible  <bruno@clisp.org>
19270
19271         localcharset: Assume ANSI C behaviour of free().
19272         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
19273         calling free().
19274         Suggested by Simon Josefsson <simon@josefsson.org>.
19275
19276 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
19277             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
19278             Bruno Haible  <bruno@clisp.org>  (tiny change)
19279
19280         On Cygwin, use /proc file system instead of win32 API.
19281         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
19282         Win32 file names.
19283         (DllMain): Simplify by removing Cygwin specific code.
19284         (find_shared_library_fullname): Use Linux specific implementation also
19285         for Cygwin.
19286         (get_shared_library_fullname): Update accordingly.
19287         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
19288         Win32 file names.
19289         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
19290         Cygwin specific code.
19291
19292 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
19293             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
19294
19295         Fix OpenMP flag detection for various Fortran compilers.
19296         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
19297         OpenMP-conditional compilation construct, to force compile
19298         failure with missing OpenMP flag.
19299         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
19300
19301 2011-02-25  Eric Blake  <eblake@redhat.com>
19302
19303         strstr: expand test coverage
19304         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
19305         compilation.
19306         * tests/test-memmem.c (main): Duplicate tests.
19307         * tests/test-strcasestr.c (main): Likewise.
19308         * tests/test-c-strcasestr.c (main): Likewise.
19309
19310 2011-02-25  Jim Meyering  <meyering@redhat.com>
19311
19312         maint.mk: detect missing-NL-at-EOF, too
19313         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
19314         it also detects when a file lacks a newline at EOF.
19315         (require_exactly_one_NL_at_EOF_): Renamed from
19316         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
19317         since people may well have .x-sc_... file names tied to the
19318         existing name.  Suggested by Eric Blake.
19319
19320 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
19321
19322         dirname: move m4/dos.m4 functionality into lib/dosname.h
19323
19324         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
19325         extracts symbols from it, puts them into config.h; but it's much
19326         easier to use the symbols directly.  filename.h already does this,
19327         but it disagrees with dos.m4 in some respects.  This patch
19328         introduces a different include file dosname.h that packages up
19329         dos.m4, and then later we can work on merging filename.h and
19330         dosname.h.  Applications that need only the easy-to-configure
19331         symbols should consider including dosname.h rather than dirname.h.
19332         * NEWS: Mention incompatible changes.
19333         * m4/dos.m4: Remove.
19334         * lib/dosname.h, modules/dosname: New files.
19335         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
19336         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
19337         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
19338         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
19339         Include dosname.h, not dirname.h.
19340         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
19341         Include dosname.h, for definitions of symbols like ISSLASH
19342         that used to be in config.h.
19343         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
19344         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19345         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19346         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19347         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
19348         * modules/rmdir (Files): Likewise.
19349         * modules/stat (Files): Likewise.
19350         * modules/unlink (Files): Likewise.
19351         * modules/dirname-lgpl (Depends-on): Add dosname.
19352         * modules/lstat (Depends-on): Likewise.
19353         * modules/openat (Depends-on): Likewise.
19354         * modules/rmdir (Depends-on): Likewise.
19355         * modules/savewd (Depends-on): Likewise.
19356         * modules/stat (Depends-on): Likewise.
19357         * modules/unlink (Depends-on): Likewise.
19358         * modules/openat (Depends-on): Remove dirname-lgpl.
19359         * modules/savewd (Depends-on): Likewise.
19360         * tests/test-dirname.c: Do not use removed symbols like
19361         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
19362         the remaining symbols, e.g., ISSLASH ('\\').
19363
19364 2011-02-25  Eric Blake  <eblake@redhat.com>
19365
19366         strstr: revert patches that introduced bug and pessimization
19367         * lib/str-two-way.h: Add another reference.
19368         (two_way_short_needle, two_way_long_needle): Revert changes from
19369         2011-02-24; they pessimize search speed.
19370         (critical_factorization): Partially revert changes from
19371         2010-06-22; they violate the requirement that the left half of the
19372         needle be smaller than the period of the needle.
19373
19374 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
19375
19376         filenamecat: remove unnecessary dependency on dirname-lgpl
19377         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
19378         is no direct dependency, just an indirect one via filenamecat-lgpl.
19379
19380         remove: remove unnecessary use of m4/dos.m4
19381         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
19382         * modules/remove (FILES): Remove m4/dos.m4.
19383
19384         * lib/openat-proc.c: Don't include dirname.h; not needed.
19385
19386         backupfile: remove unnecessary use of m4/dos.m4
19387         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
19388         of its symbols are used by the backupfile code.  backupfile.c does
19389         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
19390         for the rare case of programs that want all their backup file
19391         names to live within 8+3 limits, and dos.m4 doesn't address that.
19392         * modules/backupfile (Files): Remove m4/dos.m4.
19393
19394 2011-02-24  Jim Meyering  <meyering@redhat.com>
19395
19396         strstr: fix a bug whereby strstr would mistakenly return NULL
19397         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
19398         in period calculation.
19399         (two_way_long_needle): Likewise.
19400         The original problem was reported by Mike Stump in
19401         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
19402         Ralf Wildenhues provided the short needle and haystack.
19403         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
19404         Add a more involved test to trigger the bug in two_way_long_needle.
19405
19406 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19407
19408         gnulib-tool: remove use of bold display in help screen
19409         * gnulib-tool (func_usage): Do not use bold display anymore in the
19410         help screen.  That was just meant to be a temporary emphasis for a
19411         backward-incompatible change.
19412
19413 2011-02-23  Bruno Haible  <bruno@clisp.org>
19414
19415         Fix misindentation of preprocessor directives.
19416         * lib/argp-namefrob.h: Reindent preprocessor directives.
19417         * lib/getopt_int.h (struct _getopt_data): Likewise.
19418         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
19419         * lib/vasnprintf.c (decode_long_double): Likewise.
19420         * tests/test-argmatch.c: Insert blank lines, for clarity.
19421         * tests/test-exclude.c: Likewise.
19422
19423 2011-02-22  Bruno Haible  <bruno@clisp.org>
19424
19425         ioctl: Fix for MacOS X in 64-bit mode.
19426         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
19427         value.
19428         Suggested by Eric Blake.
19429         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
19430
19431 2011-02-22  Jim Meyering  <meyering@redhat.com>
19432
19433         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
19434         * Makefile (sc_cpp_indent_check): Don't limit the check to files
19435         in lib/.
19436
19437 2011-02-22  Eric Blake  <eblake@redhat.com>
19438
19439         maint: avoid any CDPATH issue
19440         * Makefile (sc_cpp_indent_check): Anchor cd argument.
19441
19442         maint: adjust cpp indentation for my modules, as well
19443         * Makefile (sc_cpp_indent_check): Add my name.
19444         * lib/fbufmode.c: Filter through cppi.
19445         * lib/fpurge.c: Likewise.
19446         * lib/freadable.c: Likewise.
19447         * lib/freading.c: Likewise.
19448         * lib/fwritable.c: Likewise.
19449         * lib/fwriting.c: Likewise.
19450         * lib/sigaction.c: Likewise.
19451
19452 2011-02-22  Jim Meyering  <meyering@redhat.com>
19453
19454         maint: adjust cpp indentation to reflect nesting depth
19455         I.e., in a block of code that begins with an unnested "#if",
19456         put one space between the "#" in column 1 and following token.
19457         For example,
19458         -#include <sys/vfs.h>
19459         +# include <sys/vfs.h>
19460         Do this only in .c files that are part of a module I maintain.
19461         * lib/linkat.c: Filter through cppi.
19462         * lib/nanosleep.c: Likewise.
19463         * lib/openat.c: Likewise.
19464         * lib/openat-die.c: Likewise.
19465         * lib/dup3.c: Likewise.
19466         * lib/fchownat.c: Likewise.
19467         * lib/flock.c: Likewise.
19468         * lib/fsync.c: Likewise.
19469         * lib/fts.c: Likewise.
19470         * lib/getpass.c: Likewise.
19471         * lib/gettimeofday.c: Likewise.
19472         * lib/userspec.c: Likewise.
19473         * Makefile (sc_cpp_indent_check): New rule, to check this.
19474
19475 2011-02-22  Bruno Haible  <bruno@clisp.org>
19476
19477         New module 'wctomb'.
19478         * lib/stdlib.in.h (wctomb): New declaration.
19479         * lib/wctomb.c: New file.
19480         * lib/wctomb-impl.h: New file.
19481         * m4/wctomb.m4: New file.
19482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
19483         REPLACE_WCTOMB.
19484         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
19485         REPLACE_WCTOMB.
19486         * modules/wctomb: New file.
19487         * tests/test-stdlib-c++.cc: Test signature of wctomb.
19488         * doc/posix-functions/wctomb.texi: Mention the new module.
19489         * modules/wctob (Depends-on): Add wctomb.
19490
19491 2011-02-22  Bruno Haible  <bruno@clisp.org>
19492
19493         New module 'mbtowc'.
19494         * lib/stdlib.in.h (mbtowc): New declaration.
19495         * lib/mbtowc.c: New file.
19496         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
19497         * m4/mbtowc.m4: New file.
19498         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
19499         REPLACE_MBTOWC.
19500         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
19501         REPLACE_MBTOWC.
19502         * modules/mbtowc: New file.
19503         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
19504         * doc/posix-functions/mbtowc.texi: Mention the new module.
19505         * modules/btowc (Depends-on): Add mbtowc.
19506
19507 2011-02-22  Bruno Haible  <bruno@clisp.org>
19508
19509         wcrtomb: Add more tests for native Windows platforms.
19510         * tests/test-wcrtomb-w32-1.sh: New file.
19511         * tests/test-wcrtomb-w32-2.sh: New file.
19512         * tests/test-wcrtomb-w32-3.sh: New file.
19513         * tests/test-wcrtomb-w32-4.sh: New file.
19514         * tests/test-wcrtomb-w32-5.sh: New file.
19515         * tests/test-wcrtomb-w32.c: New file.
19516         * modules/wcrtomb-tests (Files): Add them.
19517         (Makefile.am): Arrange to run these tests.
19518         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
19519         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
19520
19521 2011-02-20  Bruno Haible  <bruno@clisp.org>
19522
19523         wcrtomb: Enhance test.
19524         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
19525
19526 2011-02-20  Bruno Haible  <bruno@clisp.org>
19527
19528         mbrtowc: Tiny optimization.
19529         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
19530
19531 2011-02-20  Jim Meyering  <meyering@redhat.com>
19532
19533         test-exclude.c: remove unmatched #endif
19534         * tests/test-exclude.c: Remove stray #endif, left over from
19535         the change of a week ago.
19536
19537 2011-02-19  Jim Meyering  <meyering@redhat.com>
19538
19539         git-version-gen: skip "-dirty" check when appropriate
19540         * build-aux/git-version-gen: Don't run any git commands when the
19541         version string comes from .tarball-version.  Prior to this, we
19542         would run git update-index --refresh even from a just-unpacked
19543         tarball directory, and that could affect a .git/ directory in a
19544         parent of the build directory.  Reported by Mike Frysinger.
19545
19546 2011-02-19  Bruno Haible  <bruno@clisp.org>
19547
19548         unictype/property-byname: Reduce the size of the 'data' segment.
19549         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
19550
19551 2011-02-19  Bruno Haible  <bruno@clisp.org>
19552
19553         unictype/scripts: Reduce the size of the 'data' segment.
19554         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
19555         '%pic'.
19556         * lib/unictype/scripts_byname.gperf: Regenerated.
19557
19558 2011-02-19  Bruno Haible  <bruno@clisp.org>
19559
19560         stdint: Update documentation.
19561         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
19562
19563 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
19564
19565         stdint: omit redundant check for wchar.h
19566         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
19567         always tests whether wchar.h exists, so remove the now-redundant test.
19568
19569 2011-02-18  Bruno Haible  <bruno@clisp.org>
19570
19571         stdint: Cut dependency to module 'wchar'.
19572         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
19573         include the necessary prerequisites.
19574         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
19575         * modules/stdint (Depends-on): Remove wchar.
19576         (Makefile.am): Substitute HAVE_WCHAR_H.
19577         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
19578
19579 2011-02-18  Eric Blake  <eblake@redhat.com>
19580
19581         longlong: skip, rather than fail, on cross-compilation
19582         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
19583         when cross-compiling; regression from 2011-02-16.
19584
19585 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19586
19587         * NEWS: Mention 2011-02-08 change to stdlib.
19588
19589 2011-02-17  Bruno Haible  <bruno@clisp.org>
19590
19591         getloadavg: Add comments about platforms.
19592         * m4/getloadavg.m4: Add comment.
19593         * lib/getloadavg.c: Likewise.
19594
19595 2011-02-17  Bruno Haible  <bruno@clisp.org>
19596
19597         getloadavg: Fix link error on Solaris 2.6.
19598         * modules/getloadavg (Link): New section.
19599         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
19600         linking test-getloadavg.
19601         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
19602         getloadavg.
19603
19604 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
19605
19606         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
19607         It was 'int', but this doesn't match the IRIX 6.5 manual.
19608         Suggested by Bruno Haible in
19609         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
19610
19611 2011-02-17  Bruno Haible  <bruno@clisp.org>
19612
19613         havelib: Fix comments.
19614         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
19615         change.
19616
19617 2011-02-17  Bruno Haible  <bruno@clisp.org>
19618
19619         havelib: Update config.rpath.
19620         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
19621
19622 2011-02-17  Bruno Haible  <bruno@clisp.org>
19623
19624         getloadavg test: Add some plausibility checks.
19625         * tests/test-getloadavg.c (check_avg): Print a warning when the value
19626         is improbable.
19627
19628 2011-02-16  Eric Blake  <eblake@redhat.com>
19629
19630         maintainer-makefile: make syntax-check a no-op from tarballs
19631         * top/maint.mk (no-vc-detected): New rule.
19632         (local-checks-available): Use it to avoid hanging if someone tries
19633         'make syntax-check' from a tarball.  Also append to any non-syntax
19634         checks already defined in cfg.mk.
19635
19636 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
19637
19638         longlong: tune, particularly for common case of c99
19639
19640         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
19641         or running anything if c99, or if unsigned long long int does not
19642         work.  In either case, we know the answer without further tests.
19643         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
19644         it at most once, and use its results for both long long int and
19645         unsigned long long int.  This is more likely to be efficient in
19646         the common case where the program wants to check for both long
19647         long int and unsigned long long int.
19648         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
19649         since the answer is already known.
19650
19651 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
19652
19653         getloadavg: set errno
19654         * lib/getloadavg.c: Set errno when returning -1.  If no other
19655         error number looks appropriate, set it to ENOSYS if the getloadavg
19656         looks like it can't possibly ever work, ENOTSUP otherwise.
19657         Suggested by Bruno Haible in
19658         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
19659
19660         getloadavg: trim unused parts and speed up 'configure'
19661         * NEWS: Document this.
19662         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
19663         always compiled if getloadavg is absent.
19664         Move test code to ...
19665         * tests/test-getloadavg.c: New file, containing previous
19666         contents of test from lib/getloadavg.c.  It also contains
19667         suggestions by Bruno Haible in
19668         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
19669         * modules/getloadavg-tests: New file.
19670         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
19671         Do tests in the same order as they're needed for getloadavg.c.
19672         Omit setgid-related tests that generate symbols KMEM_GROUP,
19673         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
19674         Do only the tests that are needed to see whether the system has
19675         getloadavg, moving the other tests into ...
19676         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
19677         NLIST_NAME_UNION; nobody should be using it.  Do not define
19678         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
19679         relevant, as the user of this module shouldn't care how getloadavg
19680         is implemented.
19681
19682         getloadavg: omit unused var
19683         * lib/getloadavg.c (getloadavg): Omit unused local variable.
19684
19685 2011-02-15  Jim Meyering  <meyering@redhat.com>
19686
19687         doc: update users.txt
19688         * users.txt: Update iwhd's URL.
19689
19690 2011-02-13  Bruno Haible  <bruno@clisp.org>
19691
19692         Consistent macro naming for macros that use GCC __attribute__.
19693         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
19694         _ATTRIBUTE_NONNULL_.
19695         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
19696         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
19697         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
19698         ATTRIBUTE_DEPRECATED.
19699         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
19700         ATTRIBUTE_NORETURN.
19701         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19702         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19703         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19704         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
19705         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
19706         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
19707         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
19708         ATTRIBUTE_SENTINEL.
19709         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
19710         ATTRIBUTE_RETURN_CHECK.
19711         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
19712         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
19713         ATTRIBUTE_NORETURN.
19714         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
19715         Reported by Paul Eggert.
19716
19717 2011-02-13  Bruno Haible  <bruno@clisp.org>
19718
19719         Don't interfere with a program's definition of __attribute__.
19720         * lib/argp.h (__attribute__): Remove definition.
19721         (_GL_ATTRIBUTE_FORMAT): New macro.
19722         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
19723         * lib/argp-fmtstream.h (__attribute__): Remove definition.
19724         (_GL_ATTRIBUTE_FORMAT): New macro.
19725         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
19726         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
19727         GCC 3 or newer.
19728         * lib/error.h (__attribute__): Remove definition.
19729         (_GL_ATTRIBUTE_FORMAT): New macro.
19730         (error, error_at_line): Use it.
19731         * lib/hash.h (__attribute__): Remove definition.
19732         (ATTRIBUTE_WUR): Update definition. Define always.
19733         * lib/openat.h (__attribute__): Remove definition.
19734         (ATTRIBUTE_NORETURN): Update definition. Define always.
19735         * lib/sigpipe-die.h (__attribute__): Remove definition.
19736         (ATTRIBUTE_NORETURN): Update definition. Define always.
19737         * lib/vasnprintf.h (__attribute__): Remove definition.
19738         (_GL_ATTRIBUTE_FORMAT): New macro.
19739         (asnprintf, vasnprintf): Use it.
19740         * lib/xalloc.h (__attribute__): Remove definition.
19741         (ATTRIBUTE_NORETURN): Update definition. Define always.
19742         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
19743         * lib/xmemdup0.h (__attribute__): Remove definition.
19744         (ATTRIBUTE_NORETURN): Update definition. Define always.
19745         * lib/xprintf.h (__attribute__): Remove definition.
19746         (_GL_ATTRIBUTE_FORMAT): New macro.
19747         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
19748         * lib/xstrtol.h (__attribute__): Remove definition.
19749         (ATTRIBUTE_NORETURN): Update definition. Define always.
19750         * lib/xvasprintf.h (__attribute__): Remove definition.
19751         (_GL_ATTRIBUTE_FORMAT): New macro.
19752         (xasprintf, xvasprintf): Use it.
19753         * tests/test-argmatch.c (__attribute__): Remove definition.
19754         (ATTRIBUTE_NORETURN): Update definition. Define always.
19755         * tests/test-exclude.c (__attribute__): Remove definition.
19756         (ATTRIBUTE_NORETURN): Update definition. Define always.
19757         Reported by Paul Eggert.
19758
19759 2011-02-13  Bruno Haible  <bruno@clisp.org>
19760
19761         mbrtowc: Add more tests for native Windows platforms.
19762         * tests/test-mbrtowc-w32-1.sh: New file.
19763         * tests/test-mbrtowc-w32-2.sh: New file.
19764         * tests/test-mbrtowc-w32-3.sh: New file.
19765         * tests/test-mbrtowc-w32-4.sh: New file.
19766         * tests/test-mbrtowc-w32-5.sh: New file.
19767         * tests/test-mbrtowc-w32.c: New file.
19768         * modules/mbrtowc-tests (Files): Add them.
19769         (Makefile.am): Arrange to run these tests.
19770         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
19771         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
19772
19773 2011-02-13  Bruno Haible  <bruno@clisp.org>
19774
19775         mbrtowc: Work around native Windows bug.
19776         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
19777         guess when no suitable locale for testing was found.
19778         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
19779
19780 2011-02-13  Bruno Haible  <bruno@clisp.org>
19781
19782         mbsinit: Work around mingw bug.
19783         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
19784         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
19785         Windows.
19786         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
19787
19788 2011-02-13  Bruno Haible  <bruno@clisp.org>
19789
19790         mbsinit: Don't crash for a NULL argument.
19791         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
19792         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
19793
19794 2011-02-13  Bruno Haible  <bruno@clisp.org>
19795
19796         Don't interfere with a program's definition of __attribute__.
19797         * lib/stdio.in.h (__attribute__): Remove definition.
19798         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
19799         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
19800         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
19801         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
19802         * lib/string.in.h (__attribute__): Remove definition.
19803         Reported by Paul Eggert.
19804
19805 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19806
19807         stdlib: don't get in the way of non-GCC __attribute__
19808         See thread starting at
19809         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
19810         Revert previous stdlib change, installing the following instead:
19811         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
19812         to get in the way of a non-GCC compiler that supports __attribute__.
19813         (_GL_ATTRIBUTE_RETURN): New macro.
19814         (_Exit): Use it instead of __attribute__.
19815
19816 2011-02-12  Bruno Haible  <bruno@clisp.org>
19817
19818         quotearg test: Avoid test failure on mingw.
19819         * tests/test-quotearg.sh: Convert the locale identifier from native
19820         Windows syntax to Unix syntax.
19821
19822 2011-02-12  Bruno Haible  <bruno@clisp.org>
19823
19824         setlocale: Prefer gnulib's override over libintl's override.
19825         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
19826         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
19827         GNULIB_defined_setlocale is set.
19828
19829 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
19830
19831         stdlib: support non-GCC __attribute__
19832
19833         Fix a serious and tricky problem encountered when attempting to
19834         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
19835         5.5, but it crashed due to memory corruption on Solaris 10 with
19836         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
19837         bits that are otherwise zero.  This tagging is optional inside
19838         Emacs but is preferred and is used when __attribute__ ((__aligned
19839         (8))) works, as it does with both recent-enough GCC and with Sun C
19840         5.11.  However, Sun C 5.11 is not GCC and does not #define
19841         __GNUC__ and __GNUC_MINOR__.
19842
19843         When I added the getloadavg module to Emacs, it brought in
19844         stdlib.in.h, which contained this fragment:
19845
19846            #ifndef __attribute__
19847            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
19848            #  define __attribute__(Spec)   /* empty */
19849            # endif
19850            #endif
19851
19852         When files that include <stdlib.h> were compiled with Sun C 5.11,
19853         the above code disabled __attribute__ ((__aligned (8))), which
19854         caused variables to not be properly aligned, which eventually led
19855         to the pointer corruption mentioned above.  (This was a bit hard
19856         to diagnose, unfortunately.)
19857
19858         Several "#define __attribute__(X) /* empty */" code snippets need
19859         to be eradicated from Gnulib to work with non-GCC compilers that
19860         support __attribute__.  The Autoconf way to do this is to test for
19861         each kind of attribute that we want support for, and selectively
19862         enable that in source code.
19863
19864         Fix this problem just for stdlib.h, by adding a test for the
19865         __noreturn__ attribute, and change stdlib.in.h to use that test
19866         when needed.  This technique can be easily generalized to the
19867         other *.in.h files and attributes, and a similar technique can be
19868         used for *.h and *.c files.  This patch is enough to solve the
19869         problem for Emacs + getloadavg, and I thought I'd publish it for
19870         feedback before undertaking further, similar fixes in other
19871         modules.
19872
19873         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
19874         because it's not needed for stdlib.h.  It merely substitutes the
19875         value directly into stdlib.h.  We may well need to #define it, or
19876         similar symbols, for other modules, but it's nice to also have an
19877         option to not #define it for applications like Emacs that do not
19878         need it.
19879
19880         * lib/stdlib.in.h (__attribute__): Do not #define.
19881         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
19882         be defined only if the _Exit module is also used.
19883         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
19884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
19885         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
19886         platforms.
19887         * modules/_Exit (Files): Add m4/attribute.m4.
19888         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
19889         * m4/attribute.m4: New file.
19890
19891 2011-02-12  Bruno Haible  <bruno@clisp.org>
19892
19893         wcsrtombs: Work around bug on native Windows.
19894         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
19895         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
19896         instead of len.
19897         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
19898
19899 2011-02-12  Bruno Haible  <bruno@clisp.org>
19900
19901         mbsrtowcs: Work around bug on native Windows.
19902         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
19903         against mingw bug.
19904         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
19905
19906 2011-02-12  Bruno Haible  <bruno@clisp.org>
19907
19908         Avoid setlocale bugs in tests.
19909         * modules/btowc (Dependencies): Add setlocale.
19910         * modules/c-strcase (Dependencies): Likewise.
19911         * modules/mbmemcasecmp (Dependencies): Likewise.
19912         * modules/mbmemcasecoll (Dependencies): Likewise.
19913         * modules/mbrtowc (Dependencies): Likewise.
19914         * modules/mbscasecmp (Dependencies): Likewise.
19915         * modules/mbscasestr (Dependencies): Likewise.
19916         * modules/mbschr (Dependencies): Likewise.
19917         * modules/mbscspn (Dependencies): Likewise.
19918         * modules/mbsinit (Dependencies): Likewise.
19919         * modules/mbsncasecmp (Dependencies): Likewise.
19920         * modules/mbsnrtowcs (Dependencies): Likewise.
19921         * modules/mbspbrk (Dependencies): Likewise.
19922         * modules/mbspcasecmp (Dependencies): Likewise.
19923         * modules/mbsrchr (Dependencies): Likewise.
19924         * modules/mbsrtowcs (Dependencies): Likewise.
19925         * modules/mbsspn (Dependencies): Likewise.
19926         * modules/mbsstr (Dependencies): Likewise.
19927         * modules/nl_langinfo (Dependencies): Likewise.
19928         * modules/quotearg (Dependencies): Likewise.
19929         * modules/unicase/locale-language (Dependencies): Likewise.
19930         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
19931         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
19932         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
19933         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
19934         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
19935         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
19936         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
19937         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
19938         * modules/vasnprintf-posix (Dependencies): Likewise.
19939         * modules/wcrtomb (Dependencies): Likewise.
19940         * modules/wcsnrtombs (Dependencies): Likewise.
19941         * modules/wcsrtombs (Dependencies): Likewise.
19942
19943 2011-02-12  Bruno Haible  <bruno@clisp.org>
19944
19945         setlocale: Workaround native Windows bug.
19946         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
19947         succeeds but sets LC_CTYPE to "C", report a failure.
19948         * tests/test-setlocale2.sh: New file.
19949         * tests/test-setlocale2.c: New file.
19950         * modules/setlocale-tests (Files): Add the new files.
19951         (Makefile.am): Enable test-setlocale2.sh test.
19952         * doc/posix-functions/setlocale.texi: Mention workaround.
19953
19954 2011-02-11  Bruno Haible  <bruno@clisp.org>
19955
19956         Tests for module 'setlocale'.
19957         * modules/setlocale-tests: New file.
19958         * tests/test-setlocale1.sh: New file.
19959         * tests/test-setlocale1.c: New file.
19960
19961         New module 'setlocale'.
19962         * lib/locale.in.h (setlocale): New declaration.
19963         * lib/setlocale.c: New file, based on
19964         gettext/gettext-runtime/intl/setlocale.c.
19965         * m4/setlocale.m4: New file.
19966         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
19967         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
19968         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
19969         REPLACE_SETLOCALE.
19970         * modules/setlocale: New file.
19971         * tests/test-locale-c++.cc: Test the declaration of setlocale.
19972         * doc/posix-functions/setlocale.texi: Mention the new module.
19973
19974 2011-02-11  Bruno Haible  <bruno@clisp.org>
19975
19976         Prepare for locale dependent tests on mingw.
19977         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
19978         because it has the wrong locale encoding.
19979         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
19980         French_France.1252 instead of "fr".
19981         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
19982         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
19983         because it has the wrong locale encoding.
19984         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
19985         native Windows, try Turkish_Turkey.65001.
19986         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
19987         Chinese_China.54936.
19988
19989         Prepare for locale dependent tests on mingw.
19990         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
19991         differently.
19992         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19993         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19994         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19995         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19996
19997 2011-02-11  Eric Blake  <eblake@redhat.com>
19998
19999         strptime: avoid compiler warnings
20000         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
20001         compiler warnings about dead code.
20002         Reported by Daniel P. Berrange.
20003
20004 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
20005
20006         doc: update users.txt
20007         * users.txt: Add rcs.
20008
20009 2011-02-10  John W. Eaton  <jwe@gnu.org>
20010
20011         doc: update users.txt
20012         * users.txt: Add octave.
20013
20014 2011-02-10  Jim Meyering  <meyering@redhat.com>
20015
20016         doc: update users.txt
20017         * users.txt: Add iwhd.
20018
20019 2011-02-09  Bruno Haible  <bruno@clisp.org>
20020
20021         gnulib-tool: Make copyright notice adjustment more robust.
20022         * gnulib-tool (func_import): In sed_transform_main_lib_file,
20023         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
20024         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
20025         License".
20026         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
20027
20028 2011-02-06  Bruno Haible  <bruno@clisp.org>
20029
20030         New module 'towctrans'.
20031         * modules/towctrans: New file.
20032         * lib/wctype.in.h (towctrans): New declaration.
20033         * lib/towctrans.c: New file.
20034         * lib/towctrans-impl.h: New file.
20035         * m4/towctrans.m4: New file.
20036         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
20037         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
20038         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
20039         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
20040         * doc/posix-functions/towctrans.texi: Mention the new module.
20041
20042 2011-02-06  Bruno Haible  <bruno@clisp.org>
20043
20044         New module 'wctrans'.
20045         * modules/wctrans: New file.
20046         * lib/wctype.in.h (wctrans): New declaration.
20047         * lib/wctrans.c: New file.
20048         * lib/wctrans-impl.h: New file.
20049         * m4/wctrans.m4: New file.
20050         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
20051         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
20052         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
20053         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
20054         * doc/posix-functions/wctrans.texi: Mention the new module.
20055
20056 2011-02-06  Bruno Haible  <bruno@clisp.org>
20057
20058         New module 'iswctype'.
20059         * modules/iswctype: New file.
20060         * lib/wctype.in.h (iswctype): New declaration.
20061         * lib/iswctype.c: New file.
20062         * lib/iswctype-impl.h: New file.
20063         * m4/iswctype.m4: New file.
20064         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
20065         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
20066         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
20067         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
20068         * doc/posix-functions/iswctype.texi: Mention the new module and the
20069         HP-UX 11.00 problem.
20070
20071 2011-02-06  Bruno Haible  <bruno@clisp.org>
20072
20073         New module 'wctype'.
20074         * modules/wctype: Change to represent the wctype() substitute.
20075         * lib/wctype.in.h (wctype): New declaration.
20076         * lib/wctype.c: New file.
20077         * lib/wctype-impl.h: New file.
20078         * m4/wctype.m4: New file.
20079         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
20080         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
20081         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
20082         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
20083         * doc/posix-functions/wctype.texi: Mention the new module and the
20084         HP-UX 11.00 problem.
20085
20086 2011-02-06  Bruno Haible  <bruno@clisp.org>
20087
20088         wctype-h: Ensure wctype_t and wctrans_t are defined.
20089         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
20090         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20091         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20092         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
20093         HAVE_WCTRANS_T.
20094         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
20095
20096 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
20097
20098         flock: fix license typo
20099
20100         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
20101         omitted.
20102
20103 2011-02-08  Bruno Haible  <bruno@clisp.org>
20104
20105         Split large sed scripts, for HP-UX sed.
20106         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
20107         to avoid HP-UX limit of 99 commands, in the near future.
20108         * modules/stdlib (Makefile.am): Likewise.
20109         * modules/unistd (Makefile.am): Likewise.
20110         * modules/wchar (Makefile.am): Likewise.
20111         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20112         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
20113         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
20114
20115 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20116             Bruno Haible  <bruno@clisp.org>
20117
20118         stdlib: improve random_r modularization
20119         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
20120         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
20121         you also need the random_r module to get this material right.
20122         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
20123         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
20124         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
20125
20126 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20127
20128         stdlib: don't depend on stdint
20129         * lib/stdlib.in.h: Don't include <stdint.h> merely because
20130         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
20131         be independent of whether stdint.h is needed.
20132         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
20133         here, instead of ...
20134         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
20135         struct random_data should be using the random_r module, not just
20136         the stdlib module (which wouldn't make sense: what package needs
20137         just struct random_data without also needing random_r?).
20138         * modules/stdlib (Depends-on): Remove stdint.
20139
20140         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
20141         See the thread rooted at
20142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
20143         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
20144         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
20145         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
20146         __VMS)); previously it was always included (via fcntl--.h).
20147         (getloadavg): Do not use c_strtod.  Instead, approximate it by
20148         hand; this is good enough for load averages.  Also, do not use
20149         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
20150         flags directly if available and don't bother otherwise.  (Packages
20151         that need the extra reliability should use the modules that define
20152         these flags on older platforms that lack them.)
20153         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
20154         fcntl-safer.
20155
20156 2011-02-08  Jim Meyering  <meyering@redhat.com>
20157
20158         di-set.h, ino-map.h: add multiple-inclusion guard
20159         Technically, the guard is required only for ino-map.h, due to its
20160         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
20161         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
20162         * lib/ino-map.h: Likewise.
20163
20164 2011-02-06  Bruno Haible  <bruno@clisp.org>
20165
20166         iswblank: Ensure declaration on glibc systems.
20167         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
20168         * modules/iswblank (Dependencies): Add 'extensions'.
20169         * doc/posix-functions/iswblank.texi: Document the glibc problem.
20170
20171 2011-02-06  Bruno Haible  <bruno@clisp.org>
20172
20173         New module 'iswblank'.
20174         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
20175         * modules/iswblank: New file.
20176         * modules/wctype-h (Files): Remove lib/iswblank.c.
20177         (Makefile.am): Substitute GNULIB_ISWBLANK.
20178         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
20179         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
20180         (gl_WCTYPE_H_DEFAULTS): New macro.
20181         (gl_WCTYPE_H): Require it. Remove iswblank related code.
20182         * modules/iswblank-tests: New file.
20183         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
20184         * tests/test-wctype-h.c (main): Remove iswblank tests.
20185         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
20186         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
20187         of 'wctype-h'.
20188         * NEWS: Mention the change.
20189         * modules/mbchar (Depends-on): Add iswblank.
20190
20191 2011-02-08  Bruno Haible  <bruno@clisp.org>
20192
20193         di-set tests: Refactor.
20194         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
20195         unnecessary includes.
20196         (ASSERT): Remove macro.
20197         (main): Make C90 compliant by avoiding variable declaration after
20198         statement.
20199         * modules/di-set-tests (Files): Add tests/macros.h.
20200
20201 2011-02-08  Bruno Haible  <bruno@clisp.org>
20202
20203         ino-map tests: Refactor.
20204         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
20205         unnecessary includes.
20206         (ASSERT): Remove macro.
20207         (main): Make C90 compliant by avoiding variable declaration after
20208         statement.
20209         * modules/ino-map-tests (Files): Add tests/macros.h.
20210
20211 2011-02-08  Jim Meyering  <meyering@redhat.com>
20212
20213         di-set: add "const" to a cast
20214         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
20215         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
20216
20217 2011-02-06  Bruno Haible  <bruno@clisp.org>
20218
20219         Rename module 'wctype' to 'wctype-h'.
20220         * modules/wctype-h: Renamed from modules/wctype.
20221         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
20222         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
20223         (Files, Depends-on, Makefile.am): Update.
20224         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
20225         (Files, Makefile.am): Update.
20226         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
20227         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
20228         * doc/posix-headers/wctype.texi: Update.
20229         * doc/posix-functions/iswalnum.texi: Update.
20230         * doc/posix-functions/iswalpha.texi: Update.
20231         * doc/posix-functions/iswblank.texi: Update.
20232         * doc/posix-functions/iswcntrl.texi: Update.
20233         * doc/posix-functions/iswdigit.texi: Update.
20234         * doc/posix-functions/iswgraph.texi: Update.
20235         * doc/posix-functions/iswlower.texi: Update.
20236         * doc/posix-functions/iswprint.texi: Update.
20237         * doc/posix-functions/iswpunct.texi: Update.
20238         * doc/posix-functions/iswspace.texi: Update.
20239         * doc/posix-functions/iswupper.texi: Update.
20240         * doc/posix-functions/iswxdigit.texi: Update.
20241         * doc/posix-functions/towlower.texi: Update.
20242         * doc/posix-functions/towupper.texi: Update.
20243         * NEWS: Mention the change.
20244         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
20245         * modules/mbchar (Dependencies): Likewise.
20246         * modules/mbswidth (Dependencies): Likewise.
20247         * modules/quotearg (Dependencies): Likewise.
20248         * modules/regex (Dependencies): Likewise.
20249         * modules/wcscasecmp (Dependencies): Likewise.
20250         * modules/wcsncasecmp (Dependencies): Likewise.
20251         * modules/wcwidth (Dependencies): Likewise.
20252
20253 2011-02-06  Bruno Haible  <bruno@clisp.org>
20254
20255         New module 'wcswidth'.
20256         * modules/wcswidth: New file.
20257         * lib/wchar.in.h (wcswidth): New declaration.
20258         * lib/wcswidth.c: New file.
20259         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
20260         * m4/wcswidth.m4: New file.
20261         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
20262         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
20263         REPLACE_WCSWIDTH.
20264         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
20265         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
20266         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
20267         * doc/posix-functions/wcswidth.texi: Mention the new module.
20268
20269 2011-02-06  Bruno Haible  <bruno@clisp.org>
20270
20271         New module 'wcstok'.
20272         * modules/wcstok: New file.
20273         * lib/wchar.in.h (wcstok): New declaration.
20274         * lib/wcstok.c: New file.
20275         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
20276         * m4/wcstok.m4: New file.
20277         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
20278         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
20279         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
20280         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
20281         * doc/posix-functions/wcstok.texi: Mention the new module.
20282
20283 2011-02-06  Bruno Haible  <bruno@clisp.org>
20284
20285         New module 'wcsstr'.
20286         * modules/wcsstr: New file.
20287         * lib/wchar.in.h (wcsstr): New declaration.
20288         * lib/wcsstr.c: New file.
20289         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
20290         * m4/wcsstr.m4: New file.
20291         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
20292         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
20293         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
20294         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
20295         * doc/posix-functions/wcsstr.texi: Mention the new module.
20296
20297 2011-02-06  Bruno Haible  <bruno@clisp.org>
20298
20299         New module 'wcspbrk'.
20300         * modules/wcspbrk: New file.
20301         * lib/wchar.in.h (wcspbrk): New declaration.
20302         * lib/wcspbrk.c: New file.
20303         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
20304         * m4/wcspbrk.m4: New file.
20305         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
20306         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
20307         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
20308         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
20309         * doc/posix-functions/wcspbrk.texi: Mention the new module.
20310
20311 2011-02-06  Bruno Haible  <bruno@clisp.org>
20312
20313         New module 'wcsspn'.
20314         * modules/wcsspn: New file.
20315         * lib/wchar.in.h (wcsspn): New declaration.
20316         * lib/wcsspn.c: New file.
20317         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
20318         * m4/wcsspn.m4: New file.
20319         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
20320         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
20321         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
20322         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
20323         * doc/posix-functions/wcsspn.texi: Mention the new module.
20324
20325 2011-02-06  Bruno Haible  <bruno@clisp.org>
20326
20327         New module 'wcscspn'.
20328         * modules/wcscspn: New file.
20329         * lib/wchar.in.h (wcscspn): New declaration.
20330         * lib/wcscspn.c: New file.
20331         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
20332         * m4/wcscspn.m4: New file.
20333         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
20334         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
20335         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
20336         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
20337         * doc/posix-functions/wcscspn.texi: Mention the new module.
20338
20339 2011-02-06  Bruno Haible  <bruno@clisp.org>
20340
20341         New module 'wcsrchr'.
20342         * modules/wcsrchr: New file.
20343         * lib/wchar.in.h (wcsrchr): New declaration.
20344         * lib/wcsrchr.c: New file.
20345         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
20346         * m4/wcsrchr.m4: New file.
20347         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
20348         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
20349         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
20350         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
20351         * doc/posix-functions/wcsrchr.texi: Mention the new module.
20352
20353 2011-02-06  Bruno Haible  <bruno@clisp.org>
20354
20355         New module 'wcschr'.
20356         * modules/wcschr: New file.
20357         * lib/wchar.in.h (wcschr): New declaration.
20358         * lib/wcschr.c: New file.
20359         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
20360         * m4/wcschr.m4: New file.
20361         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
20362         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
20363         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
20364         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
20365         * doc/posix-functions/wcschr.texi: Mention the new module.
20366
20367 2011-02-06  Bruno Haible  <bruno@clisp.org>
20368
20369         New module 'wcsdup'.
20370         * modules/wcsdup: New file.
20371         * lib/wchar.in.h (wcsdup): New declaration.
20372         * lib/wcsdup.c: New file.
20373         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
20374         * m4/wcsdup.m4: New file.
20375         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
20376         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
20377         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
20378         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
20379         * doc/posix-functions/wcsdup.texi: Mention the new module.
20380
20381 2011-02-06  Bruno Haible  <bruno@clisp.org>
20382
20383         New module 'wcsxfrm'.
20384         * modules/wcsxfrm: New file.
20385         * lib/wchar.in.h (wcsxfrm): New declaration.
20386         * lib/wcsxfrm.c: New file.
20387         * lib/wcsxfrm-impl.h: New file.
20388         * m4/wcsxfrm.m4: New file.
20389         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
20390         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
20391         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
20392         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
20393         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
20394
20395 2011-02-06  Bruno Haible  <bruno@clisp.org>
20396
20397         New module 'wcscoll'.
20398         * modules/wcscoll: New file.
20399         * lib/wchar.in.h (wcscoll): New declaration.
20400         * lib/wcscoll.c: New file.
20401         * lib/wcscoll-impl.h: New file.
20402         * m4/wcscoll.m4: New file.
20403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
20404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
20405         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
20406         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
20407         * doc/posix-functions/wcscoll.texi: Mention the new module.
20408
20409 2011-02-06  Bruno Haible  <bruno@clisp.org>
20410
20411         New module 'wcsncasecmp'.
20412         * modules/wcsncasecmp: New file.
20413         * lib/wchar.in.h (wcsncasecmp): New declaration.
20414         * lib/wcsncasecmp.c: New file.
20415         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
20416         * m4/wcsncasecmp.m4: New file.
20417         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
20418         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
20419         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
20420         HAVE_WCSNCASECMP.
20421         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
20422         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
20423
20424 2011-02-06  Bruno Haible  <bruno@clisp.org>
20425
20426         New module 'wcscasecmp'.
20427         * modules/wcscasecmp: New file.
20428         * lib/wchar.in.h (wcscasecmp): New declaration.
20429         * lib/wcscasecmp.c: New file.
20430         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
20431         * m4/wcscasecmp.m4: New file.
20432         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
20433         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
20434         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
20435         HAVE_WCSCASECMP.
20436         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
20437         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
20438
20439 2011-02-05  Bruno Haible  <bruno@clisp.org>
20440
20441         New module 'wcsncmp'.
20442         * modules/wcsncmp: New file.
20443         * lib/wchar.in.h (wcsncmp): New declaration.
20444         * lib/wcsncmp.c: New file.
20445         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
20446         * m4/wcsncmp.m4: New file.
20447         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
20448         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
20449         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
20450         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
20451         * doc/posix-functions/wcsncmp.texi: Mention the new module.
20452
20453 2011-02-05  Bruno Haible  <bruno@clisp.org>
20454
20455         New module 'wcscmp'.
20456         * modules/wcscmp: New file.
20457         * lib/wchar.in.h (wcscmp): New declaration.
20458         * lib/wcscmp.c: New file.
20459         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
20460         * m4/wcscmp.m4: New file.
20461         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
20462         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
20463         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
20464         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
20465         * doc/posix-functions/wcscmp.texi: Mention the new module.
20466
20467 2011-02-05  Bruno Haible  <bruno@clisp.org>
20468
20469         New module 'wcsncat'.
20470         * modules/wcsncat: New file.
20471         * lib/wchar.in.h (wcsncat): New declaration.
20472         * lib/wcsncat.c: New file.
20473         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
20474         * m4/wcsncat.m4: New file.
20475         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
20476         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
20477         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
20478         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
20479         * doc/posix-functions/wcsncat.texi: Mention the new module.
20480
20481 2011-02-05  Bruno Haible  <bruno@clisp.org>
20482
20483         New module 'wcscat'.
20484         * modules/wcscat: New file.
20485         * lib/wchar.in.h (wcscat): New declaration.
20486         * lib/wcscat.c: New file.
20487         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
20488         * m4/wcscat.m4: New file.
20489         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
20490         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
20491         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
20492         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
20493         * doc/posix-functions/wcscat.texi: Mention the new module.
20494
20495 2011-02-05  Bruno Haible  <bruno@clisp.org>
20496
20497         New module 'wcpncpy'.
20498         * modules/wcpncpy: New file.
20499         * lib/wchar.in.h (wcpncpy): New declaration.
20500         * lib/wcpncpy.c: New file.
20501         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
20502         * m4/wcpncpy.m4: New file.
20503         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
20504         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
20505         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
20506         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
20507         * doc/posix-functions/wcpncpy.texi: Mention the new module.
20508
20509 2011-02-05  Bruno Haible  <bruno@clisp.org>
20510
20511         New module 'wcsncpy'.
20512         * modules/wcsncpy: New file.
20513         * lib/wchar.in.h (wcsncpy): New declaration.
20514         * lib/wcsncpy.c: New file.
20515         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
20516         * m4/wcsncpy.m4: New file.
20517         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
20518         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
20519         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
20520         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
20521         * doc/posix-functions/wcsncpy.texi: Mention the new module.
20522
20523 2011-02-05  Bruno Haible  <bruno@clisp.org>
20524
20525         New module 'wcpcpy'.
20526         * modules/wcpcpy: New file.
20527         * lib/wchar.in.h (wcpcpy): New declaration.
20528         * lib/wcpcpy.c: New file.
20529         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
20530         * m4/wcpcpy.m4: New file.
20531         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
20532         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
20533         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
20534         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
20535         * doc/posix-functions/wcpcpy.texi: Mention the new module.
20536
20537 2011-02-05  Bruno Haible  <bruno@clisp.org>
20538
20539         New module 'wcscpy'.
20540         * modules/wcscpy: New file.
20541         * lib/wchar.in.h (wcscpy): New declaration.
20542         * lib/wcscpy.c: New file.
20543         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
20544         * m4/wcscpy.m4: New file.
20545         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
20546         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
20547         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
20548         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
20549         * doc/posix-functions/wcscpy.texi: Mention the new module.
20550
20551 2011-02-05  Bruno Haible  <bruno@clisp.org>
20552
20553         New module 'wcsnlen'.
20554         * modules/wcsnlen: New file.
20555         * lib/wchar.in.h (wcsnlen): New declaration.
20556         * lib/wcsnlen.c: New file.
20557         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
20558         * m4/wcsnlen.m4: New file.
20559         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
20560         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
20561         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
20562         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
20563         * doc/posix-functions/wcsnlen.texi: Mention the new module.
20564
20565 2011-02-05  Bruno Haible  <bruno@clisp.org>
20566
20567         New module 'wcslen'.
20568         * modules/wcslen: New file.
20569         * lib/wchar.in.h (wcslen): New declaration.
20570         * lib/wcslen.c: New file.
20571         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
20572         * m4/wcslen.m4: New file.
20573         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
20574         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
20575         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
20576         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
20577         * doc/posix-functions/wcslen.texi: Mention the new module.
20578
20579 2011-02-05  Bruno Haible  <bruno@clisp.org>
20580
20581         New module 'wmemset'.
20582         * modules/wmemset: New file.
20583         * lib/wchar.in.h (wmemset): New declaration.
20584         * lib/wmemset.c: New file.
20585         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
20586         * m4/wmemset.m4: New file.
20587         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
20588         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
20589         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
20590         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
20591         * doc/posix-functions/wmemset.texi: Mention the new module.
20592
20593 2011-02-05  Bruno Haible  <bruno@clisp.org>
20594
20595         New module 'wmemmove'.
20596         * modules/wmemmove: New file.
20597         * lib/wchar.in.h (wmemmove): New declaration.
20598         * lib/wmemmove.c: New file.
20599         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
20600         * m4/wmemmove.m4: New file.
20601         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
20602         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
20603         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
20604         HAVE_WMEMMOVE.
20605         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
20606         * doc/posix-functions/wmemmove.texi: Mention the new module.
20607
20608 2011-02-05  Bruno Haible  <bruno@clisp.org>
20609
20610         New module 'wmemcpy'.
20611         * modules/wmemcpy: New file.
20612         * lib/wchar.in.h (wmemcpy): New declaration.
20613         * lib/wmemcpy.c: New file.
20614         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
20615         * m4/wmemcpy.m4: New file.
20616         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
20617         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
20618         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
20619         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
20620         * doc/posix-functions/wmemcpy.texi: Mention the new module.
20621
20622 2011-02-05  Bruno Haible  <bruno@clisp.org>
20623
20624         New module 'wmemcmp'.
20625         * modules/wmemcmp: New file.
20626         * lib/wchar.in.h (wmemcmp): New declaration.
20627         * lib/wmemcmp.c: New file.
20628         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
20629         * m4/wmemcmp.m4: New file.
20630         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
20631         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
20632         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
20633         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
20634         * doc/posix-functions/wmemcmp.texi: Mention the new module.
20635
20636 2011-02-07  Jim Meyering  <meyering@redhat.com>
20637
20638         di-set, ino-map: new modules, from coreutils
20639         * lib/di-set.c: New file.
20640         * lib/di-set.h: Likewise.
20641         * lib/ino-map.c: Likewise.
20642         * lib/ino-map.h: Likewise.
20643         * modules/di-set: Likewise.
20644         * modules/di-set-tests: Likewise.
20645         * modules/ino-map: Likewise.
20646         * modules/ino-map-tests: Likewise.
20647         * tests/test-di-set.c: Likewise.
20648         * tests/test-ino-map.c: Likewise.
20649
20650 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
20651
20652         getloadavg: merge minor changes from Emacs
20653
20654         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
20655         (getloadavg): Use memset, not bzero.
20656
20657         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
20658         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
20659         clash (bug#86).
20660
20661 2010-11-14  Bruno Haible  <bruno@clisp.org>
20662
20663         Allow multiple gnulib generated replacements to coexist.
20664         * lib/getopt.in.h (struct option): Avoid identical redefinition.
20665         * lib/inttypes.in.h (imaxdiv_t): Likewise.
20666         * lib/langinfo.in.h (nl_item): Likewise.
20667         * lib/math.in.h (_NaN, NAN): Likewise.
20668         * lib/netdb.in.h (struct addrinfo): Likewise.
20669         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
20670         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
20671         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
20672         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
20673         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
20674         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
20675         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
20676         pthread_mutexattr_init, pthread_mutexattr_settype,
20677         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
20678         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
20679         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
20680         pthread_spin_trylock, pthread_spin_unlock): Likewise.
20681         * lib/sched.in.h (struct sched_param): Likewise.
20682         * lib/se-selinux.in.h (security_class_t, security_context_t,
20683         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
20684         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
20685         lsetfilecon, fsetfilecon, security_check_context,
20686         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
20687         Likewise.
20688         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
20689         Likewise.
20690         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
20691         _gl_function_taking_int_returning_void_t, union sigval,
20692         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
20693         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
20694         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
20695         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
20696         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
20697         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
20698         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
20699         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
20700         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
20701         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
20702         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
20703         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
20704         socklen_t, rpl_fd_isset): Likewise.
20705         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
20706         * lib/sys_time.in.h (struct timeval): Likewise.
20707         * lib/sys_times.in.h (struct tms): Likewise.
20708         * lib/sys_utsname.in.h (struct utsname):
20709         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
20710         * lib/unistd.in.h (getpagesize): Likewise.
20711         * lib/wchar.in.h (mbstate_t): Likewise.
20712         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
20713         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
20714         towlower, towupper): Likewise.
20715         Reported by Sam Steingold <sds@gnu.org>.
20716
20717 2011-02-05  Eric Blake  <eblake@redhat.com>
20718
20719         unsetenv: work around Haiku issues
20720         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
20721         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
20722
20723 2010-12-30  Bruce Korb  <bkorb@gnu.org>
20724
20725         libposix: avoid calling error() within libposix
20726         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
20727         is defined.
20728
20729 2011-02-05  Eric Blake  <eblake@redhat.com>
20730
20731         strerror_r-posix: port to cygwin
20732         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
20733         implementation.
20734         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
20735         * tests/test-strerror_r.c (main): Fix test.
20736         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
20737         issue.
20738
20739 2011-02-05  Bruno Haible  <bruno@clisp.org>
20740
20741         New module 'wmemchr'.
20742         * modules/wmemchr: New file.
20743         * lib/wchar.in.h (wmemchr): New declaration.
20744         * lib/wmemchr.c: New file.
20745         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
20746         * m4/wmemchr.m4: New file.
20747         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
20748         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
20749         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
20750         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
20751         * doc/posix-functions/wmemchr.texi: Mention the new module.
20752
20753 2011-02-04  Eric Blake  <eblake@redhat.com>
20754
20755         fdopendir: detect FreeBSD bug
20756         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
20757         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
20758
20759 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
20760
20761         stdbool: do not define HAVE_STDBOOL_H
20762         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
20763         AC_HEADER_STDBOOL.  All uses changed.  Do not define
20764         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
20765         imported from the latest Autoconf git.  It was motivated by Emacs,
20766         which uses gnulib but does not need HAVE_STDBOOL_H.
20767
20768 2011-02-04  Bruno Haible  <bruno@clisp.org>
20769
20770         wcsnrtombs: Prepare for new module wwcsnrtombs.
20771         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
20772         * lib/wcsnrtombs.c: Include it.
20773         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
20774
20775         wcsrtombs: Prepare for new module wwcsrtombs.
20776         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
20777         * lib/wcsrtombs.c: Include it.
20778         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
20779
20780         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
20781         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
20782         * lib/mbsnrtowcs.c: Include it.
20783         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
20784
20785         mbsrtowcs: Prepare for new module mbsrtowwcs.
20786         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
20787         * lib/mbsrtowcs.c: Include it.
20788         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
20789
20790 2011-02-04  Bruno Haible  <bruno@clisp.org>
20791
20792         vasnprintf: Reduce use of malloc for small format strings.
20793         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
20794         (arguments): Add room for the first 7 arguments.
20795         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
20796         (char_directives, u8_directives, u16_directives, u32_directives): Add
20797         room for the first 7 directives.
20798         * lib/printf-parse.c: Include <string.h>.
20799         (PRINTF_PARSE): Change memory handling code so that it uses the first
20800         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
20801         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
20802         Reported by Pádraig Brady <P@draigbrady.com>.
20803
20804 2011-01-31  Eric Blake  <eblake@redhat.com>
20805
20806         dup2: work around Haiku bug
20807         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
20808         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
20809         * doc/posix-functions/dup2.texi (dup2): Document the bug.
20810         * tests/test-dup2.c (main): Enhance test.
20811
20812 2011-01-31  Simon Josefsson  <simon@josefsson.org>
20813
20814         doc: off_t is not available in eglibc 2.11.2 stdio.h.
20815         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
20816         declared by eglibc 2.11.2.
20817         * lib/stdio.in.h: Likewise.
20818
20819 2011-01-31  Eric Blake  <eblake@redhat.com>
20820
20821         ignore-value: add missing test dependency
20822         * tests/test-ignore-value.c: Revert previous change; stdio.h
20823         provides off_t.
20824         * modules/ignore-value-tests (Depends-on): Add missing dependency.
20825
20826 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
20827
20828         mktime: clarify long_int width checking
20829         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
20830         the top level, to make it clearer that the assumption about
20831         long_int width is being checked.  See
20832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
20833
20834 2011-01-30  Simon Josefsson  <simon@josefsson.org>
20835
20836         ignore-value: Fix self-test.
20837         * tests/test-ignore-value.c: Include sys/types.h for off_t.
20838
20839 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
20840
20841         TYPE_MAXIMUM: avoid theoretically undefined behavior
20842         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
20843         negative number, which the C Standard says has undefined behavior.
20844         In practice this is not a problem, but might as well do it by the book.
20845         Reported by Rich Felker and Eric Blake; see
20846         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
20847         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
20848         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
20849         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
20850         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
20851         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20852         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
20853
20854         mktime: #undef mktime before #defining it
20855         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
20856
20857         mktime: systematically normalize tm_isdst comparisons
20858         * lib/mktime.c (isdst_differ): New function.
20859         (__mktime_internal): Use it systematically for all isdst comparisons.
20860         This completes the fix for libc BZ #6723, and removes the need for
20861         normalizing tm_isdst.  See
20862         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
20863         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
20864
20865         mktime: fix some integer overflow issues and sidestep the rest
20866
20867         This was prompted by a bug report by Benjamin Lindner for MinGW
20868         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
20869         His bug is due to signed integer overflow (0 - INT_MIN), and I
20870         I scanned through mktime.c looking for other integer overflow
20871         problems, fixing all the bugs I found.
20872
20873         Although the C Standard says the resulting code is still not safe
20874         in the presence of integer overflow, in practice it should be good
20875         enough for all real-world two's-complement implementations, except
20876         for debugging environments that deliberately trap on integer
20877         overflow (e.g., gcc -ftrapv).
20878
20879         * lib/mktime.c (WRAPV): New macro.
20880         (SHR): Also check that long_int and time_t shift right in the
20881         usual way, before using the fast-but-unportable method.
20882         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
20883         used.  The code already assumed two's complement, so there's
20884         no need to test for alternatives.  All uses removed.
20885         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
20886         the C standard.  Problem reported by Rich Felker in
20887         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
20888         (twos_complement_arithmetic): Also check long_int and time_t.
20889         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
20890         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
20891         (__mktime_internal): Avoid integer overflow with unary subtraction
20892         in two instances where -1 - X is an adequate replacement for -X,
20893         since the calculations are approximate.
20894
20895 2011-01-29  Eric Blake  <eblake@redhat.com>
20896
20897         mktime: avoid infinite loop
20898         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
20899         type; behavior is still undefined but portable to all known targets.
20900         Reported by Rich Felker.
20901
20902 2011-01-29  Simon Josefsson  <simon@josefsson.org>
20903
20904         rename, unlink, same-inode: Relicense.
20905         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
20906         * modules/unlink (License): Likewise.
20907         * modules/same-inode (License): Likewise.
20908
20909 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20910
20911         mktime: avoid problems on NetBSD 5 / i386
20912         * lib/mktime.c (long_int): New type.  This works around a problem
20913         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
20914         but time_t is 64 bits, and where I expect the existing code is
20915         wrong in some cases.
20916         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
20917         (ydhms_diff): Bring back the compile-time check for wide-enough
20918         year and yday.
20919
20920         mktime: fix misspelling in comment
20921         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
20922         This merges all recent glibc changes of importance.
20923
20924 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20925
20926         move-if-change: cope with concurrent mv of identical file.
20927         * build-aux/move-if-change (CMPPROG): Accept environment
20928         variable as an override for `cmp'.
20929         (usage): Document CMPPROG.
20930         Adjust comparison to drop stdout.  Cope with failure of mv if
20931         the target file exists and is identical to the source, for
20932         parallel builds.
20933         Report from H.J. Lu against binutils in PR binutils/12283.
20934
20935 2011-01-28  Bruce Korb  <bkorb@gnu.org>
20936
20937         * users.txt: Mention sharutils.
20938
20939 2011-01-28  Simon Josefsson  <simon@josefsson.org>
20940
20941         * users.txt: Mention OATH Toolkit.
20942
20943 2011-01-27  Bruno Haible  <bruno@clisp.org>
20944
20945         Prepare for supporting FreeBSD 10.
20946         * build-aux/config.libpath: Remove handling of freebsd1*.
20947
20948 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
20949
20950         Prepare for supporting FreeBSD 10.
20951         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
20952         match FreeBSD 10.0.
20953
20954 2011-01-27  Bruno Haible  <bruno@clisp.org>
20955
20956         vma-iter, get-rusage-as: Add OpenBSD support.
20957         * modules/vma-iter (configure.ac): Test for mquery.
20958         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
20959         * lib/vma-iter.c: Include <sys/mman.h>.
20960         (vma_iterate): Add an implementation based on mquery().
20961         * lib/resource-ext.h (get_rusage_as): Update comments.
20962         * lib/get-rusage-as.c: Likewise.
20963         * lib/get-rusage-data.c: Likewise.
20964
20965 2011-01-26  Karl Berry  <karl@gnu.org>
20966
20967         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
20968         variables to make it easier to override the makeinfo program used.
20969
20970 2011-01-26  Eric Blake  <eblake@redhat.com>
20971
20972         fcntl: work around Haiku F_DUPFD bugs
20973         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
20974         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
20975         cloexec bit on duplication.
20976         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
20977
20978 2011-01-26  Bruno Haible  <bruno@clisp.org>
20979
20980         Enable memory leak tests on AIX.
20981         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
20982         * tests/test-fprintf-posix3.c (main): Likewise.
20983
20984 2011-01-26  Bruno Haible  <bruno@clisp.org>
20985
20986         Tests for module 'get-rusage-data'.
20987         * modules/get-rusage-data-tests: New file.
20988         * tests/test-get-rusage-data.c: New file.
20989
20990         New module 'get-rusage-data'.
20991         * lib/resource-ext.h (get_rusage_data): New declaration.
20992         * lib/get-rusage-data.c: New file.
20993         * modules/get-rusage-data: New file.
20994
20995 2011-01-25  Bruno Haible  <bruno@clisp.org>
20996
20997         get-rusage-as: Allow for easier testing.
20998         * lib/resource-ext.h (get_rusage_as): Add comment.
20999         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
21000         (main): New function for interactive testing.
21001
21002 2011-01-25  Bruno Haible  <bruno@clisp.org>
21003
21004         vma-iter: Treat Haiku like BeOS.
21005         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
21006         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
21007
21008 2011-01-25  Eric Blake  <eblake@redhat.com>
21009
21010         c-stack: fix regression on cygwin when libsigsegv is present
21011         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
21012
21013 2011-01-24  Bruno Haible  <bruno@clisp.org>
21014
21015         vma-iter: Avoid empty intervals.
21016         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
21017         on an empty interval.
21018
21019 2011-01-24  Jim Meyering  <meyering@redhat.com>
21020
21021         u64: remove unnecessary #include
21022         * lib/u64.h: Don't include <stddef.h>.  It was not used.
21023
21024 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21025
21026         Allow the user to avoid the HAVE_RAW_DECL_* macros.
21027         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
21028
21029 2011-01-23  Bruno Haible  <bruno@clisp.org>
21030
21031         New module 'vma-iter'.
21032         * lib/vma-iter.h: New file.
21033         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
21034         * modules/vma-iter: New file.
21035         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
21036         for get_rusage_as_via_iterator.
21037         (vma_iterate_callback): New function.
21038         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
21039         * modules/get-rusage-as (Depends-on): Add vma-iter.
21040
21041 2011-01-23  Bruno Haible  <bruno@clisp.org>
21042
21043         uninorm: Tweak includes.
21044         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
21045         Reported by Jim Meyering.
21046
21047 2011-01-23  Bruno Haible  <bruno@clisp.org>
21048
21049         get-rusage-as: Improve on NetBSD.
21050         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
21051         /proc, like on FreeBSD.
21052
21053 2011-01-23  Jim Meyering  <meyering@redhat.com>
21054
21055         xreadlink.h: remove unnecessary #include
21056         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
21057
21058         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
21059         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
21060
21061 2011-01-23  Bruno Haible  <bruno@clisp.org>
21062
21063         get-rusage-as: Fix bug.
21064         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
21065         original limit when aborting the first loop.
21066
21067 2011-01-23  Bruno Haible  <bruno@clisp.org>
21068
21069         wctype: Ensure valid C syntax.
21070         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
21071         unconditionally, instead of gl_NEXT_HEADERS conditionally.
21072
21073 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
21074
21075         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
21076         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
21077         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
21078         as they are needed only for configure's test case.
21079         This removes two unnecessary symbols from config.h.
21080
21081         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
21082         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
21083         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
21084         AC_CHECK_HEADERS_ONCE on a header that we also invoke
21085         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
21086         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
21087         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
21088         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
21089         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21090         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21091         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21092         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21093         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21094         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21095         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
21096         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21097         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21098         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21099
21100 2011-01-21  Eric Blake  <eblake@redhat.com>
21101
21102         maintainer-makefile: work with older git for submodule check
21103         * top/maint.mk (public-submodule-commit): Rewrite to avoid
21104         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
21105         Reported by Matthias Bolte.
21106
21107         bootstrap: minor portability fixes
21108         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
21109         (usage): Omit leading capital and trailing . on help phrases, per
21110         GNU Coding Standards.
21111         (check_versions, top level): Prefix messages with script name.
21112
21113 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
21114
21115         bootstrap: support --no-git option
21116         * build-aux/bootstrap: Add --no-git option, to be used when
21117         --gnulib-srcdir points to the exact desired checkout.
21118
21119 2011-01-21  Eric Blake  <eblake@redhat.com>
21120
21121         strerror_r-posix: work with glibc 2.13
21122         * lib/strerror_r.c (strerror_r): Fix return type.
21123
21124 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21125             Bruno Haible  <bruno@clisp.org>
21126
21127         uN_strstr: New unit tests.
21128         * modules/unistr/u8-strstr-tests: New file.
21129         * modules/unistr/u16-strstr-tests: New file.
21130         * modules/unistr/u32-strstr-tests: New file.
21131         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
21132         * tests/unistr/test-u8-strstr.c: New file.
21133         * tests/unistr/test-u16-strstr.c: New file.
21134         * tests/unistr/test-u32-strstr.c: New file.
21135
21136 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21137             Bruno Haible  <bruno@clisp.org>
21138
21139         Make uN_strstr functions O(n) worst-case.
21140         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
21141         16-bit and 32-bit unit cases, use the unibyte algorithm from
21142         lib/mbsstr.c.
21143         * lib/unistr/u8-strstr.c: Include <string.h>.
21144         (UNIT_IS_UINT8_T): New macro.
21145         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
21146         (U_STRLEN, U_STRNLEN): New macros.
21147         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
21148         (U_STRLEN, U_STRNLEN): New macros.
21149         * modules/unistr/u8-strstr (Depends-on): Add strstr.
21150         (configure.ac): Update required libunistring version.
21151         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
21152         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
21153         malloca.
21154         (configure.ac): Update required libunistring version.
21155         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
21156         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
21157         malloca.
21158         (configure.ac): Update required libunistring version.
21159
21160 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21161             Bruno Haible  <bruno@clisp.org>
21162
21163         Prepare for faster uN_strstr functions.
21164         * lib/str-kmp.h: Support definable UNITs.
21165         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
21166         needle_len argument.
21167         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
21168         * lib/mbscasestr.c (mbscasestr): Likewise.
21169
21170 2011-01-21  Pádraig Brady <P@draigBrady.com>
21171
21172         malloca-tests: make faster by unsetting MALLOC_PERTURB_
21173         * tests/test-malloca.c (main): Unset the environment variable
21174         to greatly speed up the test.
21175         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
21176         * modules/malloca-tests: Depend on unsetenv.
21177
21178 2011-01-21  Pádraig Brady <P@draigBrady.com>
21179
21180         ignore-value: remove stdint dependency
21181         * lib/ignore-value.h: Remove <stdint.h>
21182         * modules/ignore-value: Remove stdint dependency.
21183
21184 2011-01-21  Jim Meyering  <meyering@redhat.com>
21185
21186         maint.mk: adjust variable name to be consistent with other gl_ vars
21187         * top/maint.mk (gl_public_submodule_commit): Rename the variable
21188         to be lower case.
21189
21190 2011-01-20  Jim Meyering  <meyering@redhat.com>
21191
21192         maint.mk: make "check" depend on public-submodule-commit by default
21193         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
21194
21195 2011-01-20  Bruno Haible  <bruno@clisp.org>
21196
21197         mbfile, mbiter: Complete change from 2008-12-21.
21198         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
21199         * m4/mbiter.m4 (gl_MBITER): Likewise.
21200
21201 2011-01-20  Jim Meyering  <meyering@redhat.com>
21202
21203         init.sh: insert space between each function name and "()"
21204         * tests/init.sh: Make it a little easier to see that a function's
21205         name is "warn_", and not "warn" when looking at the first part of
21206         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
21207
21208 2011-01-20  Jim Meyering  <meyering@redhat.com>
21209
21210         mountlist: clean up code formatting
21211         * lib/mountlist.c (read_file_system_list): Split a long line,
21212         correct bracing style, use NULL in place of "(struct statfs *)0",
21213         don't parenthesize return value, add spaces around "=" and after
21214         ";-in-for-stmt".
21215
21216 2011-01-14  Markus Duft <mduft@gentoo.org>
21217
21218         mountlist: add support for Interix
21219         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
21220         Apply statvfs to all entries of /dev/fs.
21221         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
21222         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
21223
21224 2011-01-20  Jim Meyering  <meyering@redhat.com>
21225
21226         maint.mk: improve the public-submodule-commit rule
21227         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
21228         to suppress printing of its commands... unless V=1.
21229         Add git submodule's --quiet option to suppress printing of e.g.,
21230         "Entering gnulib" output.
21231         "cd" into $(srcdir) before running git submodule.
21232
21233 2011-01-20  Bruno Haible  <bruno@clisp.org>
21234
21235         include_next: Fix bug introduced on 2011-01-18.
21236         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
21237         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
21238         ac_cv_header_... variable if the second argument is not 'check'.
21239         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
21240         gl_NEXT_HEADERS_INTERNAL.
21241
21242 2011-01-20  Bruno Haible  <bruno@clisp.org>
21243
21244         Allow the user to avoid the GNULIB_TEST_* macros.
21245         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
21246         Suggested by Paul Eggert.
21247
21248 2011-01-14  Jim Meyering  <meyering@redhat.com>
21249
21250         bootstrap: avoid failure when there is no .gitmodules file
21251         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
21252         has been assigned to, even when its value is the empty string.
21253         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
21254         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
21255         Reported by John W. Eaton <jwe@gnu.org>.
21256
21257 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
21258
21259         assume <ctype.h>, ..., <time.h> exist
21260         For years gnulib has been assuming the existence of the headers
21261         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
21262         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
21263         them, since they don't appear to be needed.
21264         * README (Portability guidelines): Document this.
21265         * lib/flock.c: Assume <fcntl.h> exists.
21266         * lib/regex_internal.h: Assume <locale.h> exists.
21267         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
21268         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
21269         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
21270         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
21271         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
21272         * m4/regex.m4 (gl_REGEX): Likewise.
21273         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
21274         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
21275         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
21276         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
21277         * tests/test-argp.c: Likewise.
21278         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
21279
21280         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
21281         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
21282         AA_APPLE_UNIVERSAL_BUILD.  See
21283         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
21284         * NEWS: Document this.
21285
21286 2011-01-19  Eric Blake  <eblake@redhat.com>
21287
21288         c-stack: assume stack overflow if SA_SIGINFO unsupported
21289         * lib/c-stack.c (SIGACTION_WORKS): Rename...
21290         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
21291         sigaction will work.
21292         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
21293         behavior match Linux.
21294         * tests/test-c-stack.c (main): Prefer NULL for pointers.
21295
21296         stdbool-tests: accomodate Haiku
21297         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
21298
21299         binary-io: fix O_TEXT on Haiku
21300         * modules/binary-io (Depends-on): Add fcntl-h.
21301         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
21302         than blindly undefining O_TEXT.
21303         Reported by Scott McCreary.
21304
21305 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21306
21307         include_next: do not check for standard headers like stddef.h
21308
21309         I found this problem when modifying Emacs to use gnulib.
21310         I noticed that it added HAVE_STDDEF_H to config.h, even though
21311         gnulib always assumes <stddef.h> exists as per README and this
21312         symbol is unnecessary.
21313         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
21314         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
21315         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
21316         faster for headers like stddef.h that are known to exist.
21317         (gl_CHECK_NEXT_HEADERS): Use it.
21318         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
21319         rather than gl_CHECK_NEXT_HEADERS.
21320         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
21321         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
21322
21323 2011-01-18  Eric Blake  <eblake@redhat.com>
21324
21325         ansi-c++-opt: skip C++ dependency style if C++ is unused
21326         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
21327         tests when we know C++ compilation is not desired.
21328         Reported by Scott McCreary.
21329
21330 2011-01-18  Bruno Haible  <bruno@clisp.org>
21331
21332         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
21333         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
21334         (main): Perform test also when getrlimit and setrlimit don't exist or
21335         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
21336         limiting the address space size using setrlimit, compare the address
21337         space size before and after the the test.
21338         * tests/test-dprintf-posix2.c: Likewise.
21339         * tests/test-fprintf-posix3.sh: Update skip messages.
21340         * tests/test-dprintf-posix2.sh: Likewise.
21341         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
21342         * modules/dprintf-posix-tests (Depends-on): Likewise.
21343         Reported by Bruce Korb <bkorb@gnu.org> and
21344         Gary V. Vaughan <gary@gnu.org>.
21345
21346 2011-01-18  Bruno Haible  <bruno@clisp.org>
21347
21348         get-rusage-as: Improvement for Cygwin.
21349         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
21350         areas that are merely reserved.
21351
21352 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21353
21354         strftime: remove dependencies on multibyte modules
21355
21356         strftime depended on mbrlen, mbsinit, and wchar, but these modules
21357         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
21358         only if __osf__ is defined, and I suspect OSF doesn't need these
21359         other modules.  If my guess is wrong, we'll need to come up with a
21360         variant of strftime that doesn't need the multibyte modules.
21361
21362         I discovered this problem when attempting modify Emacs to use the
21363         strftime module.  With the previous gnulib, this caused Emacs to
21364         need 31 new files, ranging from lib/config.charset to
21365         m4/wint_t.m4.  This was overkill and I expect would be offputting
21366         to the Emacs maintainers.  After this change, only 6 new files are
21367         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
21368         stdbool.m4, and tm_gmtoff.m4.
21369
21370         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
21371         Suggested by Bruno Haible in
21372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
21373         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
21374         and do not check for wchar.h.
21375         * modules/strftime (Files): Remove m4/mbstate_t.m4.
21376         (Depends-on): Remove mbrlen, mbsinit, wchar.
21377
21378 2011-01-18  Bruno Haible  <bruno@clisp.org>
21379
21380         Tests for module 'get-rusage-as'.
21381         * modules/get-rusage-as-tests: New file.
21382         * tests/test-get-rusage-as.c: New file.
21383
21384         New module 'get-rusage-as'.
21385         * modules/get-rusage-as: New file.
21386         * lib/resource-ext.h: New file.
21387         * lib/get-rusage-as.c: New file.
21388
21389 2011-01-17  Eric Blake  <eblake@redhat.com>
21390
21391         sigaction: relax license from LGPLv3+ to LGPLv2+
21392         * modules/sigaction (License): Relax to LGPLv2+.
21393
21394 2011-01-14  Bruno Haible  <bruno@clisp.org>
21395
21396         filemode: Make function declarations usable in C++ mode.
21397         * lib/filemode.h: Enclose function declarations in extern "C" block.
21398         Reported by John W. Eaton <jwe@gnu.org>.
21399
21400 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
21401
21402         save-cwd: no longer include "xgetcwd.h"
21403         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
21404         This avoids a compilation failure in projects that use save-cwd
21405         without also using the xgetcwd module.
21406
21407 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21408
21409         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
21410         This is so that a program like Emacs, which needs only dtoastr,
21411         does not have to bother with distributing and compiling ftoastr
21412         and ldtoastr.
21413         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
21414         * modules/dtoastr, modules/ldtoastr: New files.
21415         * modules/ftoastr: Now works just for 'float'.
21416         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
21417         (Makefile.am): Remove ftoastr.h (not needed and no effect),
21418         dtoastr.c, ldtoastr.c.
21419
21420 2011-01-11  Jim Meyering  <meyering@redhat.com>
21421
21422         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
21423         There is no need to work around the lack of the fchdir function,
21424         since gnulib can now provide a replacement when required.
21425         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
21426         * modules/save-cwd (Depends-on): Add fchdir.
21427
21428 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
21429
21430         openat, save-cwd: avoid xmalloc
21431
21432         This removes a direct (but undocumented) dependency of openat on
21433         xalloc, along with an indirect dependency via save-cwd.  It also
21434         removes a dependency of save-cwd on xgetcwd, and thereby
21435         indirectly on xalloc.  This change causes the openat substitute
21436         to fall back on save_cwd when memory is tight, and for save_cwd to
21437         fail instead of dying when memory is tight, but that's good enough.
21438         Problem and initial idea for fix reported by Bastien Roucaries in
21439         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
21440
21441         * lib/openat-proc.c: Include stdlib.h (for malloc), not
21442         xalloc.h (for xmalloc).
21443         (openat_proc_name): Use malloc, not xmalloc.
21444         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
21445         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
21446
21447         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
21448         This avoids heap allocation for file names whose lengths are in
21449         the range 512..1023, with the upper bound increasing to at most
21450         4031 depending on the platform's PATH_MAX.  (We do not want
21451         pathmax.h here as it might supply a non-constant PATH_MAX.)
21452         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
21453         Perhaps they should be moved to malloca.h?
21454         (OPENAT_BUFFER_SIZE): Use them.
21455
21456 2011-01-10  Bruno Haible  <bruno@clisp.org>
21457
21458         doc: Update users.txt.
21459         * users.txt: Add recutils.
21460
21461 2011-01-09  Karl Berry  <karl@gnu.org>
21462
21463         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
21464
21465         * doc/configmake.texi: New file.
21466         * doc/gnulib.texi: Include it.
21467         * modules/configmake: Move documentation from here.
21468
21469 2011-01-09  Bruno Haible  <bruno@clisp.org>
21470
21471         Update to Unicode 6.0.0.
21472         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
21473         (get_lbp): Update for Unicode 6.0.0.
21474         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
21475         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
21476         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
21477         U+11001, U+11038..U+11046. Remove U+06DE.
21478         (uc_width): Fix bounds of planes.
21479         * tests/uniwidth/test-uc_width2.sh: Same updates as in
21480         lib/uniwidth/width.c.
21481         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
21482         trailing whitespace removed.
21483         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
21484         without comments, but with the original copyright notice.
21485         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
21486         * lib/unicase/ignorable.h: Likewise.
21487         * lib/unicase/tocasefold.h: Likewise.
21488         * lib/unicase/tolower.h: Likewise.
21489         * lib/unicase/totitle.h: Likewise.
21490         * lib/unicase/toupper.h: Likewise.
21491         * lib/unictype/bidi_of.h: Likewise.
21492         * lib/unictype/blocks.h: Likewise.
21493         * lib/unictype/categ_C.h: Likewise.
21494         * lib/unictype/categ_Cn.h: Likewise.
21495         * lib/unictype/categ_L.h: Likewise.
21496         * lib/unictype/categ_Ll.h: Likewise.
21497         * lib/unictype/categ_Lm.h: Likewise.
21498         * lib/unictype/categ_Lo.h: Likewise.
21499         * lib/unictype/categ_Lu.h: Likewise.
21500         * lib/unictype/categ_M.h: Likewise.
21501         * lib/unictype/categ_Mc.h: Likewise.
21502         * lib/unictype/categ_Me.h: Likewise.
21503         * lib/unictype/categ_Mn.h: Likewise.
21504         * lib/unictype/categ_N.h: Likewise.
21505         * lib/unictype/categ_Nd.h: Likewise.
21506         * lib/unictype/categ_No.h: Likewise.
21507         * lib/unictype/categ_P.h: Likewise.
21508         * lib/unictype/categ_Po.h: Likewise.
21509         * lib/unictype/categ_S.h: Likewise.
21510         * lib/unictype/categ_Sc.h: Likewise.
21511         * lib/unictype/categ_Sk.h: Likewise.
21512         * lib/unictype/categ_Sm.h: Likewise.
21513         * lib/unictype/categ_So.h: Likewise.
21514         * lib/unictype/categ_of.h: Likewise.
21515         * lib/unictype/combining.h: Likewise.
21516         * lib/unictype/ctype_alnum.h: Likewise.
21517         * lib/unictype/ctype_alpha.h: Likewise.
21518         * lib/unictype/ctype_graph.h: Likewise.
21519         * lib/unictype/ctype_lower.h: Likewise.
21520         * lib/unictype/ctype_print.h: Likewise.
21521         * lib/unictype/ctype_punct.h: Likewise.
21522         * lib/unictype/ctype_upper.h: Likewise.
21523         * lib/unictype/decdigit.h: Likewise.
21524         * lib/unictype/digit.h: Likewise.
21525         * lib/unictype/numeric.h: Likewise.
21526         * lib/unictype/pr_alphabetic.h: Likewise.
21527         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21528         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21529         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21530         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21531         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21532         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21533         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21534         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21535         * lib/unictype/pr_case_ignorable.h: Likewise.
21536         * lib/unictype/pr_cased.h: Likewise.
21537         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
21538         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
21539         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
21540         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
21541         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
21542         * lib/unictype/pr_combining.h: Likewise.
21543         * lib/unictype/pr_composite.h: Likewise.
21544         * lib/unictype/pr_currency_symbol.h: Likewise.
21545         * lib/unictype/pr_decimal_digit.h: Likewise.
21546         * lib/unictype/pr_deprecated.h: Likewise.
21547         * lib/unictype/pr_format_control.h: Likewise.
21548         * lib/unictype/pr_grapheme_base.h: Likewise.
21549         * lib/unictype/pr_grapheme_extend.h: Likewise.
21550         * lib/unictype/pr_grapheme_link.h: Likewise.
21551         * lib/unictype/pr_id_continue.h: Likewise.
21552         * lib/unictype/pr_id_start.h: Likewise.
21553         * lib/unictype/pr_ideographic.h: Likewise.
21554         * lib/unictype/pr_lowercase.h: Likewise.
21555         * lib/unictype/pr_math.h: Likewise.
21556         * lib/unictype/pr_numeric.h: Likewise.
21557         * lib/unictype/pr_other_alphabetic.h: Likewise.
21558         * lib/unictype/pr_other_id_continue.h: Likewise.
21559         * lib/unictype/pr_other_math.h: Likewise.
21560         * lib/unictype/pr_punctuation.h: Likewise.
21561         * lib/unictype/pr_sentence_terminal.h: Likewise.
21562         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21563         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21564         * lib/unictype/pr_unified_ideograph.h: Likewise.
21565         * lib/unictype/pr_uppercase.h: Likewise.
21566         * lib/unictype/pr_xid_continue.h: Likewise.
21567         * lib/unictype/pr_xid_start.h: Likewise.
21568         * lib/unictype/scripts.h: Likewise.
21569         * lib/unictype/scripts_byname.gperf: Likewise.
21570         * lib/unictype/sy_java_ident.h: Likewise.
21571         * lib/unigbrk/gbrkprop.h: Likewise.
21572         * lib/unilbrk/lbrkprop1.h: Likewise.
21573         * lib/unilbrk/lbrkprop2.h: Likewise.
21574         * lib/uninorm/decomposition-table2.h: Likewise.
21575         * lib/uniwbrk/wbrkprop.h: Likewise.
21576         * tests/unicase/test-cased.c: Likewise.
21577         * tests/unicase/test-ignorable.c: Likewise.
21578         * tests/unicase/test-uc_tolower.c: Likewise.
21579         * tests/unicase/test-uc_totitle.c: Likewise.
21580         * tests/unicase/test-uc_toupper.c: Likewise.
21581         * tests/unictype/test-categ_C.c: Likewise.
21582         * tests/unictype/test-categ_Cn.c: Likewise.
21583         * tests/unictype/test-categ_L.c: Likewise.
21584         * tests/unictype/test-categ_Ll.c: Likewise.
21585         * tests/unictype/test-categ_Lm.c: Likewise.
21586         * tests/unictype/test-categ_Lo.c: Likewise.
21587         * tests/unictype/test-categ_Lu.c: Likewise.
21588         * tests/unictype/test-categ_M.c: Likewise.
21589         * tests/unictype/test-categ_Mc.c: Likewise.
21590         * tests/unictype/test-categ_Me.c: Likewise.
21591         * tests/unictype/test-categ_Mn.c: Likewise.
21592         * tests/unictype/test-categ_N.c: Likewise.
21593         * tests/unictype/test-categ_Nd.c: Likewise.
21594         * tests/unictype/test-categ_No.c: Likewise.
21595         * tests/unictype/test-categ_P.c: Likewise.
21596         * tests/unictype/test-categ_Po.c: Likewise.
21597         * tests/unictype/test-categ_S.c: Likewise.
21598         * tests/unictype/test-categ_Sc.c: Likewise.
21599         * tests/unictype/test-categ_Sk.c: Likewise.
21600         * tests/unictype/test-categ_Sm.c: Likewise.
21601         * tests/unictype/test-categ_So.c: Likewise.
21602         * tests/unictype/test-ctype_alnum.c: Likewise.
21603         * tests/unictype/test-ctype_alpha.c: Likewise.
21604         * tests/unictype/test-ctype_graph.c: Likewise.
21605         * tests/unictype/test-ctype_lower.c: Likewise.
21606         * tests/unictype/test-ctype_print.c: Likewise.
21607         * tests/unictype/test-ctype_punct.c: Likewise.
21608         * tests/unictype/test-ctype_upper.c: Likewise.
21609         * tests/unictype/test-decdigit.h: Likewise.
21610         * tests/unictype/test-digit.h: Likewise.
21611         * tests/unictype/test-numeric.h: Likewise.
21612         * tests/unictype/test-pr_alphabetic.c: Likewise.
21613         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21614         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
21615         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
21616         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21617         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21618         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21619         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21620         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21621         * tests/unictype/test-pr_case_ignorable.c: Likewise.
21622         * tests/unictype/test-pr_cased.c: Likewise.
21623         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
21624         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
21625         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
21626         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
21627         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
21628         * tests/unictype/test-pr_combining.c: Likewise.
21629         * tests/unictype/test-pr_composite.c: Likewise.
21630         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21631         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21632         * tests/unictype/test-pr_deprecated.c: Likewise.
21633         * tests/unictype/test-pr_format_control.c: Likewise.
21634         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21635         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21636         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21637         * tests/unictype/test-pr_id_continue.c: Likewise.
21638         * tests/unictype/test-pr_id_start.c: Likewise.
21639         * tests/unictype/test-pr_ideographic.c: Likewise.
21640         * tests/unictype/test-pr_lowercase.c: Likewise.
21641         * tests/unictype/test-pr_math.c: Likewise.
21642         * tests/unictype/test-pr_numeric.c: Likewise.
21643         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21644         * tests/unictype/test-pr_other_id_continue.c: Likewise.
21645         * tests/unictype/test-pr_other_math.c: Likewise.
21646         * tests/unictype/test-pr_punctuation.c: Likewise.
21647         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21648         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21649         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21650         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21651         * tests/unictype/test-pr_uppercase.c: Likewise.
21652         * tests/unictype/test-pr_xid_continue.c: Likewise.
21653         * tests/unictype/test-pr_xid_start.c: Likewise.
21654         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
21655         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
21656         changes.
21657         * lib/unictype/categ_Cc.h: Likewise.
21658         * lib/unictype/categ_Cf.h: Likewise.
21659         * lib/unictype/categ_Co.h: Likewise.
21660         * lib/unictype/categ_Cs.h: Likewise.
21661         * lib/unictype/categ_Lt.h: Likewise.
21662         * lib/unictype/categ_Nl.h: Likewise.
21663         * lib/unictype/categ_Pc.h: Likewise.
21664         * lib/unictype/categ_Pd.h: Likewise.
21665         * lib/unictype/categ_Pe.h: Likewise.
21666         * lib/unictype/categ_Pf.h: Likewise.
21667         * lib/unictype/categ_Pi.h: Likewise.
21668         * lib/unictype/categ_Ps.h: Likewise.
21669         * lib/unictype/categ_Z.h: Likewise.
21670         * lib/unictype/categ_Zl.h: Likewise.
21671         * lib/unictype/categ_Zp.h: Likewise.
21672         * lib/unictype/categ_Zs.h: Likewise.
21673         * lib/unictype/ctype_blank.h: Likewise.
21674         * lib/unictype/ctype_cntrl.h: Likewise.
21675         * lib/unictype/ctype_digit.h: Likewise.
21676         * lib/unictype/ctype_space.h: Likewise.
21677         * lib/unictype/ctype_xdigit.h: Likewise.
21678         * lib/unictype/mirror.h: Likewise.
21679         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21680         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21681         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21682         * lib/unictype/pr_bidi_control.h: Likewise.
21683         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21684         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21685         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21686         * lib/unictype/pr_bidi_pdf.h: Likewise.
21687         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21688         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21689         * lib/unictype/pr_dash.h: Likewise.
21690         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21691         * lib/unictype/pr_diacritic.h: Likewise.
21692         * lib/unictype/pr_extender.h: Likewise.
21693         * lib/unictype/pr_hex_digit.h: Likewise.
21694         * lib/unictype/pr_hyphen.h: Likewise.
21695         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21696         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21697         * lib/unictype/pr_ignorable_control.h: Likewise.
21698         * lib/unictype/pr_iso_control.h: Likewise.
21699         * lib/unictype/pr_join_control.h: Likewise.
21700         * lib/unictype/pr_left_of_pair.h: Likewise.
21701         * lib/unictype/pr_line_separator.h: Likewise.
21702         * lib/unictype/pr_logical_order_exception.h: Likewise.
21703         * lib/unictype/pr_non_break.h: Likewise.
21704         * lib/unictype/pr_not_a_character.h: Likewise.
21705         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21706         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21707         * lib/unictype/pr_other_id_start.h: Likewise.
21708         * lib/unictype/pr_other_lowercase.h: Likewise.
21709         * lib/unictype/pr_other_uppercase.h: Likewise.
21710         * lib/unictype/pr_paired_punctuation.h: Likewise.
21711         * lib/unictype/pr_paragraph_separator.h: Likewise.
21712         * lib/unictype/pr_pattern_syntax.h: Likewise.
21713         * lib/unictype/pr_pattern_white_space.h: Likewise.
21714         * lib/unictype/pr_private_use.h: Likewise.
21715         * lib/unictype/pr_quotation_mark.h: Likewise.
21716         * lib/unictype/pr_radical.h: Likewise.
21717         * lib/unictype/pr_soft_dotted.h: Likewise.
21718         * lib/unictype/pr_space.h: Likewise.
21719         * lib/unictype/pr_titlecase.h: Likewise.
21720         * lib/unictype/pr_variation_selector.h: Likewise.
21721         * lib/unictype/pr_white_space.h: Likewise.
21722         * lib/unictype/pr_zero_width.h: Likewise.
21723         * lib/unictype/sy_c_ident.h: Likewise.
21724         * lib/unictype/sy_c_whitespace.h: Likewise.
21725         * lib/unictype/sy_java_whitespace.h: Likewise.
21726         * lib/uninorm/composition-table.gperf: Likewise.
21727         * lib/uninorm/decomposition-table1.h: Likewise.
21728         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
21729         LB8.
21730         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
21731         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
21732         * modules/unictype/*: Bump version number of expected libunistring
21733         version.
21734
21735 2011-01-09  Bruno Haible  <bruno@clisp.org>
21736
21737         Update to Unicode 5.2.0.
21738         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
21739         trailing whitespace removed.
21740
21741 2011-01-09  Bruno Haible  <bruno@clisp.org>
21742
21743         New Unicode character properties, from Unicode 5.2.0.
21744         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
21745         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
21746         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
21747         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
21748         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
21749         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
21750         uc_is_property_cased, uc_is_property_case_ignorable,
21751         uc_is_property_changes_when_lowercased,
21752         uc_is_property_changes_when_uppercased,
21753         uc_is_property_changes_when_titlecased,
21754         uc_is_property_changes_when_casefolded,
21755         uc_is_property_changes_when_casemapped): New declarations.
21756         * lib/unictype/pr_byname.gperf: Add the new properties.
21757         * modules/unictype/property-byname (Depends-on): Depend on the new
21758         properties modules.
21759         * modules/unictype/property-all (Depends-on): Likewise.
21760         * MODULES.html.sh (Unicode string functions): Add
21761         unictype/property-case-ignorable, unictype/property-cased,
21762         unictype/property-changes-when-casefolded,
21763         unictype/property-changes-when-casemapped,
21764         unictype/property-changes-when-lowercased,
21765         unictype/property-changes-when-titlecased,
21766         unictype/property-changes-when-uppercased.
21767
21768         New module 'unictype/property-changes-when-casemapped'.
21769         * modules/unictype/property-changes-when-casemapped: New file.
21770         * lib/unictype/pr_changes_when_casemapped.c: New file.
21771         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
21772         generated by gen-uni-tables.
21773         * modules/unictype/property-changes-when-casemapped-tests: New file.
21774         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
21775         automatically generated by gen-uni-tables.
21776
21777         New module 'unictype/property-changes-when-casefolded'.
21778         * modules/unictype/property-changes-when-casefolded: New file.
21779         * lib/unictype/pr_changes_when_casefolded.c: New file.
21780         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
21781         generated by gen-uni-tables.
21782         * modules/unictype/property-changes-when-casefolded-tests: New file.
21783         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
21784         automatically generated by gen-uni-tables.
21785
21786         New module 'unictype/property-changes-when-titlecased'.
21787         * modules/unictype/property-changes-when-titlecased: New file.
21788         * lib/unictype/pr_changes_when_titlecased.c: New file.
21789         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
21790         generated by gen-uni-tables.
21791         * modules/unictype/property-changes-when-titlecased-tests: New file.
21792         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
21793         automatically generated by gen-uni-tables.
21794
21795         New module 'unictype/property-changes-when-uppercased'.
21796         * modules/unictype/property-changes-when-uppercased: New file.
21797         * lib/unictype/pr_changes_when_uppercased.c: New file.
21798         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
21799         generated by gen-uni-tables.
21800         * modules/unictype/property-changes-when-uppercased-tests: New file.
21801         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
21802         automatically generated by gen-uni-tables.
21803
21804         New module 'unictype/property-changes-when-lowercased'.
21805         * modules/unictype/property-changes-when-lowercased: New file.
21806         * lib/unictype/pr_changes_when_lowercased.c: New file.
21807         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
21808         generated by gen-uni-tables.
21809         * modules/unictype/property-changes-when-lowercased-tests: New file.
21810         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
21811         automatically generated by gen-uni-tables.
21812
21813         New module 'unictype/property-case-ignorable'.
21814         * modules/unictype/property-case-ignorable: New file.
21815         * lib/unictype/pr_case_ignorable.c: New file.
21816         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
21817         by gen-uni-tables.
21818         * modules/unictype/property-case-ignorable-tests: New file.
21819         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
21820         generated by gen-uni-tables.
21821
21822         New module 'unictype/property-cased'.
21823         * modules/unictype/property-cased: New file.
21824         * lib/unictype/pr_cased.c: New file.
21825         * lib/unictype/pr_cased.h: New file, automatically generated by
21826         gen-uni-tables.
21827         * modules/unictype/property-cased-tests: New file.
21828         * tests/unictype/test-pr_cased.c: New file, automatically generated by
21829         gen-uni-tables.
21830
21831 2011-01-09  Bruno Haible  <bruno@clisp.org>
21832
21833         Update to Unicode 5.2.0.
21834         * lib/gen-uni-tables.c (output_predicate, output_category,
21835         output_combclass, output_bidi_category, output_decimal_digit_test,
21836         output_decimal_digit, output_digit_test, output_digit,
21837         output_numeric_test, output_numeric, output_mirror, output_scripts,
21838         output_scripts_byname, output_blocks, output_ident_category): Fix
21839         comment header.
21840         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
21841         get_wbp.
21842         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
21843         items.
21844         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
21845         Changes_When_Lowercased, Changes_When_Uppercased,
21846         Changes_When_Titlecased, Changes_When_Casefolded,
21847         Changes_When_Casemapped.
21848         (is_property_alphabetic, is_property_default_ignorable_code_point):
21849         Update for Unicode 5.2.0.
21850         (is_property_cased, is_property_case_ignorable,
21851         is_property_changes_when_lowercased,
21852         is_property_changes_when_uppercased,
21853         is_property_changes_when_titlecased,
21854         is_property_changes_when_casefolded,
21855         is_property_changes_when_casemapped): New functions.
21856         (output_properties): Output also the properties cased, case_ignorable,
21857         changes_when_lowercased, changes_when_uppercased,
21858         changes_when_titlecased, changes_when_casefolded,
21859         changes_when_casemapped.
21860         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
21861         Unicode TR#11 revision 17 -> 19.
21862         (LBP_CP): New enumeration value.
21863         (LBP_*): Adjust values accordingly.
21864         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21865         TR#14 revision 22 -> 24.
21866         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
21867         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
21868         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
21869         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
21870         is_WBP_MIDLETTER.
21871         (output_composition_tables): Allow for 24 bits instead of 16 bits in
21872         the code1 and code2 of each composition rule.
21873         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
21874         * lib/unicase/ignorable.h: Likewise.
21875         * lib/unicase/tocasefold.h: Likewise.
21876         * lib/unicase/tolower.h: Likewise.
21877         * lib/unicase/totitle.h: Likewise.
21878         * lib/unicase/toupper.h: Likewise.
21879         * lib/unictype/bidi_of.h: Likewise.
21880         * lib/unictype/blocks.h: Likewise.
21881         * lib/unictype/categ_C.h: Likewise.
21882         * lib/unictype/categ_Cf.h: Likewise.
21883         * lib/unictype/categ_Cn.h: Likewise.
21884         * lib/unictype/categ_L.h: Likewise.
21885         * lib/unictype/categ_Ll.h: Likewise.
21886         * lib/unictype/categ_Lm.h: Likewise.
21887         * lib/unictype/categ_Lo.h: Likewise.
21888         * lib/unictype/categ_Lu.h: Likewise.
21889         * lib/unictype/categ_M.h: Likewise.
21890         * lib/unictype/categ_Mc.h: Likewise.
21891         * lib/unictype/categ_Mn.h: Likewise.
21892         * lib/unictype/categ_N.h: Likewise.
21893         * lib/unictype/categ_Nd.h: Likewise.
21894         * lib/unictype/categ_Nl.h: Likewise.
21895         * lib/unictype/categ_No.h: Likewise.
21896         * lib/unictype/categ_P.h: Likewise.
21897         * lib/unictype/categ_Pd.h: Likewise.
21898         * lib/unictype/categ_Po.h: Likewise.
21899         * lib/unictype/categ_S.h: Likewise.
21900         * lib/unictype/categ_Sc.h: Likewise.
21901         * lib/unictype/categ_So.h: Likewise.
21902         * lib/unictype/categ_of.h: Likewise.
21903         * lib/unictype/combining.h: Likewise.
21904         * lib/unictype/ctype_alnum.h: Likewise.
21905         * lib/unictype/ctype_alpha.h: Likewise.
21906         * lib/unictype/ctype_graph.h: Likewise.
21907         * lib/unictype/ctype_lower.h: Likewise.
21908         * lib/unictype/ctype_print.h: Likewise.
21909         * lib/unictype/ctype_punct.h: Likewise.
21910         * lib/unictype/ctype_upper.h: Likewise.
21911         * lib/unictype/decdigit.h: Likewise.
21912         * lib/unictype/digit.h: Likewise.
21913         * lib/unictype/numeric.h: Likewise.
21914         * lib/unictype/pr_alphabetic.h: Likewise.
21915         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21916         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21917         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21918         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21919         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21920         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21921         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21922         * lib/unictype/pr_combining.h: Likewise.
21923         * lib/unictype/pr_composite.h: Likewise.
21924         * lib/unictype/pr_currency_symbol.h: Likewise.
21925         * lib/unictype/pr_dash.h: Likewise.
21926         * lib/unictype/pr_decimal_digit.h: Likewise.
21927         * lib/unictype/pr_deprecated.h: Likewise.
21928         * lib/unictype/pr_diacritic.h: Likewise.
21929         * lib/unictype/pr_extender.h: Likewise.
21930         * lib/unictype/pr_grapheme_base.h: Likewise.
21931         * lib/unictype/pr_grapheme_extend.h: Likewise.
21932         * lib/unictype/pr_grapheme_link.h: Likewise.
21933         * lib/unictype/pr_id_continue.h: Likewise.
21934         * lib/unictype/pr_id_start.h: Likewise.
21935         * lib/unictype/pr_ideographic.h: Likewise.
21936         * lib/unictype/pr_ignorable_control.h: Likewise.
21937         * lib/unictype/pr_logical_order_exception.h: Likewise.
21938         * lib/unictype/pr_lowercase.h: Likewise.
21939         * lib/unictype/pr_numeric.h: Likewise.
21940         * lib/unictype/pr_other_alphabetic.h: Likewise.
21941         * lib/unictype/pr_punctuation.h: Likewise.
21942         * lib/unictype/pr_sentence_terminal.h: Likewise.
21943         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21944         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21945         * lib/unictype/pr_unified_ideograph.h: Likewise.
21946         * lib/unictype/pr_uppercase.h: Likewise.
21947         * lib/unictype/pr_xid_continue.h: Likewise.
21948         * lib/unictype/pr_xid_start.h: Likewise.
21949         * lib/unictype/pr_zero_width.h: Likewise.
21950         * lib/unictype/scripts.h: Likewise.
21951         * lib/unictype/scripts_byname.gperf: Likewise.
21952         * lib/unictype/sy_java_ident.h: Likewise.
21953         * lib/unigbrk/gbrkprop.h: Likewise.
21954         * lib/unilbrk/lbrkprop1.h: Likewise.
21955         * lib/unilbrk/lbrkprop2.h: Likewise.
21956         * lib/unilbrk/lbrktables.h: Likewise.
21957         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
21958         LBP_CP. Implement rule LB30.
21959         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
21960         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
21961         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
21962         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
21963         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
21964         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
21965         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
21966         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
21967         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
21968         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
21969         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
21970         bits instead of 16 bits in the code1 and code2 of each composition
21971         rule.
21972         (uc_composition): Update for Unicode 5.2.0.
21973         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
21974         * lib/uninorm/decomposition-table2.h: Likewise.
21975         * lib/uniwbrk/wbrkprop.h: Likewise.
21976         * tests/unicase/test-cased.c: Likewise.
21977         * tests/unicase/test-ignorable.c: Likewise.
21978         * tests/unicase/test-uc_tolower.c: Likewise.
21979         * tests/unicase/test-uc_totitle.c: Likewise.
21980         * tests/unicase/test-uc_toupper.c: Likewise.
21981         * tests/unictype/test-categ_C.c: Likewise.
21982         * tests/unictype/test-categ_Cf.c: Likewise.
21983         * tests/unictype/test-categ_Cn.c: Likewise.
21984         * tests/unictype/test-categ_L.c: Likewise.
21985         * tests/unictype/test-categ_Ll.c: Likewise.
21986         * tests/unictype/test-categ_Lm.c: Likewise.
21987         * tests/unictype/test-categ_Lo.c: Likewise.
21988         * tests/unictype/test-categ_Lu.c: Likewise.
21989         * tests/unictype/test-categ_M.c: Likewise.
21990         * tests/unictype/test-categ_Mc.c: Likewise.
21991         * tests/unictype/test-categ_Mn.c: Likewise.
21992         * tests/unictype/test-categ_N.c: Likewise.
21993         * tests/unictype/test-categ_Nd.c: Likewise.
21994         * tests/unictype/test-categ_Nl.c: Likewise.
21995         * tests/unictype/test-categ_No.c: Likewise.
21996         * tests/unictype/test-categ_P.c: Likewise.
21997         * tests/unictype/test-categ_Pd.c: Likewise.
21998         * tests/unictype/test-categ_Po.c: Likewise.
21999         * tests/unictype/test-categ_S.c: Likewise.
22000         * tests/unictype/test-categ_Sc.c: Likewise.
22001         * tests/unictype/test-categ_So.c: Likewise.
22002         * tests/unictype/test-ctype_alnum.c: Likewise.
22003         * tests/unictype/test-ctype_alpha.c: Likewise.
22004         * tests/unictype/test-ctype_graph.c: Likewise.
22005         * tests/unictype/test-ctype_lower.c: Likewise.
22006         * tests/unictype/test-ctype_print.c: Likewise.
22007         * tests/unictype/test-ctype_punct.c: Likewise.
22008         * tests/unictype/test-ctype_upper.c: Likewise.
22009         * tests/unictype/test-decdigit.h: Likewise.
22010         * tests/unictype/test-digit.h: Likewise.
22011         * tests/unictype/test-numeric.h: Likewise.
22012         * tests/unictype/test-pr_alphabetic.c: Likewise.
22013         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22014         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22015         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
22016         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22017         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22018         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22019         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22020         * tests/unictype/test-pr_combining.c: Likewise.
22021         * tests/unictype/test-pr_composite.c: Likewise.
22022         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22023         * tests/unictype/test-pr_dash.c: Likewise.
22024         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22025         * tests/unictype/test-pr_deprecated.c: Likewise.
22026         * tests/unictype/test-pr_diacritic.c: Likewise.
22027         * tests/unictype/test-pr_extender.c: Likewise.
22028         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22029         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22030         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22031         * tests/unictype/test-pr_id_continue.c: Likewise.
22032         * tests/unictype/test-pr_id_start.c: Likewise.
22033         * tests/unictype/test-pr_ideographic.c: Likewise.
22034         * tests/unictype/test-pr_ignorable_control.c: Likewise.
22035         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
22036         * tests/unictype/test-pr_lowercase.c: Likewise.
22037         * tests/unictype/test-pr_numeric.c: Likewise.
22038         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22039         * tests/unictype/test-pr_punctuation.c: Likewise.
22040         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22041         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22042         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22043         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22044         * tests/unictype/test-pr_uppercase.c: Likewise.
22045         * tests/unictype/test-pr_xid_continue.c: Likewise.
22046         * tests/unictype/test-pr_xid_start.c: Likewise.
22047         * tests/unictype/test-pr_zero_width.c: Likewise.
22048         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22049         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
22050         changed behaviour: line breaking is now disallowed between a letter
22051         or '=' and '('.
22052         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22053         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22054         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22055         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
22056         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22057         lib/uniwidth/width.c.
22058         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
22059         without comments, but with the original copyright notice.
22060         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22061         changes.
22062         * lib/unictype/categ_Cc.h: Likewise.
22063         * lib/unictype/categ_Co.h: Likewise.
22064         * lib/unictype/categ_Cs.h: Likewise.
22065         * lib/unictype/categ_Lt.h: Likewise.
22066         * lib/unictype/categ_Me.h: Likewise.
22067         * lib/unictype/categ_Pc.h: Likewise.
22068         * lib/unictype/categ_Pe.h: Likewise.
22069         * lib/unictype/categ_Pf.h: Likewise.
22070         * lib/unictype/categ_Pi.h: Likewise.
22071         * lib/unictype/categ_Ps.h: Likewise.
22072         * lib/unictype/categ_Sk.h: Likewise.
22073         * lib/unictype/categ_Sm.h: Likewise.
22074         * lib/unictype/categ_Z.h: Likewise.
22075         * lib/unictype/categ_Zl.h: Likewise.
22076         * lib/unictype/categ_Zp.h: Likewise.
22077         * lib/unictype/categ_Zs.h: Likewise.
22078         * lib/unictype/ctype_blank.h: Likewise.
22079         * lib/unictype/ctype_cntrl.h: Likewise.
22080         * lib/unictype/ctype_digit.h: Likewise.
22081         * lib/unictype/ctype_space.h: Likewise.
22082         * lib/unictype/ctype_xdigit.h: Likewise.
22083         * lib/unictype/mirror.h: Likewise.
22084         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22085         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22086         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22087         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22088         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22089         * lib/unictype/pr_bidi_control.h: Likewise.
22090         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22091         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22092         * lib/unictype/pr_bidi_pdf.h: Likewise.
22093         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22094         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22095         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22096         * lib/unictype/pr_format_control.h: Likewise.
22097         * lib/unictype/pr_hex_digit.h: Likewise.
22098         * lib/unictype/pr_hyphen.h: Likewise.
22099         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22100         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22101         * lib/unictype/pr_iso_control.h: Likewise.
22102         * lib/unictype/pr_join_control.h: Likewise.
22103         * lib/unictype/pr_left_of_pair.h: Likewise.
22104         * lib/unictype/pr_line_separator.h: Likewise.
22105         * lib/unictype/pr_math.h: Likewise.
22106         * lib/unictype/pr_non_break.h: Likewise.
22107         * lib/unictype/pr_not_a_character.h: Likewise.
22108         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22109         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22110         * lib/unictype/pr_other_id_continue.h: Likewise.
22111         * lib/unictype/pr_other_id_start.h: Likewise.
22112         * lib/unictype/pr_other_lowercase.h: Likewise.
22113         * lib/unictype/pr_other_math.h: Likewise.
22114         * lib/unictype/pr_other_uppercase.h: Likewise.
22115         * lib/unictype/pr_paired_punctuation.h: Likewise.
22116         * lib/unictype/pr_paragraph_separator.h: Likewise.
22117         * lib/unictype/pr_pattern_syntax.h: Likewise.
22118         * lib/unictype/pr_pattern_white_space.h: Likewise.
22119         * lib/unictype/pr_private_use.h: Likewise.
22120         * lib/unictype/pr_quotation_mark.h: Likewise.
22121         * lib/unictype/pr_radical.h: Likewise.
22122         * lib/unictype/pr_soft_dotted.h: Likewise.
22123         * lib/unictype/pr_space.h: Likewise.
22124         * lib/unictype/pr_titlecase.h: Likewise.
22125         * lib/unictype/pr_variation_selector.h: Likewise.
22126         * lib/unictype/pr_white_space.h: Likewise.
22127         * lib/unictype/sy_c_ident.h: Likewise.
22128         * lib/unictype/sy_c_whitespace.h: Likewise.
22129         * lib/unictype/sy_java_whitespace.h: Likewise.
22130         * modules/uni*/*: Bump version number of expected libunistring version.
22131         Reported by Simon Josefsson.
22132
22133 2011-01-09  Karl Heuer  <kwzh@gnu.org>
22134
22135         useless-if-before-free: fix typo in --help and make the internal,
22136         automatic version date update process work once again.
22137         --help output contained a NUL character instead of the
22138         backslash-zero that was intended.  Also, the "must lie within
22139         the first 8 lines" line is on line 9, and hence not getting
22140         automatically updated.
22141         * build-aux/useless-if-before-free: Fix the former by adding a
22142         backslash, and the latter by condensing the three lines of what-it-does
22143         to a single line, leaving one line of slack for the future.
22144
22145 2011-01-09  Bruno Haible  <bruno@clisp.org>
22146
22147         uniwidth/width: Fix width of U+1D173..U+1D17A.
22148         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
22149         symbolic_width, output_width_property_test): New functions.
22150         (main): Invoke output_nonspacing_property, output_width_property_test.
22151         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
22152         U+1D173..U+1D17A.
22153         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
22154         1.
22155         * modules/uniwidth/*: Bump version number of expected libunistring
22156         version.
22157         * modules/unilbrk/*: Likewise.
22158
22159 2011-01-08  Bruno Haible  <bruno@clisp.org>
22160
22161         uninorm tests: Preserve copyright of Unicode data file.
22162         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
22163         Mention modifications.
22164
22165 2011-01-08  Bruno Haible  <bruno@clisp.org>
22166
22167         gen-uni-tables: Prepare for Unicode 5.2.0.
22168         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
22169         (debug_output_lbp, output_lbp): Update.
22170
22171 2011-01-08  Bruno Haible  <bruno@clisp.org>
22172
22173         unilbrk: Clarify gen-uni-tables.c code.
22174         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
22175         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
22176         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
22177
22178 2011-01-07  Bruno Haible  <bruno@clisp.org>
22179
22180         strtod: Restore errno when successfully parsing Infinity or NaN.
22181         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
22182         restore the original errno.
22183
22184 2011-01-07  Bruno Haible  <bruno@clisp.org>
22185
22186         remove test: Avoid failure on HP-UX 11.
22187         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
22188
22189 2011-01-07  Bruno Haible  <bruno@clisp.org>
22190
22191         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
22192         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
22193         error code.
22194
22195 2011-01-07  Pádraig Brady <P@draigBrady.com>
22196
22197         ignore-value: fixup comments, and add Eric Blake
22198         as an author since he rewrote the macros.
22199         * lib/ignore-value.h (ignore_value):  State that
22200         we now support aggregates.  Also specify exactly
22201         when the GCC warn_unused_result feature was added.
22202
22203 2011-01-06  Eric Blake  <eblake@redhat.com>
22204
22205         ignore-value: support aggregate types
22206         * lib/ignore-value.h (ignore_value): Provide separate gcc
22207         definition.
22208         * modules/ignore-value-tests: New test module.
22209         * tests/test-ignore-value.c: New test.
22210
22211         maint.mk: improve sc_prohibit_strcmp regex
22212         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
22213         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
22214         definition of STRNEQ.
22215
22216         signal: work around Haiku issue with SIGBUS
22217         * lib/siglist.h: Add comment.
22218         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
22219         strsignal's favoring of SIGSEGV.
22220         * tests/test-signal.c (main): Avoid test failure.
22221         * doc/posix-headers/signal.texi (signal.h): Document the issue.
22222         Reported by Scott McCreary.
22223
22224         maint.mk: add pre-release check to ensure submodule commits are public
22225         * top/maint.mk (public-submodule-commit): New rule.
22226         (submodule-checks): New variable.
22227         (alpha beta stable): Depend on the variable.
22228
22229 2011-01-05  Pádraig Brady <P@draigBrady.com>
22230         and Jim Meyering  <meyering@redhat.com>
22231
22232         ignore-value: make ignore_value more generic; deprecate ignore_ptr
22233         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
22234         (ATTRIBUTE_DEPRECATED): Define.
22235         (_ignore_case): New function.
22236         (ignore_value): New macro, to replace the old function.
22237         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
22238         * modules/ignore-value (Depends-on): Add stdint.
22239
22240 2011-01-04  Eric Blake  <eblake@redhat.com>
22241
22242         doc: regenerate INSTALL
22243         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
22244         @firstparagraphindent support, now that autoconf dropped it.
22245         (INSTALL_PRELUDE): Reinstate old macro.
22246         * doc/install.texi: Resync from autoconf.
22247         * doc/INSTALL: Reflect recent autoconf update.
22248         * doc/INSTALL.ISO: Likewise.
22249         * doc/INSTALL.UTF-8: Likewise.
22250         Reported by Karl Berry.
22251
22252 2011-01-04  Bruce Korb  <address@hidden>
22253
22254         git-version-gen: avoid a sub-shell
22255         * build-aux/git-version-gen: Redirect stderr in `...` via
22256         "exec 2>...", rather than via an added sub-shell.
22257
22258 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
22259
22260         git-version-gen: use (...) rather than sh -c '...'
22261         * build-aux/git-version-gen: Rather than hard-coding a shell's name
22262         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
22263
22264 2011-01-03  Jim Meyering  <meyering@redhat.com>
22265
22266         git-version-gen: convert leading TABs to spaces
22267         * build-aux/git-version-gen: Expand leading TABs.
22268
22269         git-version-gen: handle failed "git rev-list"
22270         * build-aux/git-version-gen: Rather than leaking a "fatal" error
22271         from git and proceeding as if it had succeeded but printed no SHA1
22272         checksums, suppress the diagnostic and handle the failure.
22273         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
22274
22275         git-version-gen: include command name in one more diagnostic
22276         * build-aux/git-version-gen: When the required .tarball-version file
22277         was missing or unreadable, you might see the diagnostic from "cat",
22278         but no trace of the name of the invoking script.  Now, you still see
22279         the diagnostic from cat, but also get one from "git-version-gen: ".
22280         Inspired by a patch from Bruce Korb.
22281
22282         update-copyright: adjust test to match changed code
22283         * tests/test-update-copyright.sh: Change test's expected output
22284         to match new actual output.
22285
22286 2011-01-02  Bruno Haible  <bruno@clisp.org>
22287
22288         getlogin_r: Avoid test failure on HP-UX 11.
22289         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
22290         ERANGE when the second argument is zero.
22291         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
22292         portability problem.
22293
22294 2011-01-02  Bruce Korb  <bkorb@gnu.org>
22295
22296         * build-aux/update-copyright: doc Simon's changes
22297
22298 2011-01-02  Simon Josefsson  <simon@josefsson.org>
22299
22300         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
22301         environment variable.
22302
22303 2011-01-02  Bruno Haible  <bruno@clisp.org>
22304
22305         unigbrk: Avoid gcc warnings.
22306         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
22307         unused variable.
22308         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
22309         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
22310         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
22311         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
22312         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
22313         Change type of first argument to 'const char *'.
22314         (main): Remove unused variable.
22315         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
22316         type of first argument to 'const char *'.
22317         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
22318         Likewise.
22319         (main): Change type of variable 's'.
22320         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
22321         to 'int'.
22322
22323 2011-01-02  Bruno Haible  <bruno@clisp.org>
22324
22325         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
22326         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
22327         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
22328         bug.
22329         * lib/pwrite.c: Undo 2010-12-31 patch.
22330         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
22331
22332 2011-01-02  Bruno Haible  <bruno@clisp.org>
22333
22334         pread: Fix test whether it works.
22335         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
22336
22337 2011-01-02  Bruno Haible  <bruno@clisp.org>
22338
22339         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
22340         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
22341         ends in "6". Don't require a specific month name. Try also the locale
22342         names found on HP-UX 11 and Solaris 7.
22343
22344 2011-01-02  Bruno Haible  <bruno@clisp.org>
22345
22346         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
22347         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
22348         C linkage.
22349         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
22350
22351 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22352
22353         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
22354         for consistency, since the "cluster" term is not used elsewhere.
22355         * lib/unigbrk.in.h: Update name.
22356         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
22357         * lib/unigbrk/u16-grapheme-next.c: Update name.
22358         * lib/unigbrk/u16-grapheme-prev.c: Update name.
22359         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
22360         * lib/unigbrk/u32-grapheme-next.c: Update name.
22361         * lib/unigbrk/u32-grapheme-prev.c: Update name.
22362         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
22363         * lib/unigbrk/u8-grapheme-next.c: Update name.
22364         * lib/unigbrk/u8-grapheme-prev.c: Update name.
22365         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
22366         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
22367         Suggested by Bruno Haible.
22368
22369 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22370
22371         Remove module 'u8-grapheme-len' as too redundant with
22372         'u8-grapheme-next'.
22373         * modules/unigbrk/u8-grapheme-len: Delete file.
22374         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
22375         * lib/unigbrk.in.h: Remove prototype for deleted function.
22376         * lib/unigbrk/u8-grapheme-len.c: Delete file.
22377         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
22378
22379         Remove module 'u16-grapheme-len' as too redundant with
22380         'u16-grapheme-next'.
22381         * modules/unigbrk/u16-grapheme-len: Delete file.
22382         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
22383         * lib/unigbrk.in.h: Remove prototype for deleted function.
22384         * lib/unigbrk/u16-grapheme-len.c: Delete file.
22385         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
22386
22387         Remove module 'u32-grapheme-len' as too redundant with
22388         'u32-grapheme-next'.
22389         * modules/unigbrk/u32-grapheme-len: Delete file.
22390         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
22391         * lib/unigbrk.in.h: Remove prototype for deleted function.
22392         * lib/unigbrk/u32-grapheme-len.c: Delete file.
22393         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
22394
22395         Suggested by Bruno Haible.
22396
22397 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
22398
22399         * unigbrk.in.h: Fix typo: "ben" => "been".
22400         Reported by Bruno Haible.
22401
22402 2011-01-01  Jim Meyering  <meyering@redhat.com>
22403
22404         maint: update almost all copyright ranges to include 2011
22405         Run the new "make update-copyright" rule.
22406
22407 2011-01-01  Jim Meyering  <meyering@redhat.com>
22408
22409         maint: update-copyright: exempt doc/INSTALL*
22410         * Makefile (update-copyright): Also exclude doc/INSTALL*,
22411         since they are generated.  Suggested by Bruno Haible.
22412
22413 2011-01-01  Jim Meyering  <meyering@redhat.com>
22414
22415         maint: refine the update-copyright rule
22416         * Makefile (update-copyright): Also exclude any file that includes
22417         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
22418         code that merely generates the comment.
22419
22420 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22421
22422         New module 'u8-grapheme-len'.
22423         * modules/unigbrk/u8-grapheme-len: New file.
22424         * modules/unigbrk/u8-grapheme-len-tests: New file.
22425         * lib/unigbrk.in.h: Add prototype for new function.
22426         * lib/unigbrk/u8-grapheme-len.c: New file.
22427         * tests/unigbrk/test-u8-grapheme-len.c: New file.
22428
22429         New module 'u16-grapheme-len'.
22430         * modules/unigbrk/u16-grapheme-len: New file.
22431         * modules/unigbrk/u16-grapheme-len-tests: New file.
22432         * lib/unigbrk.in.h: Add prototype for new function.
22433         * lib/unigbrk/u16-grapheme-len.c: New file.
22434         * tests/unigbrk/test-u16-grapheme-len.c: New file.
22435
22436         New module 'u32-grapheme-len'.
22437         * modules/unigbrk/u32-grapheme-len: New file.
22438         * modules/unigbrk/u32-grapheme-len-tests: New file.
22439         * lib/unigbrk.in.h: Add prototype for new function.
22440         * lib/unigbrk/u32-grapheme-len.c: New file.
22441         * tests/unigbrk/test-u32-grapheme-len.c: New file.
22442
22443         New module 'u8-grapheme-next'.
22444         * modules/unigbrk/u8-grapheme-next: New file.
22445         * modules/unigbrk/u8-grapheme-next-tests: New file.
22446         * lib/unigbrk.in.h: Add prototype for new function.
22447         * lib/unigbrk/u8-grapheme-next.c: New file.
22448         * tests/unigbrk/test-u8-grapheme-next.c: New file.
22449
22450         New module 'u16-grapheme-next'.
22451         * modules/unigbrk/u16-grapheme-next: New file.
22452         * modules/unigbrk/u16-grapheme-next-tests: New file.
22453         * lib/unigbrk.in.h: Add prototype for new function.
22454         * lib/unigbrk/u16-grapheme-next.c: New file.
22455         * tests/unigbrk/test-u16-grapheme-next.c: New file.
22456
22457         New module 'u32-grapheme-next'.
22458         * modules/unigbrk/u32-grapheme-next: New file.
22459         * modules/unigbrk/u32-grapheme-next-tests: New file.
22460         * lib/unigbrk.in.h: Add prototype for new function.
22461         * lib/unigbrk/u32-grapheme-next.c: New file.
22462         * tests/unigbrk/test-u32-grapheme-next.c: New file.
22463
22464         New module 'u8-grapheme-prev'.
22465         * modules/unigbrk/u8-grapheme-prev: New file.
22466         * modules/unigbrk/u8-grapheme-prev-tests: New file.
22467         * lib/unigbrk.in.h: Add prototype for new function.
22468         * lib/unigbrk/u8-grapheme-prev.c: New file.
22469         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
22470
22471         New module 'u16-grapheme-prev'.
22472         * modules/unigbrk/u16-grapheme-prev: New file.
22473         * modules/unigbrk/u16-grapheme-prev-tests: New file.
22474         * lib/unigbrk.in.h: Add prototype for new function.
22475         * lib/unigbrk/u16-grapheme-prev.c: New file.
22476         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
22477
22478         New module 'u32-grapheme-prev'.
22479         * modules/unigbrk/u32-grapheme-prev: New file.
22480         * modules/unigbrk/u32-grapheme-prev-tests: New file.
22481         * lib/unigbrk.in.h: Add prototype for new function.
22482         * lib/unigbrk/u32-grapheme-prev.c: New file.
22483         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
22484
22485         New module 'u8-grapheme-breaks'.
22486         * modules/unigbrk/u8-grapheme-breaks: New file.
22487         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
22488         * lib/unigbrk.in.h: Add prototype for new function.
22489         * lib/unigbrk/u8-grapheme-breaks.c: New file.
22490         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
22491
22492         New module 'u16-grapheme-breaks'.
22493         * modules/unigbrk/u16-grapheme-breaks: New file.
22494         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
22495         * lib/unigbrk.in.h: Add prototype for new function.
22496         * lib/unigbrk/u16-grapheme-breaks.c: New file.
22497         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
22498
22499         New module 'u32-grapheme-breaks'.
22500         * modules/unigbrk/u32-grapheme-breaks: New file.
22501         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
22502         * lib/unigbrk.in.h: Add prototype for new function.
22503         * lib/unigbrk/u32-grapheme-breaks.c: New file.
22504         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
22505
22506         New module 'ulc-grapheme-breaks'.
22507         * modules/unigbrk/ulc-grapheme-breaks: New file.
22508         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
22509         * m4/locale-ar.m4: New file.
22510         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
22511         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
22512         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
22513
22514 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
22515
22516         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
22517         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
22518         modified how this file was generated before I initially submitted
22519         the module, but failed to regenerate it.  This meant that several
22520         of the level2 entries were wrong.
22521         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
22522         Remove the division-by-2 that is folded into the table now that
22523         gbrkprop.h has been regenerated properly.  Now -1 entries are
22524         handled correctly.
22525
22526         New module 'unigbrk/uc-gbrk-prop-tests'.
22527         * modules/unigbrk/uc-gbrk-prop-tests: New file.
22528         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
22529         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
22530         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
22531
22532 2011-01-01  Bruno Haible  <bruno@clisp.org>
22533
22534         Avoid use of hexadecimal escapes.
22535         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
22536         instead of hexadecimal escapes.
22537
22538 2011-01-01  Jim Meyering  <meyering@redhat.com>
22539
22540         maint: new rule to update copyright year ranges
22541         * Makefile (update-copyright): New rule.
22542
22543         maint: indent with TABs in Makefile
22544         * Makefile: Expand leading sequences of spaces to TABs
22545
22546         version-etc: update the copyright year it reports
22547         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
22548
22549 2010-12-31  Bruno Haible  <bruno@clisp.org>
22550
22551         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
22552         * lib/isfinite.c (zerof, zerod, zerol): New variables.
22553         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
22554         zero.
22555
22556 2010-12-31  Bruno Haible  <bruno@clisp.org>
22557
22558         pwrite: Work around HP-UX 11.11 bug.
22559         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
22560         works and set REPLACE_PWRITE if not.
22561         * lib/pwrite.c (pwrite): Add an implementation that uses the system
22562         function.
22563         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
22564
22565 2010-12-31  Bruno Haible  <bruno@clisp.org>
22566
22567         pread: Work around HP-UX 11 bugs.
22568         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
22569         and set REPLACE_PREAD if not.
22570         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
22571
22572 2010-12-31  Eric Blake  <eblake@redhat.com>
22573
22574         nl_langinfo: fix YESEXPR on Irix 6.5
22575         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
22576         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
22577         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
22578         it.
22579
22580 2010-12-31  Bruno Haible  <bruno@clisp.org>
22581
22582         iconv: Document HP-UX 11 bug.
22583         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
22584
22585 2010-12-31  Bruno Haible  <bruno@clisp.org>
22586
22587         ldexpl: Fix link error on HP-UX 11.
22588         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
22589         LDEXPL_LIBM, using $ISNANL_LIBM.
22590
22591 2010-12-31  Eric Blake  <eblake@redhat.com>
22592
22593         ftello: avoid compilation failure with SunStudio c89
22594         * lib/ftello.c (ftello): Use lseek, not llseek.
22595
22596         tests: avoid failing coreutils tests on cygwin
22597         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
22598         (create_exe_shims_): Return 0 when skipping.
22599
22600 2010-12-31  Bruno Haible  <bruno@clisp.org>
22601
22602         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
22603         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
22604
22605 2010-12-31  Bruno Haible  <bruno@clisp.org>
22606
22607         waitpid: Fix link error in C++ mode.
22608         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
22609
22610 2010-12-31  Bruno Haible  <bruno@clisp.org>
22611
22612         isnan: Use GCC built-ins when possible.
22613         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
22614         __builtin_isnan.
22615         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
22616         (isnan): Define using GCC built-ins for GCC >= 4.0.
22617
22618 2010-12-31  Bruno Haible  <bruno@clisp.org>
22619
22620         isnand: Fix mistake.
22621         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
22622         __builtin_isnand.
22623
22624 2010-12-31  Bruno Haible  <bruno@clisp.org>
22625
22626         open: Avoid C++ error on HP-UX 11.
22627         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
22628
22629 2010-12-31  Bruno Haible  <bruno@clisp.org>
22630
22631         time_r: Add missing declarations on HP-UX 11.
22632         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
22633         instead of HAVE_LOCALTIME_R.
22634         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
22635         HAVE_LOCALTIME_R always.
22636         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
22637         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
22638         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
22639         HAVE_LOCALTIME_R.
22640         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
22641         * doc/posix-functions/localtime_r.texi: Likewise.
22642
22643 2010-12-29  Eric Blake  <eblake@redhat.com>
22644
22645         mountlist: tweak previous commit
22646         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
22647         Reported by Paul Eggert.
22648
22649         mountlist: fix local drive detection on cygwin
22650         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
22651         that works for cygwin.
22652
22653 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
22654
22655         ftoastr, snprintf: ftoastr + snprintf module
22656         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
22657         since the snprintf module now should be good enough here.
22658         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
22659         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
22660         and gl_MODULE_INDICATOR([snprintf]), but the former enables
22661         GNULIB_SNPRINTF only for the test directory, and the latter
22662         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
22663         seems to suffice by itself.
22664
22665 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
22666
22667         alloca: one step towards thread-safety
22668         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
22669         need for a static variable.  All callers changed.  This does not
22670         make the alloca replacement thread-safe, but it's one step.
22671
22672         tests: minor indenting change
22673         * tests/init.sh: Sync from coreutils housekeeping patch
22674         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
22675         to keep lines within 80 columns.
22676
22677 2010-12-28  Jim Meyering  <meyering@redhat.com>
22678
22679         regex: don't infloop on persistent failing calloc
22680         * lib/regexec.c (build_trtable): Return failure indication upon
22681         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
22682         In glibc, this was fixed for version 2.13:
22683         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
22684
22685 2010-12-28  Bruno Haible  <bruno@clisp.org>
22686             Paul Eggert <eggert@cs.ucla.edu>
22687
22688         linkat: Make implementation robust against system behaviour variations.
22689         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
22690         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
22691         way, and to -2 if it needs a generic runtime test.
22692         * lib/linkat.c (solaris_optimized_link_immediate,
22693         solaris_optimized_link_follow): New functions.
22694         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
22695         (check_same_link): Use it.
22696
22697 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
22698
22699         New module 'unigbrk/base'.
22700         * modules/unigbrk/base: New file.
22701         * lib/unigbrk.in.h: New file.
22702
22703         New module 'unigbrk/uc-gbrk-prop'.
22704         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
22705         * modules/unigbrk/uc-gbrk-prop: New file.
22706         * lib/unigbrk/gbrkprop.h: New file.
22707         * lib/unigbrk/uc-gbrk-prop.c: New file.
22708
22709         New module 'unigbrk/uc-is-grapheme-break'.
22710         * modules/unigbrk/uc-is-grapheme-break: New file.
22711         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
22712         * lib/unigbrk/uc-is-grapheme-break.c: New file.
22713         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
22714         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
22715         * tests/unigbrk/GraphemeBreakTest.txt: New file.
22716
22717         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
22718
22719 2010-12-27  Bruno Haible  <bruno@clisp.org>
22720
22721         linkat test: Avoid failure on Solaris 11 2010-11.
22722         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
22723
22724 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22725
22726         utimens: work around glibc rounding bug on more platforms
22727         * lib/utimens.c (fdutimens): Work around rounding bug even if
22728         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
22729         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
22730
22731 2010-12-27  Bruno Haible  <bruno@clisp.org>
22732
22733         select tests: Improve comments.
22734         * tests/test-select.c (do_select): Add comments.
22735
22736 2010-12-27  Bruno Haible  <bruno@clisp.org>
22737
22738         select tests: Safer way of handling timeout.
22739         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
22740         at every invocation.
22741
22742 2010-12-27  Bruno Haible  <bruno@clisp.org>
22743
22744         select tests: Use 'bool' where appropriate.
22745         * tests/test-select.c (connect_to_socket): Change argument type to
22746         'bool'.
22747
22748 2010-12-27  Bruno Haible  <bruno@clisp.org>
22749
22750         select tests: Use existing modules.
22751         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
22752         (configure.ac): Don't test for unistd.h.
22753         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
22754         declared in <unistd.h>.
22755
22756 2010-12-27  Bruno Haible  <bruno@clisp.org>
22757
22758         mbrtowc: Work around a Solaris 7 bug.
22759         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
22760         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
22761         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
22762         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
22763         MBRTOWC_NULL_ARG1_BUG.
22764         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
22765         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
22766         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
22767         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
22768
22769 2010-12-27  Jim Meyering  <meyering@redhat.com>
22770
22771         read-file.c: tweak syntax
22772         * lib/read-file.c (fread_file): Remove space after "*" in function
22773         definitions.
22774
22775 2010-12-27  Bruno Haible  <bruno@clisp.org>
22776
22777         times test: Avoid gcc warnings on OSF/1.
22778         * tests/test-times.c (main): Cast printf arguments from clock_t to
22779         'long int'.
22780
22781 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
22782
22783         utimens: work around glibc rounding bug on older Linux kernels
22784         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
22785         on Linux with a glibc whose utimes might not work, then work
22786         around a longstanding glibc bug involving rounding rather than
22787         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
22788         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22789
22790 2010-12-26  Bruno Haible  <bruno@clisp.org>
22791
22792         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
22793         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
22794         _GL_CXXALIAS_SYS.
22795         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22796
22797 2010-12-26  Bruno Haible  <bruno@clisp.org>
22798
22799         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
22800         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
22801         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22802         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
22803         looking for the declaration.
22804         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
22805         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
22806         problem.
22807         * doc/posix-functions/inet_pton.texi: Likewise.
22808
22809 2010-12-26  Bruno Haible  <bruno@clisp.org>
22810
22811         arpa_inet: Use the common idioms with C++ support.
22812         * lib/arpa_inet.in.h: Include c++defs.h.
22813         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
22814         support.
22815         * modules/arpa_inet (Depends-on): Add c++defs.
22816         (Makefile.am): Substitute the contents of c++defs.h.
22817         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
22818         * modules/arpa_inet-c++-tests: New file.
22819         * tests/test-arpa_inet-c++.cc: New file.
22820
22821 2010-12-25  Bruno Haible  <bruno@clisp.org>
22822
22823         Fix more C++ link errors on Solaris 8.
22824         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
22825         $(LIB_EACCESS).
22826         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
22827         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
22828         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
22829         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
22830         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
22831
22832 2010-12-25  Bruno Haible  <bruno@clisp.org>
22833
22834         printf-posix: Fix link error when a non-GCC compiler is used.
22835         * lib/stdio.in.h (printf): When not using GCC, override printf
22836         correctly.
22837         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22838
22839 2010-12-25  Bruno Haible  <bruno@clisp.org>
22840
22841         strerror_r-posix: Update doc.
22842         * doc/posix-functions/strerror_r.texi: Update doc about the return
22843         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
22844
22845 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
22846
22847         utimens: simplify the logic of the previous change
22848         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
22849         This should not affect whether the test succeeds or fails.
22850
22851         utimens: configure better on hosts with NFS clock skew
22852         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
22853         uses the clock of the local host.  It might use the clock of the
22854         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
22855         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
22856
22857 2010-12-25  Bruno Haible  <bruno@clisp.org>
22858
22859         ptsname test: Avoid failure on Solaris.
22860         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
22861         open a pseudo-terminal; don't use BSD-style ptys.
22862         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
22863
22864 2010-12-25  Bruno Haible  <bruno@clisp.org>
22865
22866         ptsname: Avoid ERANGE failure on some systems.
22867         * lib/ptsname.c (buffer): Increase size.
22868
22869 2010-12-25  Bruno Haible  <bruno@clisp.org>
22870
22871         rename, renameat: Avoid test failures at NFS mounted locations.
22872         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
22873         so that subsequent mkdir calls succeed.
22874
22875 2010-12-25  Bruno Haible  <bruno@clisp.org>
22876
22877         iswblank: Fix C++ link error on Solaris 8.
22878         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
22879         _GL_FUNCDECL_SYS.
22880
22881 2010-12-25  Bruno Haible  <bruno@clisp.org>
22882
22883         unistd: Fix C++ link error on Solaris 8.
22884         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
22885
22886 2010-12-25  Bruno Haible  <bruno@clisp.org>
22887
22888         readlink doc: Mention an old glibc bug.
22889         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
22890
22891 2010-12-25  Bruno Haible  <bruno@clisp.org>
22892
22893         fcntl-h: Fix for use of C++ on glibc systems.
22894         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22895         also on glibc systems in C++ mode.
22896         Reported by Gary V. Vaughan <gary@gnu.org>.
22897
22898 2010-12-25  Bruno Haible  <bruno@clisp.org>
22899
22900         roundl-ieee: Make it work on OSF/1 5.1 with cc.
22901         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
22902
22903 2010-12-25  Bruno Haible  <bruno@clisp.org>
22904
22905         truncl-ieee: Make it work on OSF/1 5.1 with cc.
22906         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
22907         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
22908         test whether truncl works according to ISO C 99 with IEC 60559.
22909         * m4/truncl-ieee.m4: New file.
22910         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
22911         m4/signbit.m4.
22912         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
22913
22914 2010-12-25  Bruno Haible  <bruno@clisp.org>
22915
22916         ceill-ieee: Make it work on OSF/1 5.1 with cc.
22917         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
22918         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
22919         test whether ceill works according to ISO C 99 with IEC 60559.
22920         * m4/ceill-ieee.m4: New file.
22921         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
22922         m4/signbit.m4.
22923         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
22924
22925 2010-12-25  Bruno Haible  <bruno@clisp.org>
22926
22927         Ensure all prerequisites of <wchar.h> are included.
22928         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
22929         before <wchar.h>.
22930         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22931         gl_MBRLEN_NUL_RETVAL): Likewise.
22932         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22933         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
22934         AC_FUNC_MBRTOWC): Likewise.
22935         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22936         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
22937         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22938         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22939         Likewise.
22940         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22941         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
22942         (gl_WCHAR_H): Improve comments.
22943         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22944
22945 2010-12-25  Bruno Haible  <bruno@clisp.org>
22946
22947         strtok_r: Fix C syntax error in autoconf macro.
22948         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
22949         characters in test program.
22950
22951 2010-12-24  Bruno Haible  <bruno@clisp.org>
22952
22953         ceil, trunc, round: Fix gcc warnings.
22954         * lib/ceil.c (MIN): Undefine before redefining.
22955         * lib/trunc.c (MIN): Likewise.
22956         * lib/round.c (MIN): Likewise.
22957         Include <math.h> first.
22958
22959 2010-12-24  Bruno Haible  <bruno@clisp.org>
22960
22961         select tests: Avoid failures on OSF/1 5.1.
22962         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
22963         failure of closing the last socket; it may fail with ECONNRESET.
22964
22965 2010-12-24  Eric Blake  <eblake@redhat.com>
22966
22967         stdint: avoid HP-UX 10.20 preprocessor bug
22968         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
22969         than #if.
22970         * tests/test-floor2.c (main): Likewise.
22971         Reported by Peter O'Gorman.
22972
22973         pipe: make obsoletion transition easier
22974         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
22975         * modules/pipe (Files): Include revived file.
22976         (Include): Drop reference, to mirror getdate's behavior.
22977
22978 2010-12-24  Bruno Haible  <bruno@clisp.org>
22979
22980         sys_socket: Hide mismatch of declarations on NonStop Kernel.
22981         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
22982         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
22983         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22984
22985 2010-12-24  Bruno Haible  <bruno@clisp.org>
22986
22987         gethostname: Ensure declaration on NonStop Kernel.
22988         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
22989         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22990
22991 2010-12-24  Bruno Haible  <bruno@clisp.org>
22992
22993         sys_select: Ensure all necessary types on NonStop Kernel.
22994         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
22995         include <sys/time.h>.
22996         * doc/posix-headers/sys_select.texi: Mention that it's missing on
22997         NonStop Kernel.
22998         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
22999
23000 2010-12-24  Bruno Haible  <bruno@clisp.org>
23001
23002         sys_select: Remove unneeded include.
23003         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
23004         have <sys/select.h>.
23005
23006 2010-12-24  Bruno Haible  <bruno@clisp.org>
23007
23008         gethostname: Provide a fallback for HOST_NAME_MAX.
23009         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
23010         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
23011         instead.
23012         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23013
23014 2010-12-24  Bruno Haible  <bruno@clisp.org>
23015
23016         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
23017         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
23018         (SA_RESTART): Likewise.
23019         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23020
23021 2010-12-24  Bruno Haible  <bruno@clisp.org>
23022
23023         signal: Define NSIG.
23024         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
23025         * tests/test-signal.c (nsig): New variable.
23026         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23027
23028 2010-12-24  Bruno Haible  <bruno@clisp.org>
23029
23030         rename, renameat: Avoid test failures on OSF/1 5.1.
23031         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
23032         alternative error codes.
23033         * tests/test-renameat.c (main): Likewise.
23034
23035 2010-12-24  Bruno Haible  <bruno@clisp.org>
23036
23037         *printf: Detect large precisions bug on Solaris 10/SPARC.
23038         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
23039         by Paul Eggert.
23040         * tests/test-snprintf-posix.h (test_function): Add this test code here
23041         too.
23042         * tests/test-sprintf-posix.h (test_function): Likewise.
23043         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23044         * tests/test-vasprintf-posix.c (test_function): Likewise.
23045         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
23046         around by gnulib.
23047         * doc/posix-functions/printf.texi: Likewise.
23048         * doc/posix-functions/snprintf.texi: Likewise.
23049         * doc/posix-functions/sprintf.texi: Likewise.
23050         * doc/posix-functions/vfprintf.texi: Likewise.
23051         * doc/posix-functions/vprintf.texi: Likewise.
23052         * doc/posix-functions/vsnprintf.texi: Likewise.
23053         * doc/posix-functions/vsprintf.texi: Likewise.
23054         * doc/posix-functions/dprintf.texi: Undo last commit.
23055         * doc/posix-functions/vdprintf.texi: Likewise.
23056
23057 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23058
23059         tests: port test-fdutimensat.c to Solaris 8
23060         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
23061         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
23062         On Solaris 8, it fails with errno == ENOSYS, because there is no
23063         futimens (so it can't use the fd), and there is no lutimens (so it
23064         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
23065
23066         vsnprintf: make more consistent with snprintf; doc fixes
23067
23068         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
23069         the byte count return problem was promoted from the snprintf-posix
23070         to the snprintf module.
23071         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23072         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
23073         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
23074         * tests/test-snprintf.c (main): Check the byte count returned.
23075         * tests/test-vsnprintf.c (main): Likewise.
23076
23077 2010-12-23  Eric Blake  <eblake@redhat.com>
23078
23079         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
23080         * modules/sigpipe (License): Relax license.
23081
23082 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23083
23084         doc: document Solaris printf bug with large float precisions
23085         * doc/posix-functions/dprintf.texi (dprintf):
23086         * doc/posix-functions/fprintf.texi (fprintf):
23087         * doc/posix-functions/printf.texi (printf):
23088         * doc/posix-functions/snprintf.texi (snprintf):
23089         * doc/posix-functions/sprintf.texi (sprintf):
23090         * doc/posix-functions/vdprintf.texi (vdprintf):
23091         * doc/posix-functions/vfprintf.texi (vfprintf):
23092         * doc/posix-functions/vprintf.texi (vprintf):
23093         * doc/posix-functions/vsnprintf.texi (vsnprintf):
23094         * doc/posix-functions/vsprintf.texi (vsprintf):
23095         Mention that these functions mishandle large floating point
23096         precisions on Solaris 10.  The same bug is also present in Solaris
23097         8, and I assume earlier.  This causes "cd gnulib-tests; make
23098         check" to fail on Solaris 8 (and I assume, later) when building
23099         the latest coreutils, in test-vasprintf-posix's call to
23100         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
23101         the wide flavors (e.g., wprintf) so this patch just updates the
23102         documentation for the narrow ones.
23103
23104         test-posixtm.c: add two tests
23105         * tests/test-posixtm.c: Add two tests, to highlight the
23106         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
23107         around this bug; this is merely to document it.
23108
23109 2010-12-22  Bruno Haible  <bruno@clisp.org>
23110
23111         getlogin_r: Work around portability problem on OSF/1.
23112         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
23113         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
23114         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
23115         test for a truncated result.
23116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
23117         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
23118         * modules/getlogin_r (Depends-on): Add memchr.
23119         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
23120
23121 2010-12-22  Bruno Haible  <bruno@clisp.org>
23122
23123         ptsname: Avoid test failure on OSF/1 5.1.
23124         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
23125         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
23126         (same_slave): New function.
23127         (main): Use it to compare ptsname's result with the expected file name.
23128
23129 2010-12-22  Bruno Haible  <bruno@clisp.org>
23130
23131         Port extended stdio modules to HP NonStop Kernel.
23132         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
23133         macros.
23134         * lib/fbufmode.c: Update comments.
23135         * lib/fflush.c: Likewise.
23136         * lib/fpurge.c: Likewise.
23137         * lib/freadable.c: Likewise.
23138         * lib/freadahead.c: Likewise.
23139         * lib/freading.c: Likewise.
23140         * lib/freadptr.c: Likewise.
23141         * lib/freadseek.c: Likewise.
23142         * lib/fseeko.c: Likewise.
23143         * lib/fseterr.c: Likewise.
23144         * lib/fwritable.c: Likewise.
23145         * lib/fwriting.c: Likewise.
23146         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23147
23148 2010-12-22  Bruno Haible  <bruno@clisp.org>
23149
23150         ttyname_r: Work around bug on OSF/1 5.1.
23151         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
23152         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
23153         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
23154         present.
23155         * lib/ttyname_r.c (ttyname_r): Update comments.
23156
23157 2010-12-22  Bruno Haible  <bruno@clisp.org>
23158
23159         round: Implement result sign according to IEEE 754.
23160         * lib/round.c (MIN, MINUS_ZERO): New macros.
23161         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
23162         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
23163         * tests/test-round-ieee.c (main): Likewise.
23164         * tests/test-roundl-ieee.c (main): Likewise.
23165
23166         trunc: Implement result sign according to IEEE 754.
23167         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
23168         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
23169         * tests/test-trunc2.c: Include minus-zero.h.
23170         (MINUS_ZERO): New macro.
23171         (trunc_reference): Keep in sync with lib/trunc.c.
23172         * tests/test-truncf2.c: Include minus-zero.h.
23173         (MINUS_ZERO): New macro.
23174         (truncf_reference): Keep in sync with lib/trunc.c.
23175         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
23176         * tests/test-trunc-ieee.c (main): Likewise.
23177         * tests/test-truncl-ieee.c (main): Likewise.
23178
23179         ceil: Implement result sign according to IEEE 754.
23180         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
23181         (FUNC): Return -0.0 for -1 < x < 0.
23182         * tests/test-ceil2.c: Include minus-zero.h.
23183         (MINUS_ZERO): New macro.
23184         (ceil_reference): Keep in sync with lib/ceil.c.
23185         * tests/test-ceilf2.c: Include minus-zero.h.
23186         (MINUS_ZERO): New macro.
23187         (ceilf_reference): Keep in sync with lib/ceil.c.
23188         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
23189         * tests/test-ceil-ieee.c (main): Likewise.
23190         * tests/test-ceill-ieee.c (main): Likewise.
23191
23192         floor: Implement result sign according to IEEE 754.
23193         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
23194         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
23195         * tests/test-floorf2.c (floorf_reference): Likewise.
23196         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
23197         * tests/test-floor-ieee.c (main): Likewise.
23198         * tests/test-floorl-ieee.c (main): Likewise.
23199
23200 2010-12-22  Bruno Haible  <bruno@clisp.org>
23201
23202         getaddrinfo: Update doc.
23203         * doc/posix-functions/gai_strerror.texi: Return type is also different
23204         on AIX and HP-UX.
23205
23206 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23207
23208         getaddrinfo, inet_ntop: Update doc for Solaris.
23209         * doc/posix-functions/gai_strerror.texi: Return type is also an
23210         issue on Solaris 9 and earlier.
23211         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
23212         on Solaris 10 and earlier.
23213
23214 2010-12-21  Bruno Haible  <bruno@clisp.org>
23215
23216         New module 'roundl-ieee'.
23217         * modules/roundl-ieee: New file.
23218         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
23219         test whether roundl works according to ISO C 99 with IEC 60559.
23220         * m4/roundl-ieee.m4: New file.
23221         * modules/roundl-ieee-tests: New file.
23222         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
23223         * tests/test-roundl.c (main): Remove signbit tests.
23224         * modules/roundl-tests (Depends-on): Remove signbit.
23225         * doc/posix-functions/roundl.texi: Mention the new module.
23226
23227 2010-12-21  Bruno Haible  <bruno@clisp.org>
23228
23229         New module 'truncl-ieee'.
23230         * modules/truncl-ieee: New file.
23231         * modules/truncl-ieee-tests: New file.
23232         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
23233         * tests/test-truncl.c (main): Remove signbit tests.
23234         * modules/truncl-tests (Depends-on): Remove signbit.
23235         * doc/posix-functions/truncl.texi: Mention the new module.
23236
23237 2010-12-21  Bruno Haible  <bruno@clisp.org>
23238
23239         New module 'ceill-ieee'.
23240         * modules/ceill-ieee: New file.
23241         * modules/ceill-ieee-tests: New file.
23242         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
23243         * tests/test-ceill.c (main): Remove signbit tests.
23244         * modules/ceill-tests (Depends-on): Remove signbit.
23245         * doc/posix-functions/ceill.texi: Mention the new module.
23246
23247 2010-12-21  Bruno Haible  <bruno@clisp.org>
23248
23249         New module 'floorl-ieee'.
23250         * modules/floorl-ieee: New file.
23251         * modules/floorl-ieee-tests: New file.
23252         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
23253         * tests/test-floorl.c (main): Remove signbit tests.
23254         * modules/floorl-tests (Depends-on): Remove signbit.
23255         * doc/posix-functions/floorl.texi: Mention the new module.
23256
23257 2010-12-21  Bruno Haible  <bruno@clisp.org>
23258
23259         New module 'round-ieee'.
23260         * modules/round-ieee: New file.
23261         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
23262         whether round works according to ISO C 99 with IEC 60559.
23263         * m4/round-ieee.m4: New file.
23264         * modules/round-ieee-tests: New file.
23265         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
23266         * tests/test-round1.c (main): Remove signbit tests.
23267         * modules/round-tests (Depends-on): Remove 'signbit'.
23268         * doc/posix-functions/round.texi: Mention the new module.
23269
23270 2010-12-21  Bruno Haible  <bruno@clisp.org>
23271
23272         New module 'trunc-ieee'.
23273         * modules/trunc-ieee: New file.
23274         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
23275         whether trunc works according to ISO C 99 with IEC 60559.
23276         * m4/trunc-ieee.m4: New file.
23277         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
23278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
23279         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
23280         * modules/trunc-ieee-tests: New file.
23281         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
23282         * tests/test-trunc1.c (main): Remove signbit tests.
23283         * modules/trunc-tests (Depends-on): Remove 'signbit'.
23284         * doc/posix-functions/trunc.texi: Mention the new module.
23285
23286 2010-12-21  Bruno Haible  <bruno@clisp.org>
23287
23288         New module 'ceil-ieee'.
23289         * modules/ceil-ieee: New file.
23290         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
23291         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
23292         ISO C 99 with IEC 60559.
23293         * m4/ceil-ieee.m4: New file.
23294         * modules/ceil (Files): Add lib/ceil.c.
23295         (Depends-on): Add 'float'.
23296         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23297         * lib/math.in.h (ceil): New declaration.
23298         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
23299         REPLACE_CEIL.
23300         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
23301         * modules/ceil-ieee-tests: New file.
23302         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
23303         * tests/test-math-c++.cc: Check the signature of 'ceil'.
23304         * doc/posix-functions/ceil.texi: Mention the new module.
23305
23306 2010-12-21  Bruno Haible  <bruno@clisp.org>
23307
23308         New module 'floor-ieee'.
23309         * modules/floor-ieee: New file.
23310         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
23311         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
23312         ISO C 99 with IEC 60559.
23313         * m4/floor-ieee.m4: New file.
23314         * modules/floor (Files): Add lib/floor.c.
23315         (Depends-on): Add 'float'.
23316         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23317         * lib/math.in.h (floor): New declaration.
23318         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
23319         REPLACE_FLOOR.
23320         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
23321         * modules/floor-ieee-tests: New file.
23322         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
23323         * tests/test-math-c++.cc: Check the signature of 'floor'.
23324         * doc/posix-functions/floor.texi: Mention the new module.
23325
23326 2010-12-21  Bruno Haible  <bruno@clisp.org>
23327
23328         New module 'roundf-ieee'.
23329         * modules/roundf-ieee: New file.
23330         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
23331         test whether roundf works according to ISO C 99 with IEC 60559.
23332         * m4/roundf-ieee.m4: New file.
23333         * modules/roundf-ieee-tests: New file.
23334         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
23335         * tests/test-roundf1.c (main): Remove signbit tests.
23336         * modules/roundf-tests (Depends-on): Remove 'signbit'.
23337         * doc/posix-functions/roundf.texi: Mention the new module.
23338
23339 2010-12-21  Bruno Haible  <bruno@clisp.org>
23340
23341         New module 'truncf-ieee'.
23342         * modules/truncf-ieee: New file.
23343         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
23344         test whether truncf works according to ISO C 99 with IEC 60559.
23345         * m4/truncf-ieee.m4: New file.
23346         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
23347         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
23348         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
23349         * modules/truncf-ieee-tests: New file.
23350         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
23351         * tests/test-truncf1.c (main): Remove signbit tests.
23352         * modules/truncf-tests (Depends-on): Remove 'signbit'.
23353         * doc/posix-functions/truncf.texi: Mention the new module.
23354
23355 2010-12-21  Bruno Haible  <bruno@clisp.org>
23356
23357         New module 'ceilf-ieee'.
23358         * modules/ceilf-ieee: New file.
23359         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
23360         test whether ceilf works according to ISO C 99 with IEC 60559.
23361         * m4/ceilf-ieee.m4: New file.
23362         * modules/ceilf-ieee-tests: New file.
23363         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
23364         * tests/test-ceilf1.c (main): Remove signbit tests.
23365         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
23366         * doc/posix-functions/ceilf.texi: Mention the new module.
23367
23368 2010-12-21  Bruno Haible  <bruno@clisp.org>
23369
23370         New module 'floorf-ieee'.
23371         * modules/floorf-ieee: New file.
23372         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
23373         test whether floorf works according to ISO C 99 with IEC 60559.
23374         * m4/floorf-ieee.m4: New file.
23375         * modules/floorf-ieee-tests: New file.
23376         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
23377         * tests/test-floorf1.c (main): Remove signbit tests.
23378         * modules/floorf-tests (Depends-on): Remove 'signbit'.
23379         * doc/posix-functions/floorf.texi: Mention the new module.
23380
23381 2010-12-21  Bruno Haible  <bruno@clisp.org>
23382
23383         Support for minus zero in autoconf macros.
23384         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
23385         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
23386         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
23387         * tests/minus-zero.h: Update comments.
23388
23389 2010-12-21  Bruno Haible  <bruno@clisp.org>
23390
23391         Tests for module 'ceil'.
23392         * modules/ceil-tests: New file.
23393         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
23394         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
23395
23396 2010-12-21  Bruno Haible  <bruno@clisp.org>
23397
23398         Tests for module 'floor'.
23399         * modules/floor-tests: New file.
23400         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
23401         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
23402
23403 2010-12-21  Bruno Haible  <bruno@clisp.org>
23404
23405         math: Fix indentation.
23406         * lib/math.in.h (floorf): Fix indentation.
23407
23408 2010-12-21  Bruno Haible  <bruno@clisp.org>
23409
23410         Fix cross-compilation guesses on Solaris.
23411         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
23412         not match "solaris2.10".
23413         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23414         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
23415         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
23416
23417 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
23418
23419         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
23420         This fixes a problem observed with the latest coreutils snapshot
23421         that caused a test to fail on Solaris 8.  src/csplit.c's call
23422         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
23423         earlier, instead of returning the number of bytes that would have
23424         been generated; this causes csplit to incorrectly report memory
23425         exhaustion.
23426         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
23427         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
23428         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
23429         comments to match.
23430         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
23431         Fix typo in matching older versions of Solaris: "solaris2.10"
23432         is matched by the shell pattern "solaris2.[0-9]*".  This matters
23433         only for guessing while cross-compiling.
23434         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
23435
23436 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
23437
23438         ftoastr: fix comment again
23439         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23440         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
23441         Also, simplify example a bit by using flags = 0.
23442
23443 2010-12-20  Bruno Haible  <bruno@clisp.org>
23444
23445         round*, trunc*: Update documentation regarding glibc.
23446         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
23447         * doc/posix-functions/round.texi: Likewise.
23448         * doc/posix-functions/roundl.texi: Likewise.
23449         * doc/posix-functions/truncf.texi: Likewise.
23450         * doc/posix-functions/trunc.texi: Likewise.
23451         * doc/posix-functions/truncl.texi: Likewise.
23452
23453 2010-12-20  Bruno Haible  <bruno@clisp.org>
23454
23455         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
23456         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
23457         * doc/posix-functions/round.texi: Likewise.
23458         * doc/posix-functions/roundl.texi: Likewise.
23459
23460 2010-12-20  Bruno Haible  <bruno@clisp.org>
23461
23462         ttyname_r: Add missing declaration on HP-UX 11.
23463         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
23464         HAVE_TTYNAME_R.
23465         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
23466         declared. Set HAVE_TTYNAME_R always.
23467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23468         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
23469         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
23470         HAVE_TTYNAME_R.
23471         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
23472
23473 2010-12-20  Bruno Haible  <bruno@clisp.org>
23474
23475         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
23476         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
23477         * doc/posix-functions/getlogin_r.texi: Likewise.
23478         * tests/test-getlogin.c: Include <errno.h>.
23479         (main): Avoid test failure on HP-UX 11.11.
23480         * tests/test-getlogin_r.c (main): Likewise.
23481
23482 2010-12-20  Bruno Haible  <bruno@clisp.org>
23483
23484         getlogin_r: Add missing declaration on HP-UX 11.
23485         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
23486         declared also when it exists as a function.
23487         * doc/posix-functions/getlogin_r.texi: Document this workaround.
23488
23489 2010-12-20  Bruno Haible  <bruno@clisp.org>
23490
23491         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
23492         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
23493         through wcrtomb.
23494
23495 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
23496
23497         ftoastr: fix comment
23498         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
23499         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
23500
23501 2010-12-19  Bruno Haible  <bruno@clisp.org>
23502
23503         isnan: Ensure it is a macro.
23504         * lib/math.in.h (isnan): Define as a macro if not already a macro.
23505         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
23506         Solaris.
23507
23508 2010-12-19  Bruno Haible  <bruno@clisp.org>
23509
23510         ldexpl test: Fix link error on OSF/1 5.1.
23511         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
23512
23513 2010-12-19  Bruno Haible  <bruno@clisp.org>
23514
23515         wctype: Make it work in C++ mode on OSF/1 5.1.
23516         * lib/wctype.in.h (iswblank): Declare but not define here.
23517         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
23518         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
23519         * modules/wctype (Files): Add lib/iswblank.c.
23520
23521 2010-12-19  Bruno Haible  <bruno@clisp.org>
23522
23523         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
23524         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
23525         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
23526
23527 2010-12-19  Bruno Haible  <bruno@clisp.org>
23528
23529         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
23530         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
23531         _POSIX_PII_SOCKET.
23532         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
23533         * doc/posix-functions/recvfrom.texi: Likewise.
23534         * doc/posix-functions/send.texi: Likewise.
23535         * doc/posix-functions/sendto.texi: Likewise.
23536
23537 2010-12-19  Bruno Haible  <bruno@clisp.org>
23538
23539         tcgetsid: Add missing declaration on OSF/1 5.1.
23540         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
23541         HAVE_TCGETSID.
23542         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
23543         Don't set HAVE_TCGETSID.
23544         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
23545         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
23546         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
23547         HAVE_TCGETSID.
23548         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
23549
23550 2010-12-19  Bruno Haible  <bruno@clisp.org>
23551
23552         stdio: Fix problem with popen() declaration on OSF/1 5.1.
23553         * lib/stdio.in.h: During the include_next statement, let recursive
23554         includes of this file include only the system header file.
23555
23556 2010-12-19  Bruno Haible  <bruno@clisp.org>
23557
23558         iconv_open: Fix regression from 2010-12-04.
23559         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
23560         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
23561
23562 2010-12-19  Bruno Haible  <bruno@clisp.org>
23563
23564         stdbool test: Avoid a gcc warning.
23565         * tests/test-stdbool.c (main): Fail if e1 is false.
23566         Reported by Jim Meyering.
23567
23568 2010-12-19  Jim Meyering  <meyering@redhat.com>
23569
23570         setenv: restore to working order
23571         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
23572         mistakenly removed.
23573         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
23574         HAVE_SETENV.
23575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
23576         HAVE_SETENV.
23577
23578 2010-12-19  Bruno Haible  <bruno@clisp.org>
23579
23580         Document some different function declarations on OSF/1 5.1.
23581         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
23582         * doc/posix-functions/inet_ntop.texi: Likewise.
23583         * doc/posix-functions/gethostname.texi: Likewise.
23584         * lib/unistd.in.h (gethostname): Update comment.
23585
23586 2010-12-19  Bruno Haible  <bruno@clisp.org>
23587
23588         doc: Mention vasprintf-posix module.
23589         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
23590         the 'vasprintf-posix' module.
23591         * doc/glibc-functions/vasprintf.texi: Likewise.
23592
23593 2010-12-19  Bruno Haible  <bruno@clisp.org>
23594
23595         unsetenv: Add missing declaration on OSF/1 5.1.
23596         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
23597         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
23598         Don't set HAVE_UNSETENV. In the test program, set _BSD.
23599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
23600         not HAVE_UNSETENV.
23601         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
23602         HAVE_UNSETENV.
23603         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
23604
23605 2010-12-19  Bruno Haible  <bruno@clisp.org>
23606
23607         setenv: Add missing declaration on OSF/1 5.1.
23608         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
23609         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
23610         declared. Don't set HAVE_SETENV.
23611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
23612         not HAVE_SETENV.
23613         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
23614         HAVE_SETENV.
23615         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
23616
23617 2010-12-19  Bruno Haible  <bruno@clisp.org>
23618
23619         nl_langinfo tests: Avoid gcc warning.
23620         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
23621
23622 2010-12-19  Bruno Haible  <bruno@clisp.org>
23623
23624         mknod: Avoid error in C++ mode on OSF/1 with GCC.
23625         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
23626         _GL_CXXALIAS_SYS.
23627
23628 2010-12-19  Bruno Haible  <bruno@clisp.org>
23629
23630         stdbool: Relax test.
23631         * tests/test-stdbool.c (e): Don't require that casts from a variable's
23632         address to 'bool' work in static initializer, for compilers other than
23633         GCC.
23634
23635 2010-12-19  Bruno Haible  <bruno@clisp.org>
23636
23637         ftello: Add missing declaration on OSF/1 5.1.
23638         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
23639         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
23640         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
23641         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
23642         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
23643
23644 2010-12-19  Bruno Haible  <bruno@clisp.org>
23645
23646         fseeko: Add missing declaration on OSF/1 5.1.
23647         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
23648         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
23649         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
23650         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
23651         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
23652
23653 2010-12-19  Bruno Haible  <bruno@clisp.org>
23654
23655         fchdir: Add missing declaration on OSF/1 5.1.
23656         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
23657         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
23658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
23659         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
23660         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
23661
23662 2010-12-19  Bruno Haible  <bruno@clisp.org>
23663
23664         relocatable-prog-wrapper: Separate from relocatable-prog.
23665         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
23666         uninstall-relocwrapper rule here.
23667         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
23668         Reported by Ian Beckwith <ianb@erislabs.net>.
23669
23670 2010-12-19  Bruno Haible  <bruno@clisp.org>
23671
23672         unistr/u8-mbsnlen: Add missing dependency.
23673         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
23674         Reported by Ian Beckwith <ianb@erislabs.net>.
23675
23676 2010-12-19  Bruno Haible  <bruno@clisp.org>
23677
23678         iconv: Make it possible again to use this module without 'iconv-h'.
23679         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
23680         if it is not defined.
23681         Reported by Ian Beckwith <ianb@erislabs.net>.
23682
23683 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
23684
23685         acl: port to Solaris 8 when copying from tmpfs to ufs
23686         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
23687         error number.  Problem observed on Solaris 8 with latest
23688         coreutils, with "mv A B", where A is on a tmpfs file system and B
23689         is on a ufs file system.  This caused coreutils' mv/part-symlink
23690         test to fail.
23691
23692         tests: set fail=0 at start
23693         * tests/init.sh (setup_): Move fail=0 initialization here ...
23694         (mktempd_): ... from here, so that tests can rely on fail being
23695         set to 0 initially.  This fixes a problem in coreutils; see:
23696         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
23697
23698 2010-12-18  Bruno Haible  <bruno@clisp.org>
23699
23700         memmem-simple: Stylistic changes.
23701         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
23702         Fix preprocessor directive indentation.
23703
23704 2010-12-15  Pádraig Brady <P@draigBrady.com>
23705
23706         memmem, memmem-simple: reorganize and expand empty needle check
23707         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
23708         functional checks to memmem-simple so that one has a fully functional
23709         memmem by using just this module.
23710         Restrict the performance only check to the memmem module.
23711         Also expand the empty needle check to ensure the correct
23712         pointer is returned, not just a non NULL pointer.
23713         * doc/glibc-functions/memmem.texi: Rearrange the portability
23714         documentation to correlate with the rearranged checks.
23715         Clarify exactly how the memmem and memmem-simple modules
23716         relate to each other.
23717
23718 2010-12-15  Pádraig Brady <P@draigBrady.com>
23719             Bruno Haible  <bruno@clisp.org>
23720
23721         Improve cross-compilation guesses for uClibc.
23722         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
23723         that uClibc does not have the glibc bug.
23724         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
23725         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
23726
23727 2010-12-14  Eric Blake  <eblake@redhat.com>
23728
23729         configmake: provide fallbacks for oldest supported autotools
23730         * m4/configmake.m4: New file.
23731         * modules/configmake (Files): Ship it.
23732         (configure.ac): Use it to guarantee fallbacks.
23733
23734 2010-12-13  Pádraig Brady <P@draigBrady.com>
23735
23736         read-file: Improve handling of large files
23737         * lib/read-file.c (fread_file): Minimize realloc()s
23738         for regular files, and better manage sizes around SIZE_MAX.
23739
23740 2010-12-13  Eric Blake  <eblake@redhat.com>
23741
23742         cloexec, fcntl: relax license
23743         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
23744         consent from all contributors.
23745         * modules/fcntl (License): Likewise.
23746
23747 2010-12-10  Bruno Haible  <bruno@clisp.org>
23748
23749         Tests for module 'pipe-posix'.
23750         * modules/pipe-posix-tests: New file.
23751         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
23752
23753 2010-12-10  Bruno Haible  <bruno@clisp.org>
23754
23755         pipe-posix: Make it work in C++ mode.
23756         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
23757         (pipe): Use common idiom, not a macro definition.
23758         * lib/pipe.c: New file.
23759         * m4/pipe.m4: New file.
23760         * modules/pipe-posix (Description): Enhance.
23761         (Files): Add lib/pipe.c, m4/pipe.m4.
23762         (configure.ac): Invoke gl_FUNC_PIPE.
23763         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
23764         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
23765         * tests/test-unistd-c++.cc: Check the signature of pipe.
23766
23767 2010-12-10  Bruno Haible  <bruno@clisp.org>
23768
23769         Rename module 'pipe' to 'spawn-pipe'.
23770         * modules/spawn-pipe: New file, renamed from modules/pipe.
23771         (Files, configure.ac, Makefile.am): Update.
23772         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
23773         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
23774         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
23775         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
23776         "spawn-pipe.h" instead of "pipe.h".
23777         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
23778         to gl_SPAWN_PIPE.
23779         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
23780         (Files, Makefile.am): Update.
23781         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
23782         Update.
23783         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
23784         Include "spawn-pipe.h" instead of "pipe.h".
23785         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
23786         * lib/javacomp.c: Likewise.
23787         * lib/javaversion.c: Likewise.
23788         * lib/pipe-filter-gi.c: Likewise.
23789         * lib/pipe-filter-ii.c: Likewise.
23790         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
23791         * modules/javacomp (Depends-on): Likewise.
23792         * modules/javaversion (Depends-on): Likewise.
23793         * modules/pipe-filter-gi (Depends-on): Likewise.
23794         * modules/pipe-filter-ii (Depends-on): Likewise.
23795         * MODULES.html.sh (Executing programs): Update.
23796         * NEWS: Mention the change.
23797
23798 2010-12-10  Eric Blake  <eblake@redhat.com>
23799
23800         pipe-posix: new module
23801         * modules/pipe-posix: New file.
23802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
23803         (gl_UNISTD_H): Check for declaration.
23804         * modules/unistd (Makefile.am): Substitute it.
23805         * lib/unistd.in.h (pipe): Provide it for mingw.
23806         * doc/posix-functions/pipe.texi (pipe): Update documentation.
23807         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
23808
23809 2010-12-07  Bruno Haible  <bruno@clisp.org>
23810
23811         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
23812         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
23813         u8_strcmp_gnu.
23814         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
23815
23816 2010-12-06  Bruno Haible  <bruno@clisp.org>
23817
23818         Update internal documentation.
23819         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
23820
23821 2010-12-04  Bruno Haible  <bruno@clisp.org>
23822
23823         Put more information about failed tests into the test return codes.
23824         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
23825         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
23826         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
23827         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
23828         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
23829         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23830         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23831         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23832         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
23833         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23834         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
23835         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
23836         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
23837         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23838         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
23839         returns a bit mask.
23840         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
23841         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
23842         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
23843         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
23844         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23845         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
23846         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
23847         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23848         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
23849         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
23850         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23851         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
23852         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
23853         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
23854         * m4/link.m4 (gl_FUNC_LINK): Likewise.
23855         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23856         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
23857         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
23858         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23859         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
23860         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23861         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23862         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
23863         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23864         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
23865         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23866         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
23867         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
23868         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
23869         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
23870         gl_PRINTF_PRECISION): Likewise.
23871         * m4/regex.m4 (gl_REGEX): Likewise.
23872         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23873         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23874         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
23875         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23876         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23877         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
23878         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
23879         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
23880         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
23881         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
23882         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23883         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23884         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
23885         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
23886         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23887         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23888         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
23889         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23890         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23891         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
23892         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
23893         enumerated value.
23894         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
23895
23896 2010-12-04  Bruno Haible  <bruno@clisp.org>
23897
23898         Update for Solaris 11 2010-11.
23899         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
23900         Express, released in November 2010.
23901
23902 2010-12-04  Bruno Haible  <bruno@clisp.org>
23903
23904         nproc: Relax license.
23905         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
23906         and Paul Eggert.
23907         Requested by Ludovic Courtès <ludo@gnu.org>.
23908
23909 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
23910
23911         utimecmp: fine-grained src to nearby coarse-grained dest
23912
23913         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
23914         and the source is on a file system with higher-resolution time
23915         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
23916         not work, and the time stamps are close together, the algorithm to
23917         determine the exact resolution from the read-back mtime was buggy:
23918         it had a "!=" where it should have had an "==".  This bug has been
23919         in the code ever since it was introduced to gnulib.
23920         Problem reported by Dan Jacobson in
23921         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
23922
23923 2010-11-30  Bruno Haible  <bruno@clisp.org>
23924
23925         strerror_r-posix: Fix autoconf test.
23926         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
23927
23928 2010-11-28  Bruno Haible  <bruno@clisp.org>
23929             Paul Eggert  <eggert@cs.ucla.edu>
23930
23931         Tests for module 'getdomainname'.
23932         * modules/getdomainname-tests: New file.
23933         * tests/test-getdomainname.c: New file, based on
23934         tests/test-gethostname.c.
23935
23936 2010-11-28  Bruno Haible  <bruno@clisp.org>
23937             Paul Eggert  <eggert@cs.ucla.edu>
23938
23939         getdomainname: Use the system function when possible.
23940         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
23941         (getdomainname): Replace if needed. Provide the declaration if it is
23942         missing. Don't use _GL_CXXALIAS_SYS_CAST.
23943         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
23944         (getdomainname): When the system has getdomainname, call the system
23945         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
23946         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23947         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
23948         found in libnsl. Look for the declaration also in <netdb.h>. Replace
23949         the function if its second argument is of type 'int' or if it is found
23950         in libnsl.
23951         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
23952         <sys/systeminfo.h> and sysinfo().
23953         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
23954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23955         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
23956         HAVE_GETDOMAINNAME.
23957         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
23958         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
23959         * doc/glibc-functions/getdomainname.texi: Document the problems with
23960         the getdomainname declaration.
23961
23962 2010-11-28  Bruno Haible  <bruno@clisp.org>
23963
23964         sys_socket: Ensure ss_family field on AIX.
23965         * lib/sys_socket.in.h (ss_family): New macro definition.
23966         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
23967         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
23968         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
23969         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23970         * modules/sys_socket (Makefile.am): Substitute
23971         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
23972         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
23973
23974 2010-11-27  Bruno Haible  <bruno@clisp.org>
23975
23976         readline: Improve configure output.
23977         * m4/readline.m4 (gl_FUNC_READLINE): Make the
23978         "checking for readline..." result understandable.
23979
23980 2010-11-27  Bruno Haible  <bruno@clisp.org>
23981
23982         *printf-posix: Detect a bug on Solaris 10/x86.
23983         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
23984         for floating-point output.
23985         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
23986         directive.
23987         * tests/test-snprintf-posix.h (test_function): Likewise.
23988         * tests/test-sprintf-posix.h (test_function): Likewise.
23989         * tests/test-vasprintf-posix.c (test_function): Likewise.
23990         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
23991         * doc/posix-functions/printf.texi: Likewise.
23992         * doc/posix-functions/snprintf.texi: Likewise.
23993         * doc/posix-functions/sprintf.texi: Likewise.
23994         * doc/posix-functions/vfprintf.texi: Likewise.
23995         * doc/posix-functions/vprintf.texi: Likewise.
23996         * doc/posix-functions/vsnprintf.texi: Likewise.
23997         * doc/posix-functions/vsprintf.texi: Likewise.
23998         * doc/glibc-functions/obstack_printf.texi: Likewise.
23999         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
24000
24001 2010-11-27  Bruno Haible  <bruno@clisp.org>
24002
24003         Fix link error when module libunistring-optional is in use.
24004         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
24005         * modules/striconveha-tests (Makefile.am): Likewise.
24006
24007 2010-11-27  Bruno Haible  <bruno@clisp.org>
24008
24009         regex: Mention link dependencies.
24010         * modules/regex (Link): New section.
24011         * modules/rpmatch (Link): Likewise.
24012         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
24013
24014 2010-11-27  Bruno Haible  <bruno@clisp.org>
24015
24016         ftoastr: Fix compilation error on Solaris.
24017         * lib/ftoastr.c: Include <config.h>.
24018
24019 2010-11-27  Bruno Haible  <bruno@clisp.org>
24020
24021         getloadavg: Update documentation.
24022         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
24023
24024 2010-11-27  Bruno Haible  <bruno@clisp.org>
24025
24026         sys_socket: Fix test whether the functions are declared.
24027         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
24028         not <sys/select.h>.
24029
24030 2010-11-27  Bruno Haible  <bruno@clisp.org>
24031
24032         getpass: Make sure to get system declaration on some platforms.
24033         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
24034         gl_USE_SYSTEM_EXTENSIONS.
24035         * modules/getpass (Depends-on): Add extensions.
24036
24037 2010-11-26  Bruno Haible  <bruno@clisp.org>
24038
24039         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
24040         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
24041         'iconv' module is present.
24042         (ICONV_CONST): New macro.
24043         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
24044         ICONV_CONST.
24045         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
24046         set ICONV_CONST.
24047         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
24048         here.
24049         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
24050         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
24051         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
24052         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
24053         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
24054         present.
24055
24056 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
24057
24058         ftoastr: comment fix
24059         * lib/ftoastr.c: "little" -> "little or no" in comment
24060
24061 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
24062
24063         stdint: port to GCC 4.3 + OSX + Octave
24064         On this platform, stdint.h is buggy and defines int64_t to long
24065         long int.  The replacement defined it to long int, causing
24066         problems with C++ style name mangling.  Instead, trust the system
24067         definition if INT64_MAX is defined, and likewise for the unsigned
24068         variant.   Problem reported by Jarno Rajahalme in
24069         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
24070         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
24071         and don't mess with int64_t and INT64_MAX in this case.
24072         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
24073
24074 2010-11-24  Bruno Haible  <bruno@clisp.org>
24075
24076         doc: Corrections regarding MacOS X 10.4 and 10.5.
24077         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
24078         MacOS X.
24079         Reported by Simon Josefsson.
24080
24081 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
24082
24083         Uninstall ".bin" files installed by relocwrapper.
24084         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
24085         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
24086         unless it is already there.
24087
24088 2010-11-21  Bruno Haible  <bruno@clisp.org>
24089
24090         Update for NetBSD 5.0.
24091         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24092         NetBSD; the test fails on NetBSD 5.0.
24093         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24094         about NetBSD.
24095
24096 2010-11-21  Bruno Haible  <bruno@clisp.org>
24097
24098         Update for HP-UX 11.23 and HP-UX 11.31.
24099         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
24100         HP-UX.
24101
24102 2010-11-21  Bruno Haible  <bruno@clisp.org>
24103
24104         Update for MacOS X 10.5.
24105         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24106         MacOS X; the test fails on MacOS X 10.5.8.
24107         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24108         about MacOS X.
24109
24110 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
24111
24112         bootstrap: add bootstrap_sync option.
24113         See discussion at
24114         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
24115         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
24116         * build-aux/bootstrap: Accept --bootstrap-sync to update
24117         bootstrap if it is not identical to the local gnulib's
24118         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
24119         enable this by default.  Accept --no-bootstrap-sync to disable
24120         it.
24121
24122 2010-11-20  Bruno Haible  <bruno@clisp.org>
24123
24124         Ensure that <features.h> is included before __GLIBC__ is tested.
24125         * lib/printf-parse.h: Include <features.h>.
24126         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
24127         Reported by Mike Frysinger <vapier@gentoo.org>.
24128
24129         Ensure that <features.h> is included before __GLIBC__ is tested.
24130         * lib/wchar.in.h: Include <features.h>.
24131         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
24132         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24133         Reported by Mike Frysinger <vapier@gentoo.org>.
24134
24135         Ensure that <features.h> is included before __GLIBC__ is tested.
24136         * lib/arpa_inet.in.h: Include <features.h>.
24137         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
24138         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
24139         Reported by Mike Frysinger <vapier@gentoo.org>.
24140
24141         Ensure that <features.h> is included before __GLIBC__ is tested.
24142         * build-aux/link-warning.h: Include <features.h>.
24143         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
24144         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
24145         Reported by Mike Frysinger <vapier@gentoo.org>.
24146
24147         Ensure that <features.h> is included before __GLIBC__ is tested.
24148         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
24149         Reported by Mike Frysinger <vapier@gentoo.org>.
24150
24151 2010-11-20  Bruno Haible  <bruno@clisp.org>
24152
24153         memmem: Fix autoconf test.
24154         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
24155
24156 2010-11-20  Bruno Haible  <bruno@clisp.org>
24157
24158         Port to uClibc.
24159         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
24160         * lib/fcntl.in.h: Likewise.
24161         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
24162         * lib/mbrtowc.c (mbrtowc): Likewise.
24163         * lib/relocatable.c (find_shared_library_fullname): Likewise.
24164         * lib/strerror_r.c: Likewise.
24165         * lib/unistr/u8-strnlen.c: Likewise.
24166         * lib/vasnprintf.c (decimal_point_char): Likewise.
24167         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24168         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24169         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24170         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24171         * tests/test-sigaction.c (handler, main): Likewise.
24172         * lib/freading.h: Treat uClibc like a non-glibc platform.
24173         * lib/freading.c: Likewise.
24174         * lib/gettext.h: Likewise.
24175         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
24176         Likewise.
24177         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
24178         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
24179         * lib/propername.c (proper_name_utf8): Likewise.
24180         * lib/spawn.in.h: Likewise.
24181         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
24182         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
24183         mem_cd_iconveh_internal): Likewise.
24184         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
24185         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24186         strstr, strcasestr): Likewise.
24187         * lib/unicodeio.c (unicode_to_mb): Likewise.
24188         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
24189         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
24190         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
24191         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
24192         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
24193         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
24194         * lib/unistr/u8-stpncpy.c: Likewise.
24195         * lib/vasnprintf.c (VASNPRINTF): Likewise.
24196         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
24197         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24198         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24199         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
24200         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
24201         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
24202         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
24203         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
24204         Likewise.
24205         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
24206         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24207         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
24208         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24209         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24210         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24211         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24212         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24213         * tests/test-getopt.h (OPTIND_MIN): Likewise.
24214         * tests/test-striconveha.c (main): Likewise.
24215         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24216         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
24217         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
24218         * doc/posix-functions/getline.texi: Likewise.
24219         Reported by Mike Frysinger <vapier@gentoo.org>.
24220
24221 2010-11-20  Bruno Haible  <bruno@clisp.org>
24222
24223         nproc: Fix condition.
24224         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
24225         HAVE_PTHREAD_AFFINITY_NP.
24226
24227 2010-11-20  Bruno Haible  <bruno@clisp.org>
24228
24229         Fix a comment.
24230         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
24231
24232 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
24233
24234         ftoastr: don't assume snprintf
24235         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
24236         Implement a subset of snprintf here, by using sprintf safely.
24237         * modules/ftoastr (Depends-on): Remove snprintf.
24238
24239 2010-11-19  Jim Meyering  <meyering@redhat.com>
24240
24241         test-rename.h: fix compilation failure
24242         * tests/test-rename.h (test_rename): Add omitted "}".
24243
24244 2010-11-17  Jim Meyering  <meyering@redhat.com>
24245
24246         maint.mk: add a URL discussing the no-@acronym policy
24247         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
24248
24249 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
24250
24251         ftoastr: depend on snprintf, improve comments
24252         * lib/ftoastr.c: Also mention Loitsch's draft.
24253         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
24254         needed in the current implementation, but it might simplify
24255         speeding up the code later.
24256         * modules/ftoastr: Depend on snprintf; this improves portability.
24257         Suggested by Bruno Haible in the same email.
24258
24259         ftoastr: port to hosts lacking strtof and strtold
24260         Problem reported by Bruno Haible in
24261         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
24262         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
24263         environment and strtold (and presumably strtof) are not available.
24264         * modules/ftoastr (Files): Add m4/c-strtod.m4.
24265         (configure.ac): Require gl_C99_STRTOLD.
24266
24267 2010-11-18  Bruno Haible  <bruno@clisp.org>
24268
24269         c-strtold: Avoid link error on AIX 7.
24270         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
24271         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
24272         (gl_C_STRTOLD): Test whether strtold_l exists.
24273         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24274
24275 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
24276
24277         intprops: new macro INT_BITS_STRLEN_BOUND
24278         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
24279         ftoastr.h.  This exposes an internal of intprops.h that was formerly
24280         not exposed.  Also, it uses a slightly tighter bound than before;
24281         though this makes no practical difference, we might as well be as
24282         tight as we easily can.
24283
24284         ftoastr: new module, for lossless conversion of floats to short strings
24285         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
24286         * modules/ftoastr: New files.
24287
24288 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
24289
24290         bootstrap: port to Solaris sed
24291         * build-aux/bootstrap (get_version): Port to Solaris sed.
24292         See Ralf Wildenhues's note in
24293         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
24294
24295 2010-11-14  Jim Meyering  <meyering@redhat.com>
24296
24297         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
24298         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
24299         and move definition closer to sole use.
24300
24301 2010-11-13  Jim Meyering  <meyering@redhat.com>
24302
24303         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
24304         Now we require at least autoconf-2.59, which means the work-around
24305         is no longer needed.
24306         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
24307         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24308         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24309         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
24310         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
24311
24312 2010-11-13  Bruno Haible  <bruno@clisp.org>
24313
24314         rename, renameat: Avoid test failures at NFS mounted locations.
24315         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
24316         functions.
24317         (test_rename): Use assert_nonexistent.
24318         * tests/test-rename.c: Include <dirent.h>.
24319         * tests/test-renameat.c: Likewise.
24320         Reported by Gary V. Vaughan <gary@gnu.org>.
24321
24322         rename, renameat: Document Linux bug with NFS
24323         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
24324         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
24325         * doc/posix-functions/renameat.texi: Likewise.
24326         Suggested by Eric Blake.
24327
24328 2010-11-13  Bruno Haible  <bruno@clisp.org>
24329
24330         rename test: Add comments.
24331         * tests/test-rename.h (test_rename): Add structure and comments.
24332
24333 2010-11-13  Eric Blake  <eblake@redhat.com>
24334
24335         maintainer-makefile: cover a few more files
24336         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
24337         scripts generated within C files, for libvirt.
24338
24339 2010-11-13  Bruno Haible  <bruno@clisp.org>
24340
24341         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
24342         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
24343         character, return the number of bytes that belong together, not always
24344         1.
24345         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
24346         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
24347         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
24348         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
24349         number of bytes of an invalid character.
24350         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
24351         (main): Invoke it.
24352         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
24353         results.
24354         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
24355         malformed byte sequences.
24356         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
24357         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
24358         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
24359         Reported by Ben Pfaff and Paolo Bonzini.
24360
24361 2010-11-13  Bruno Haible  <bruno@clisp.org>
24362
24363         openat: Work around glibc bug with fchownat() and empty file names.
24364         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
24365         (gl_FUNC_FCHOWNAT): Invoke it.
24366         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
24367         * doc/posix-functions/fchownat.texi: Document the glibc bug.
24368         Reported by Gary V. Vaughan <gary@gnu.org>.
24369
24370 2010-11-13  Bruno Haible  <bruno@clisp.org>
24371
24372         openat: Ensure autoconf macro ordering.
24373         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
24374         gl_USE_SYSTEM_EXTENSIONS.
24375         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
24376
24377 2010-11-13  Bruno Haible  <bruno@clisp.org>
24378
24379         Update comments.
24380         * lib/unistr/u8-check.c: Update file name in comments.
24381         * lib/unistr/u8-mblen.c: Likewise.
24382         * lib/unistr/u8-prev.c: Likewise.
24383         * lib/unistr/u8-strmblen.c: Likewise.
24384         * lib/unistr/u8-strmbtouc.c: Likewise.
24385
24386 2010-11-13  Jim Meyering  <meyering@redhat.com>
24387
24388         tests: avoid test failure on Solaris 10 due to lack of PATH export
24389         * tests/test-update-copyright.sh: Don't forget to export PATH.
24390
24391         init.sh: ensure that IFS is defined, just in case...
24392         * tests/init.sh (setup_): Ensure that IFS is defined,
24393         so that saving and restoring it works as expected.  This
24394         appears to be useful at least for an old version of dash
24395         from a long time ago (RH 6).  See here for details:
24396         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
24397
24398         maint.mk: tighten "test a == b" check
24399         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
24400         test to files that contain something like #!/bin/sh.
24401         Without this, coreutils would get two false positives in
24402         the comments of C source files.
24403
24404 2010-11-12  Eric Blake  <eblake@redhat.com>
24405
24406         bootstrap: fix typo in previous attempt
24407         * build-aux/bootstrap (buildreq): Correct the grouping.
24408         Reported by Paul Eggert.
24409
24410         maintainer-makefile: prohibit test x == x
24411         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
24412         Based on a report by Matthias Bolte.
24413
24414         bootstrap: allow FreeBSD gzip
24415         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
24416         which has no '.' and goes to stderr.
24417         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
24418         Reported by Matthias Bolte.
24419
24420         maintainer-makefile: check for i18n setup
24421         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
24422         will likely work.
24423
24424 2010-11-12  Bruno Haible  <bruno@clisp.org>
24425
24426         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
24427         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
24428         * lib/nanosleep.c (nanosleep): Likewise.
24429
24430 2010-11-11  Bruno Haible  <bruno@clisp.org>
24431
24432         fcntl-h: Fix for use of C++ on glibc systems.
24433         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24434         also on glibc systems in C++ mode.
24435         Reported by Gary V. Vaughan <gary@gnu.org>.
24436
24437 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24438
24439         mknod: avoid false failure with dash
24440         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
24441
24442 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
24443
24444         unlink: Fix "is it should" typo in diagnostic.
24445         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
24446         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
24447
24448 2010-11-11  Bruno Haible  <bruno@clisp.org>
24449
24450         Tests for module 'strerror_r-posix'.
24451         * modules/strerror_r-posix-tests: New file.
24452         * tests/test-strerror_r.c: New file.
24453         * tests/test-string-c++.cc: Check the signature of strerror_r.
24454
24455         New module 'strerror_r-posix'.
24456         * lib/string.in.h (strerror_r): New declaration.
24457         * lib/strerror_r.c: New file.
24458         * m4/strerror_r.m4: New file.
24459         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
24460         of strerror_r.
24461         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
24462         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24463         * modules/strerror_r-posix: New file.
24464         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
24465         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
24466         * doc/posix-functions/strerror_r.texi: Mention the new module and the
24467         portability problems.
24468
24469 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
24470
24471         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
24472         line is also considered for output. Quoted function name in shell
24473         command, so temporary files for functions like MyClass::operator()
24474         are removed correctly without errors.
24475
24476 2010-11-09  Bruno Haible  <bruno@clisp.org>
24477
24478         * doc/posix-functions/strerror.texi: List more failing platforms.
24479
24480         * doc/posix-functions/strerror.texi: Add a comment.
24481
24482 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
24483
24484         fdopendir: fix bug on MacOS X when low on file descriptors
24485
24486         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
24487         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
24488         All callers changed.
24489         (fdopendir): Invoke save_cwd at the top level, not after using
24490         multiple dup() calls to use up file descriptors.  Then retry
24491         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
24492         less than the maximum number of open file descriptors, because
24493         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
24494         on Mac OS X 10.6.4 for tar 1.24
24495         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
24496         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
24497         and for tar 1.25
24498         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
24499
24500 2010-11-07  Bruno Haible  <bruno@clisp.org>
24501
24502         vasnprintf: Support I flag on glibc systems.
24503         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
24504         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
24505         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
24506         snprintf function.
24507         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
24508         glibc systems.
24509         * tests/test-vasnprintf-posix3.c: New file.
24510         * modules/vasnprintf-posix-tests (Files): Add it.
24511         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
24512
24513 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
24514
24515         [html] Fix copy/paste bug: Use unique name for compiler warnings.
24516         * MODULES.html.sh: For compiler warnings, use name
24517         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
24518
24519 2010-11-05  Eric Blake  <eblake@redhat.com>
24520
24521         ceil, floor: avoid spurious failure with icc
24522         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
24523         [denormals-as-zero] when optimizing without -mieee-fp option.
24524         * tests/test-floorf2.c (floorf_reference): Likewise.
24525         * tests/test-ceilf1.c (dummy): New function.
24526         (main): Use it to outsmart icc's optimization.
24527         * tests/test-floorf1.c (dummy, main): Likewise.
24528
24529         tests: require working signbit
24530         * modules/ceilf-tests (Depends-on): Add signbit.
24531         * modules/ceill-tests (Depends-on): Likewise.
24532         * modules/floorf-tests (Depends-on): Likewise.
24533         * modules/floorl-tests (Depends-on): Likewise.
24534         * modules/round-tests (Depends-on): Likewise.
24535         * modules/roundf-tests (Depends-on): Likewise.
24536         * modules/roundl-tests (Depends-on): Likewise.
24537         * modules/trunc-tests (Depends-on): Likewise.
24538         * modules/truncf-tests (Depends-on): Likewise.
24539         * modules/truncl-tests (Depends-on): Likewise.
24540
24541         strtod: work around icc bug
24542         * lib/strtod.c (minus_zero): Define to working value.
24543         (strtod): Use it to avoid icc bug.
24544
24545         copysign: enhance tests
24546         * modules/copysign-tests (Files): Add minus-zero.h.
24547         * tests/test-copysign.c (main): Also test zeros.
24548
24549 2010-11-04  Eric Blake  <eblake@redhat.com>
24550
24551         ceil, floor, round, trunc: enhance tests of -0
24552         * tests/test-ceilf1.c (main): Ensure correct sign of result.
24553         * tests/test-ceill.c (main): Likewise.
24554         * tests/test-floorf1.c (main): Likewise.
24555         * tests/test-floorl.c (main): Likewise.
24556         * tests/test-round1.c (main): Likewise.
24557         * tests/test-roundf1.c (main): Likewise.
24558         * tests/test-roundl.c (main): Likewise.
24559         * tests/test-trunc1.c (main): Likewise.
24560         * tests/test-truncf1.c (main): Likewise.
24561         * tests/test-truncl.c (main): Likewise.
24562
24563 2010-11-04  Eric Blake  <eblake@redhat.com>
24564
24565         frexp, tests: work around ICC bug with -zero
24566         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
24567         works with more compilers.
24568         * tests/minus-zero.h: New file.
24569         * modules/ceilf-tests (Files): Include it.
24570         * modules/ceill-tests (Files): Likewise.
24571         * modules/floorf-tests (Files): Likewise.
24572         * modules/floorl-tests (Files): Likewise.
24573         * modules/frexp-nolibm-tests (Files): Likewise.
24574         * modules/frexp-tests (Files): Likewise.
24575         * modules/frexpl-nolibm-tests (Files): Likewise.
24576         * modules/frexpl-tests (Files): Likewise.
24577         * modules/isnan-tests (Files): Likewise.
24578         * modules/isnand-nolibm-tests (Files): Likewise.
24579         * modules/isnand-tests (Files): Likewise.
24580         * modules/isnanf-nolibm-tests (Files): Likewise.
24581         * modules/isnanf-tests (Files): Likewise.
24582         * modules/isnanl-nolibm-tests (Files): Likewise.
24583         * modules/isnanl-tests (Files): Likewise.
24584         * modules/round-tests (Files): Likewise.
24585         * modules/roundf-tests (Files): Likewise.
24586         * modules/roundl-tests (Files): Likewise.
24587         * modules/ldexpl-tests (Files): Likewise.
24588         * modules/signbit-tests (Files): Likewise.
24589         * modules/snprintf-posix-tests (Files): Likewise.
24590         * modules/sprintf-posix-tests (Files): Likewise.
24591         * modules/strtod-tests (Files): Likewise.
24592         * modules/trunc-tests (Files): Likewise.
24593         * modules/truncf-tests (Files): Likewise.
24594         * modules/truncl-tests (Files): Likewise.
24595         * modules/vsnprintf-posix-tests (Files): Likewise.
24596         * modules/vsprintf-posix-tests (Files): Likewise.
24597         * modules/vasnprintf-posix-tests (Files): Likewise.
24598         * modules/vasprintf-posix-tests (Files): Likewise.
24599         * tests/test-ceilf1.c (main): Use it.
24600         * tests/test-ceill.c (main): Likewise.
24601         * tests/test-floorf1.c (main): Likewise.
24602         * tests/test-floorl.c (main): Likewise.
24603         * tests/test-frexp.c (main): Likewise.
24604         * tests/test-frexpl.c (main): Likewise.
24605         * tests/test-isnan.c (main): Likewise.
24606         * tests/test-isnand.h (main): Likewise.
24607         * tests/test-isnanf.h (main): Likewise.
24608         * tests/test-isnanl.h (main): Likewise.
24609         * tests/test-ldexpl.c (main): Likewise.
24610         * tests/test-round.c (main): Likewise.
24611         * tests/test-roundf.c (main): Likewise.
24612         * tests/test-roundl.c (main): Likewise.
24613         * tests/test-signbit.c (test_signbitf, test_signbitd)
24614         (test_signbitl): Likewise.
24615         * tests/test-snprintf-posix.h (test_function): Likewise.
24616         * tests/test-sprintf-posix.h (test_function): Likewise.
24617         * tests/test-strtod.c (main): Likewise.
24618         * tests/test-trunc1.c (main): Likewise.
24619         * tests/test-truncf1.c (main): Likewise.
24620         * tests/test-truncl.c (main): Likewise.
24621
24622         isnanl: work around icc bug
24623         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
24624
24625 2010-11-03  Eric Blake  <eblake@redhat.com>
24626
24627         tests: fix compiler warnings
24628         * tests/test-getopt.h (test_getopt): Fix condition.
24629         * tests/test-getopt_long.h (test_getopt_long): Likewise.
24630         * tests/test-pipe2.c (main): Likewise.
24631         * tests/test-quotearg-simple.c (main): Avoid icc warning.
24632
24633         utimens: fix broken m4 test
24634         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
24635
24636 2010-10-28  Bruno Haible  <bruno@clisp.org>
24637
24638         posix_spawn*, getdtablesize: Relax license.
24639         * modules/posix_spawn (License): Change to LGPLv2+.
24640         * modules/posix_spawnp (License): Likewise.
24641         * modules/posix_spawn-internal (License): Likewise.
24642         * modules/posix_spawnattr_init (License): Likewise.
24643         * modules/posix_spawnattr_getflags (License): Likewise.
24644         * modules/posix_spawnattr_setflags (License): Likewise.
24645         * modules/posix_spawnattr_getpgroup (License): Likewise.
24646         * modules/posix_spawnattr_setpgroup (License): Likewise.
24647         * modules/posix_spawnattr_getschedparam (License): Likewise.
24648         * modules/posix_spawnattr_setschedparam (License): Likewise.
24649         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
24650         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
24651         * modules/posix_spawnattr_getsigdefault (License): Likewise.
24652         * modules/posix_spawnattr_setsigdefault (License): Likewise.
24653         * modules/posix_spawnattr_getsigmask (License): Likewise.
24654         * modules/posix_spawnattr_setsigmask (License): Likewise.
24655         * modules/posix_spawnattr_destroy (License): Likewise.
24656         * modules/posix_spawn_file_actions_init (License): Likewise.
24657         * modules/posix_spawn_file_actions_addclose (License): Likewise.
24658         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
24659         * modules/posix_spawn_file_actions_addopen (License): Likewise.
24660         * modules/posix_spawn_file_actions_destroy (License): Likewise.
24661         * modules/getdtablesize (License): Likewise.
24662         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
24663
24664 2010-10-26  Bruno Haible  <bruno@clisp.org>
24665
24666         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
24667         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
24668         Cygwin and mingw.
24669         Suggested by Eric Blake.
24670
24671 2010-10-26  Bruno Haible  <bruno@clisp.org>
24672
24673         stdio: Work around compilation error due to renameat() on Solaris 10.
24674         * lib/stdio.in.h: Include <unistd.h> on Solaris.
24675         * lib/renameat.c: Don't include <unistd.h> here.
24676         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
24677         Reported by Paul Eggert and Eric Blake.
24678
24679 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
24680
24681         renameat: port to Solaris 10, which declares renameat in unistd.h
24682
24683         * lib/renameat.c: Include unistd.h before stdio.h, because
24684         Solaris 10 declares renameat in unistd.h.  Problem encountered
24685         when building GNU tar 1.24 on Solaris 10.
24686
24687 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
24688
24689         fdopendir: fix C89 compilation
24690         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
24691         compilers.
24692
24693 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
24694
24695         inttostr: simplify by removing unnecessary redundancy
24696         * lib/anytostr.c: Don't include verify.h.
24697         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
24698         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
24699         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
24700         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
24701         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
24702         Likewise.
24703         * modules/inttostr (Depends-on): Remove 'verify'.
24704
24705 2010-10-23  Bruno Haible  <bruno@clisp.org>
24706
24707         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
24708         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
24709         Reported by Eric Blake.
24710
24711 2010-10-23  Bruno Haible  <bruno@clisp.org>
24712
24713         Tests: Fix LOCALE_JA on MirBSD 10.
24714         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
24715         to an UTF-8 locale.
24716         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
24717         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24718         Reported by Eric Blake.
24719
24720 2010-10-21  Bruno Haible  <bruno@clisp.org>
24721
24722         nl_langinfo test: Avoid test failure on NetBSD 5.
24723         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
24724         Reported by Eric Blake.
24725
24726 2010-10-21  Eric Blake  <eblake@redhat.com>
24727
24728         c-stack: work around libsigsegv 2.8 bug
24729         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
24730         overflow on at least PowerPC64.
24731
24732 2010-10-17  Bruno Haible  <bruno@clisp.org>
24733
24734         userspec: Drop redundant file.
24735         * modules/userspec (Files): Remove lib/inttostr.h.
24736
24737 2010-10-17  Bruno Haible  <bruno@clisp.org>
24738
24739         nl_langinfo tests: Silence some warnings.
24740         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
24741         Reported by Jim Meyering.
24742
24743 2010-10-17  Bruno Haible  <bruno@clisp.org>
24744
24745         Make use of GCC's attribute __alloc_size__.
24746         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
24747         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
24748         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
24749         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
24750         __alloc_size__.
24751         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
24752         Suggested by Jim Meyering.
24753
24754 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
24755
24756         bootstrap: anchor .gitignore entries.
24757         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
24758         with...
24759         (insert_vc_ignore): ... this new function, which prepends `/' to
24760         all .gitignore entries before passing them to
24761         insert_sorted_if_absent.
24762
24763 2010-10-16  Bruno Haible  <bruno@clisp.org>
24764
24765         nextafter: Fix configure check.
24766         * modules/nextafter (configure.ac): Correct expected prototype.
24767
24768 2010-10-16  Bruno Haible  <bruno@clisp.org>
24769
24770         termios: Update documentation.
24771         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
24772
24773 2010-10-16  Bruno Haible  <bruno@clisp.org>
24774
24775         tests: Make them compile with TinyCC.
24776         * tests/test-strstr.c (main): Remove parentheses around array
24777         initializer.
24778
24779 2010-10-15  Eric Blake  <eblake@redhat.com>
24780
24781         ignore-value: make header idempotent
24782         * lib/ignore-value.h: Add double-inclusion guards.
24783         Reported by Stefan Berger.
24784
24785 2010-10-15  Jim Meyering  <meyering@redhat.com>
24786
24787         GNUmakefile: handle "stable" target, not "major"
24788         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
24789         lists in maint.mk and announce-gen.  Without this, "make stable"
24790         would fail to ensure that $(VERSION) is up to date.
24791
24792 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
24793
24794         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
24795         & co.
24796
24797 2010-10-14  Bruno Haible  <bruno@clisp.org>
24798
24799         vasnprintf: Don't set errno to 0.
24800         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
24801         block that sets it to 0.
24802         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
24803
24804 2010-10-14  Bruno Haible  <bruno@clisp.org>
24805
24806         socketlib: Fix.
24807         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
24808         gl_PREREQ_SYS_H_WINSOCK2.
24809         Reported by Ian Beckwith <ianb@erislabs.net>.
24810
24811 2010-10-13  Jim Meyering  <meyering@redhat.com>
24812
24813         test-select-stdin.c: avoid warn_unused_result warnings
24814         * tests/test-select-stdin.c: Include "macros.h".
24815         ASSERT that read and fflush succeed.
24816
24817 2010-10-13  Jim Meyering  <meyering@redhat.com>
24818
24819         git-version-gen: do require git-VC'd files in cwd
24820         * build-aux/git-version-gen: Reject a git version string
24821         if there are no commits associated with the current directory.
24822         This avoids an unlikely false-positive (unrelated dir whose parent
24823         repository also contains a tag matching v*), as pointed out
24824         by Giuseppe Scrivano in
24825         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
24826
24827 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
24828
24829         argv-iter: omit nonconforming declaration
24830         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
24831         enum arg_iter_err declaration, which doesn't conform to C99.
24832         Solaris 10 cc warns about this.
24833
24834 2010-10-13  Eric Blake  <eblake@redhat.com>
24835
24836         termios: fix compilation on mingw
24837         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
24838         (gl_TERMIOS_H): Adjust it on mingw.
24839         * modules/termios (Makefile.am): Substitute new key.
24840         * lib/termios.in.h (includes): Make include_next conditional.
24841         * doc/posix-headers/termios.texi (termios.h): Update
24842         documentation.
24843         Reported by Daniel P. Berrange.
24844
24845 2010-10-13  Jim Meyering  <meyering@redhat.com>
24846
24847         git-version-gen: don't require that .git/ be in the current dir
24848         * build-aux/git-version-gen: Adjust this script so that it works
24849         when run from any working directory beneath the top-level .git/-
24850         containing directory.  Inspired by a patch from Giuseppe Scrivano,
24851         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
24852
24853         test-select: avoid warn_unused_result warnings
24854         * tests/test-select.c: Include "macros.h".
24855         ASSERT that each call to read, write, and pipe succeeds.
24856         While not technically required, also check each "close".
24857         * modules/select-tests (Files): Add tests/macros.h.
24858
24859         test-symlinkat: remove declaration of unused local
24860         * tests/test-symlinkat.c (main): Remove unused local, "buf".
24861
24862         test-inttostr: avoid shadowing warnings
24863         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
24864         and use malloc rather than the stack for the same reason as
24865         mentioned in the comment justifying the other allocation.
24866
24867 2010-10-11  Bruno Haible  <bruno@clisp.org>
24868
24869         stdlib: Allow multiple gnulib generated replacements to coexist.
24870         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
24871         Reported by Sam Steingold <sds@gnu.org>.
24872
24873 2010-10-11  Jim Meyering  <meyering@redhat.com>
24874
24875         fix a documentation typo
24876         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
24877
24878 2010-10-11  Eric Blake  <eblake@redhat.com>
24879
24880         futimens: work around Solaris 11 bug
24881         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
24882         * tests/test-futimens.h (test_futimens): Enhance, rather than
24883         weaken test.
24884         * doc/posix-functions/futimens.texi (futimens): Document the bug.
24885
24886 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
24887
24888         Indentation.
24889         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
24890         higher-level operators more to the left.
24891
24892 2010-10-11  Jim Meyering  <meyering@redhat.com>
24893
24894         test-futimens: avoid unwarranted test failure on Solaris 5.11
24895         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
24896         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
24897         because it tries to dereference the NULL name argument.
24898
24899 2010-10-11  Bruno Haible  <bruno@clisp.org>
24900
24901         Indentation.
24902         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
24903         indentation.
24904
24905 2010-10-11  Jim Meyering  <meyering@redhat.com>
24906
24907         spawn.in.h: make indentation consistent with parentheses
24908         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
24909         Make indentation consistent with parentheses.
24910
24911 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
24912
24913         Fix mismatched parens in previous commit
24914         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
24915         parens.
24916
24917 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
24918
24919         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
24920
24921         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
24922         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
24923         * lib/malloca.c: Include "verify.h".
24924         (verify1): Remove, replacing with a verify call.
24925         * lib/relocwrapper.c (verify1): Likewise.
24926         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
24927         Likewise.
24928         * modules/malloca (Depends-on): Add 'verify'.
24929         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
24930         * modules/vasnprintf (Depends-on): Add 'verify'.
24931         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
24932         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24933         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24934         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24935         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24936         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24937         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24938
24939         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
24940
24941         Formerly the style was sometimes 2*X - 1, because the C standard
24942         was wrongly thought to disallow ?: in integral constant expressions.
24943         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
24944         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
24945         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24946         * lib/stdint.in.h (_verify_intmax_size): Likewise.
24947         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
24948         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
24949         verify that time_t cannot be floating.
24950
24951 2010-10-08  Eric Blake  <eblake@redhat.com>
24952
24953         time: enforce recent POSIX ruling that time_t is integral
24954         * lib/time.in.h (__time_t_must_be_integral): Detect any
24955         problematic systems, allowing the rest of gnulib to assume POSIX.
24956
24957 2010-10-08  Jim Meyering  <meyering@redhat.com>
24958
24959         fdopendir: fix a bug on systems lacking openat and /proc support
24960         OpenBSD 4.7 is one such system.  The most noticeable effect was
24961         failure of any application making nontrivial use of fts: rm, du,
24962         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
24963           ./rm: traversal failed: `a': Bad file descriptor
24964         Debugging that, you see that even though FD 6 was closed just
24965         prior to the opendir call in fd_clone_opendir, its resulting
24966         dir->dd_fd was 8, rather than the expected value of 6:
24967
24968         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
24969         93                close (fd);
24970         (gdb) n
24971         94                dir = fd_clone_opendir (dupfd);
24972         (gdb) n
24973         95                saved_errno = errno;
24974         (gdb) p dir->dd_fd
24975         $11 = 8
24976
24977         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
24978         The problem is that on OpenBSD, fd_clone_opendir has to resort
24979         to using the old-style save/restore CWD mechanism, due to its
24980         lack of openat/proc support, and *that* would steal the FD (6)
24981         that opendir was supposed to use.
24982
24983         The fix is to squirrel away the desired FD so that save_cwd uses a
24984         different one, and then free the dest FD right before calling opendir.
24985         That guarantees opendir will use the required file descriptor.
24986
24987         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
24988
24989 2010-10-08  Bruno Haible  <bruno@clisp.org>
24990
24991         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
24992         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
24993
24994 2010-10-08  Bruno Haible  <bruno@clisp.org>
24995
24996         nanosleep: Make replacement POSIX compliant.
24997         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
24998         is out of range.
24999         Reported by Jim Meyering.
25000
25001 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25002
25003         bootstrap: add hook for altering gnulib.mk, for Bison
25004         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
25005         the Bison bootstrapping process can rewrite file names and variables
25006         in this file before later parts of 'bootstrap' use the file.
25007         Bison wants to include lib/gnulib.mk from the top-level makefile,
25008         so it needs the file names in this file to be relative to the top
25009         level, not relative to lib; plus it needs variable names to be
25010         rewritten.
25011         (slurp): Use the new function.
25012
25013         bootstrap: reformat for readability
25014         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
25015
25016 2010-10-08  Eric Blake  <eblake@redhat.com>
25017
25018         docs: update cygwin progress
25019         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
25020         1.7.7.
25021         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
25022         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
25023         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
25024         * doc/posix-functions/carg.texi (carg): Likewise.
25025         * doc/posix-functions/cargf.texi (cargf): Likewise.
25026         * doc/posix-functions/casin.texi (casin): Likewise.
25027         * doc/posix-functions/casinf.texi (casinf): Likewise.
25028         * doc/posix-functions/casinh.texi (casinh): Likewise.
25029         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
25030         * doc/posix-functions/catan.texi (catan): Likewise.
25031         * doc/posix-functions/catanf.texi (catanf): Likewise.
25032         * doc/posix-functions/catanh.texi (catanh): Likewise.
25033         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
25034         * doc/posix-functions/ccos.texi (ccos): Likewise.
25035         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
25036         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
25037         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
25038         * doc/posix-functions/cexp.texi (cexp): Likewise.
25039         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
25040         * doc/posix-functions/cimag.texi (cimag): Likewise.
25041         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
25042         * doc/posix-functions/clog.texi (clog): Likewise.
25043         * doc/posix-functions/clogf.texi (clogf): Likewise.
25044         * doc/posix-functions/conj.texi (conj): Likewise.
25045         * doc/posix-functions/conjf.texi (conjf): Likewise.
25046         * doc/posix-functions/cpow.texi (cpow): Likewise.
25047         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
25048         * doc/posix-functions/cproj.texi (cproj): Likewise.
25049         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
25050         * doc/posix-functions/creal.texi (creal): Likewise.
25051         * doc/posix-functions/crealf.texi (crealf): Likewise.
25052         * doc/posix-functions/csin.texi (csin): Likewise.
25053         * doc/posix-functions/csinf.texi (csinf): Likewise.
25054         * doc/posix-functions/csinh.texi (csinh): Likewise.
25055         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
25056         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
25057         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
25058         * doc/posix-functions/ctan.texi (ctan): Likewise.
25059         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
25060         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
25061         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
25062         * doc/posix-headers/complex.texi (complex.h): Likewise.
25063
25064 2010-10-07  Jim Meyering  <meyering@redhat.com>
25065
25066         parse-datetime: avoid compilation failure on OpenBSD 4.7
25067         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
25068         This works around a compilation failure on OpenBSD 4.7:
25069         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
25070
25071 2010-10-07  Eric Blake  <eblake@redhat.com>
25072
25073         docs: update cygwin progress
25074         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
25075         1.7.6.
25076         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25077         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
25078         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
25079         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
25080         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
25081         Likewise.
25082         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
25083         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
25084         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
25085         Likewise.
25086         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
25087         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
25088         Likewise.
25089         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
25090         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
25091         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
25092         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
25093         Likewise.
25094         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
25095         Likewise.
25096         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
25097
25098         docs: update parse-datetime history
25099         * doc/parse-datetime.texi (Authors of parse_datetime): Better
25100         documentation of this function's history and alternatives.
25101
25102         cygwin: use more robust version check
25103         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
25104         exclude an eventual cygwin 1.9.1.
25105         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25106         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25107         (gl_FUNC_STRCASESTR): Likewise.
25108         Reported by Bruno Haible.
25109
25110 2010-10-06  Bruno Haible  <bruno@clisp.org>
25111
25112         string, sys_select: Avoid #including large headers unless necessary.
25113         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
25114         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
25115         OSF/1, BeOS, Haiku.
25116         Reported by Jim Meyering.
25117
25118 2010-10-05  Eric Blake  <eblake@redhat.com>
25119
25120         memmem, strstr, strcasestr: fix bug with long periodic needle
25121         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
25122         periodic needle having false positive.
25123         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
25124         and cygwin 1.7.7.
25125         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
25126         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25127         (gl_FUNC_STRCASESTR): Likewise.
25128         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25129         * tests/test-memmem.c (main): Expose the bug.
25130         * tests/test-strcasestr.c (main): Likewise.
25131         * tests/test-strstr.c (main): Likewise.
25132         * tests/test-c-strcasestr.c (main): Likewise.
25133         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
25134         * doc/posix-functions/strstr.texi (strstr): Likewise.
25135         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25136         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
25137
25138 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25139
25140         parse-datetime: do some more renaming
25141         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
25142         parse_datetime, not get_date.  Mention the renaming.
25143         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
25144         in comments.
25145         * m4/bison.m4: Likewise.
25146
25147 2010-10-05  Eric Blake  <eblake@redhat.com>
25148
25149         parse-datetime: better name than get_date
25150         * NEWS: Reword the deprecation notice.
25151         * modules/get_date: Rename to modules/parse-datetime.
25152         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
25153         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
25154         * lib/get_date.y: Rename to lib/parse-datetime.y.
25155         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
25156         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
25157         * doc/getdate.texi: Provide fallback wrapper.
25158         * lib/getdate.h: Move guts, and wrap...
25159         * lib/parse-datetime.h: ...new file.
25160         * lib/parse-datetime.y (get_date): Rename...
25161         (parse_datetime): ...to this.
25162         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
25163         (gl_PARSE_DATETIME): ...to this.
25164         * doc/posix-functions/getdate.texi (get_date): Provide fallback
25165         documentation.
25166         * modules/getdate (Files): Provide fallback docs and header.
25167         (Notice, Depends-on): Update references.
25168         * tests/test-parse-datetime.c: Likewise.
25169         * DEPENDENCIES: Likewise.
25170         * MODULES.html.sh (Date and time <time.h>): Likewise.
25171         * doc/parse-datetime.texi (Date input formats)
25172         (Authors of parse_datetime): Likewise.
25173         * modules/parse-datetime (Files, configure.ac, Makefile.am)
25174         (Include): Likewise.
25175         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
25176         * gnulib-tool: Likewise.
25177         * m4/bison.m4 (gl_BISON): Likewise.
25178         Suggested by Bruno Haible.
25179
25180 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25181
25182         more ports to Solaris tr, which needs [] around ranges
25183         * gnulib-tool: Solaris tr needs [] around ranges.
25184         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25185         * tests/test-pipe-filter-gi1.c (main): Likewise.
25186         * tests/test-pipe-filter-ii1.c (main): Likewise.
25187
25188 2010-10-05  Eric Blake  <eblake@redhat.com>
25189
25190         bootstrap: fix Solaris regression
25191         * build-aux/bootstrap (check_versions): Solaris tr still needs []
25192         around ranges.
25193         Reported by Pádraig Brady.
25194
25195         bootstrap: work with pkg-config
25196         * build-aux/bootstrap (check_versions): Also transliterate - in
25197         prerequisite name.
25198         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
25199         prerequisites that were already found, to avoid confusion.
25200         Reported by Justin Clift.
25201
25202         faccessat: remove unused wrappers
25203         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
25204         presence of these wrappers dragged in -lgen on Solaris.
25205         Reported by Clemens Brogi; fix suggested by Paul Eggert.
25206
25207 2010-10-05  Jim Meyering  <meyering@redhat.com>
25208
25209         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
25210         * Makefile (sc_pragma_columns): New syntax-check rule.
25211
25212 2010-10-04  Bruno Haible  <bruno@clisp.org>
25213
25214         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
25215         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
25216         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
25217         Reported by Bruce Korb and Eric Blake.
25218
25219 2010-10-04  Bruno Haible  <bruno@clisp.org>
25220
25221         threadlib: Make option --with-libpth-prefix work.
25222         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
25223         use $LIBPTH, not just -lpth.
25224
25225 2010-10-04  Bruno Haible  <bruno@clisp.org>
25226
25227         Avoid line length limitation from HP NonStop system header files.
25228         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
25229         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
25230         * lib/ctype.in.h: Likewise.
25231         * lib/dirent.in.h: Likewise.
25232         * lib/errno.in.h: Likewise.
25233         * lib/fcntl.in.h: Likewise.
25234         * lib/float.in.h: Likewise.
25235         * lib/getopt.in.h: Likewise.
25236         * lib/iconv.in.h: Likewise.
25237         * lib/inttypes.in.h: Likewise.
25238         * lib/langinfo.in.h: Likewise.
25239         * lib/locale.in.h: Likewise.
25240         * lib/math.in.h: Likewise.
25241         * lib/netdb.in.h: Likewise.
25242         * lib/netinet_in.in.h: Likewise.
25243         * lib/poll.in.h: Likewise.
25244         * lib/pthread.in.h: Likewise.
25245         * lib/pty.in.h: Likewise.
25246         * lib/sched.in.h: Likewise.
25247         * lib/se-selinux.in.h: Likewise.
25248         * lib/search.in.h: Likewise.
25249         * lib/signal.in.h: Likewise.
25250         * lib/spawn.in.h: Likewise.
25251         * lib/stdarg.in.h: Likewise.
25252         * lib/stddef.in.h: Likewise.
25253         * lib/stdint.in.h: Likewise.
25254         * lib/stdio.in.h: Likewise.
25255         * lib/stdlib.in.h: Likewise.
25256         * lib/string.in.h: Likewise.
25257         * lib/strings.in.h: Likewise.
25258         * lib/sys_file.in.h: Likewise.
25259         * lib/sys_ioctl.in.h: Likewise.
25260         * lib/sys_select.in.h: Likewise.
25261         * lib/sys_socket.in.h: Likewise.
25262         * lib/sys_stat.in.h: Likewise.
25263         * lib/sys_time.in.h: Likewise.
25264         * lib/sys_times.in.h: Likewise.
25265         * lib/sys_utsname.in.h: Likewise.
25266         * lib/sys_wait.in.h: Likewise.
25267         * lib/sysexits.in.h: Likewise.
25268         * lib/termios.in.h: Likewise.
25269         * lib/time.in.h: Likewise.
25270         * lib/unistd.in.h: Likewise.
25271         * lib/wchar.in.h: Likewise.
25272         * lib/wctype.in.h: Likewise.
25273         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
25274         * modules/ctype (Makefile.am): Likewise.
25275         * modules/dirent (Makefile.am): Likewise.
25276         * modules/errno (Makefile.am): Likewise.
25277         * modules/fcntl-h (Makefile.am): Likewise.
25278         * modules/float (Makefile.am): Likewise.
25279         * modules/getopt-posix (Makefile.am): Likewise.
25280         * modules/iconv-h (Makefile.am): Likewise.
25281         * modules/inttypes (Makefile.am): Likewise.
25282         * modules/langinfo (Makefile.am): Likewise.
25283         * modules/locale (Makefile.am): Likewise.
25284         * modules/math (Makefile.am): Likewise.
25285         * modules/netdb (Makefile.am): Likewise.
25286         * modules/netinet_in (Makefile.am): Likewise.
25287         * modules/poll-h (Makefile.am): Likewise.
25288         * modules/pthread (Makefile.am): Likewise.
25289         * modules/pty (Makefile.am): Likewise.
25290         * modules/sched (Makefile.am): Likewise.
25291         * modules/search (Makefile.am): Likewise.
25292         * modules/selinux-h (Makefile.am): Likewise.
25293         * modules/signal (Makefile.am): Likewise.
25294         * modules/spawn (Makefile.am): Likewise.
25295         * modules/stdarg (Makefile.am): Likewise.
25296         * modules/stddef (Makefile.am): Likewise.
25297         * modules/stdint (Makefile.am): Likewise.
25298         * modules/stdio (Makefile.am): Likewise.
25299         * modules/stdlib (Makefile.am): Likewise.
25300         * modules/string (Makefile.am): Likewise.
25301         * modules/strings (Makefile.am): Likewise.
25302         * modules/sys_file (Makefile.am): Likewise.
25303         * modules/sys_ioctl (Makefile.am): Likewise.
25304         * modules/sys_select (Makefile.am): Likewise.
25305         * modules/sys_socket (Makefile.am): Likewise.
25306         * modules/sys_stat (Makefile.am): Likewise.
25307         * modules/sys_time (Makefile.am): Likewise.
25308         * modules/sys_times (Makefile.am): Likewise.
25309         * modules/sys_utsname (Makefile.am): Likewise.
25310         * modules/sys_wait (Makefile.am): Likewise.
25311         * modules/sysexits (Makefile.am): Likewise.
25312         * modules/termios (Makefile.am): Likewise.
25313         * modules/time (Makefile.am): Likewise.
25314         * modules/unistd (Makefile.am): Likewise.
25315         * modules/wchar (Makefile.am): Likewise.
25316         * modules/wctype (Makefile.am): Likewise.
25317
25318 2010-10-04  Bruno Haible  <bruno@clisp.org>
25319
25320         read-file tests: Avoid a test failure on NonStop Kernel.
25321         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
25322         a regular file.
25323         Reported by Joachim Schmitz <schmitz@hp.com>.
25324
25325 2010-10-03  Bruno Haible  <bruno@clisp.org>
25326
25327         gnulib-tool: Fixes for --create-testdir with --libtool.
25328         * gnulib-tool (func_get_automake_snippet): Don't augment
25329         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
25330         an executable.
25331         (func_create_testdir): Handle module 'alloca' like func_import.
25332         Reported by Bruce Korb <bruce.korb@gmail.com>.
25333
25334 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
25335
25336         Avoid some lines longer than 80 characters.
25337         * lib/stdint.in.h: Break long comment lines.
25338         * lib/math.in.h: Likewise.
25339         (_GL_NUM_UINT_WORDS): New macro, for readability.
25340         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
25341         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
25342         * lib/stdlib.in.h: Likewise.
25343         * lib/spawn.in.h: Likewise.
25344         * lib/sys_socket.in.h: Update an URL.
25345         * lib/sys_stat.in.h: Break long line.
25346
25347 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
25348
25349         Improve pmccabe2html.
25350         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
25351         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
25352         when the sources change. Remove the line in the HTML about "Used
25353         ranges" (which implied that there might be other unused ranges),
25354         rename "Resume" to "Summary" (easier to understand for more users).
25355         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
25356         styles, and some unnecessary blank lines.
25357
25358 2010-10-03  Bruno Haible  <bruno@clisp.org>
25359             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
25360
25361         acl: Add support for ACLs on NonStop Kernel.
25362         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
25363         Check whether the function aclsort() exists.
25364         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
25365         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
25366         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25367         (acl_nontrivial [HAVE_ACLSORT]: New function.
25368         (file_has_acl): Implement for NonStop Kernel.
25369         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25370         (qset_acl): Implement for NonStop Kernel.
25371         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
25372         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
25373         (main): Implement for NonStop Kernel.
25374         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
25375         Kernel. Handle this flavor.
25376         * tests/test-set-mode-acl.sh: Likewise.
25377         * tests/test-copy-acl.sh: Likewise.
25378         * tests/test-copy-file.sh: Likewise.
25379
25380 2010-10-03  Bruno Haible  <bruno@clisp.org>
25381
25382         Info about ACLs on NonStop Kernel.
25383         * doc/acl-resources.txt: Add info about NonStop Kernel.
25384         References by Joachim Schmitz <schmitz@hp.com>.
25385
25386 2010-10-02  Bruno Haible  <bruno@clisp.org>
25387
25388         Define missing EDQUOT on NonStop Kernel.
25389         * lib/errno.in.h (EDQUOT): Assign a value if missing.
25390         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
25391         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
25392         missing.
25393         * doc/posix-headers/errno.texi: Mention the NSK bug.
25394         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
25395         Reported by Joachim Schmitz <schmitz@hp.com>.
25396
25397 2010-10-02  Bruno Haible  <bruno@clisp.org>
25398
25399         Update doc for POSIX:2008.
25400         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
25401         Update URL of POSIX specification.
25402
25403 2010-10-02  Bruno Haible  <bruno@clisp.org>
25404
25405         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
25406         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
25407         from gnulib, not from Automake.
25408
25409 2010-10-02  Bruno Haible  <bruno@clisp.org>
25410
25411         New module 'system-posix'.
25412         * modules/system-posix: New file.
25413         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
25414         module is present.
25415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
25416         GNULIB_SYSTEM_POSIX.
25417         * modules/stdlib (Depends-on): Remove sys_wait.
25418         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
25419         * doc/posix-functions/system.texi: Mention the new module.
25420         * doc/posix-headers/stdlib.texi: Likewise.
25421         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
25422         define test_sys_wait_macros to a no-op.
25423         Reported by Sam Steingold <sds@gnu.org>.
25424
25425 2010-09-30  Bruno Haible  <bruno@clisp.org>
25426
25427         More renaming from 'getdate' to 'get_date'.
25428         * doc/get_date.texi: Renamed from doc/getdate.texi.
25429         * modules/get_date (Files): Update.
25430         * MODULES.html.sh (Date and time <time.h>): Update.
25431         * DEPENDENCIES: Update.
25432         * gnulib-tool: Update comment.
25433         * m4/bison.m4 (gl_BISON): Likewise.
25434         * m4/get_date.m4 (gl_GET_DATE): Likewise.
25435
25436 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
25437
25438         bootstrap: support ACLOCAL_FLAGS during aclocal
25439         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
25440         can add additional -I dir for third-party .m4 files.
25441
25442 2010-09-30  Eric Blake  <eblake@redhat.com>
25443
25444         bootstrap: use glibtoolize on MacOS
25445         * build-aux/bootstrap (check_versions): Convert libtool into
25446         libtoolize.
25447         (tool search): Move libtool check earlier, and look for
25448         glibtoolize for MacOS.
25449         (gnulib_tool_options): Auto-add --libtool when appropriate.
25450         Reported by Justin Clift.
25451
25452         poll: fix typo that broke test on MacOS
25453         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
25454         Reported by Justin Clift.
25455
25456         getdate: rename to get_date
25457         Note: getdate.h is not renamed, to minimize client impact.
25458         * modules/getdate: Mark obsolete.  Move old contents...
25459         * modules/get_date: ...to new module name.
25460         * modules/getdate-tests: Move...
25461         * modules/get_date-tests: ...here.
25462         * m4/getdate.m4: Move...
25463         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
25464         * lib/getdate.y: Move...
25465         * lib/get_date.y: ...here.
25466         * tests/test-getdate.c: Move...
25467         * tests/test-get_date.c: ...here.
25468         * doc/posix-functions/getdate.texi (getdate): Update name.
25469         * NEWS: Mention the change.
25470
25471 2010-09-29  Bruno Haible  <bruno@clisp.org>
25472
25473         Separate the module 'waitpid' from the module 'sys_wait'.
25474         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
25475         present.
25476         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
25477         gl_MODULE_INDICATOR_FOR_TESTS.
25478         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
25479         * modules/sys_wait (Depends-on): Remove waitpid.
25480         (Makefile.am): Substitute GNULIB_WAITPID.
25481         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
25482         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
25483         signature only if the 'waitpid' module is present.
25484         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
25485         * NEWS: Mention the change.
25486         * modules/grantpt (Depends-on): Add waitpid.
25487         * modules/wait-process (Depends-on): Likewise.
25488
25489 2010-09-29  Bruno Haible  <bruno@clisp.org>
25490
25491         More tests for module 'sys_wait'.
25492         * modules/sys_wait-c++-tests: New file.
25493         * tests/test-sys_wait-c++.cc: New file.
25494         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
25495         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25496
25497 2010-09-29  Bruno Haible  <bruno@clisp.org>
25498
25499         New module 'waitpid'.
25500         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
25501         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
25502         Don't include <process.h>.
25503         (waitpid): Declare only, using modern idiom.
25504         * m4/waitpid.m4: New file.
25505         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
25506         * modules/waitpid: New file.
25507         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
25508         (Makefile.am): Update.
25509         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
25510
25511 2010-09-28  Bruno Haible  <bruno@clisp.org>
25512
25513         poll: Assume ANSI C.
25514         * lib/poll.c (poll): Use an ANSI C declaration.
25515
25516 2010-09-28  Bruno Haible  <bruno@clisp.org>
25517
25518         poll-h: Create poll.h on all platforms.
25519         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
25520         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
25521         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
25522         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
25523         (gl_REPLACE_POLL_H): Don't set POLL_H.
25524         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
25525         * modules/poll-h (Depends-on): Add include_next.
25526         (Makefile.am): Create poll.h unconditionally. Substitute also
25527         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
25528
25529 2010-09-28  Bruno Haible  <bruno@clisp.org>
25530
25531         Tests for module 'poll-h'.
25532         * modules/poll-h-c++-tests: New file.
25533         * tests/test-poll-h-c++.cc: New file.
25534
25535         Tests for module 'poll-h'.
25536         * modules/poll-h-tests: New file.
25537         * tests/test-poll-h.c: New file.
25538
25539 2010-09-28  Bruno Haible  <bruno@clisp.org>
25540
25541         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
25542         * modules/poll-h (Depends-on): Add 'extensions'.
25543
25544 2010-09-28  Bruno Haible  <bruno@clisp.org>
25545
25546         New module 'poll-h'.
25547         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
25548         (poll): Use modern idiom.
25549         * modules/poll-h: New file.
25550         * modules/poll (Files): Remove lib/poll.in.h.
25551         (Depends-on): Add poll-h.
25552         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
25553         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
25554         * m4/poll_h.m4: New file.
25555         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
25556         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
25557         and invoke gl_REPLACE_POLL_H.
25558         * lib/poll.c: Use common idiom.
25559         * tests/test-poll.c: Likewise.
25560         * doc/posix-headers/poll.texi: Mention the poll-h module.
25561         Suggested by Eric Blake.
25562
25563 2010-09-26  Bruno Haible  <bruno@clisp.org>
25564
25565         sys_wait: Implement WSTOPSIG.
25566         * lib/sys_wait.in.h (WSTOPSIG): New macro.
25567         Reported by Simon Josefsson.
25568
25569 2010-09-26  Simon Josefsson  <simon@josefsson.org>
25570
25571         stdlib, sys_wait: Avoid compilation error on mingw.
25572         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
25573
25574 2010-09-26  Bruno Haible  <bruno@clisp.org>
25575
25576         stdlib tests: Avoid code duplication.
25577         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
25578         * modules/sys_wait-tests (Files): Likewise.
25579         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
25580         * tests/test-stdlib.c: Include test-sys_wait.h.
25581         (main): Invoke test_sys_wait_macros.
25582         * tests/test-sys_wait.c: Include test-sys_wait.h.
25583         (main): Invoke test_sys_wait_macros.
25584
25585 2010-09-25  Simon Josefsson  <simon@josefsson.org>
25586
25587         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
25588         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
25589         sure Windows sockets are working before calling getaddrinfo.
25590         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
25591         * doc/gnulib.texi (Windows sockets): Fix typo.
25592
25593 2010-09-25  Bruno Haible  <bruno@clisp.org>
25594
25595         Tests for module 'regex-quote'.
25596         * modules/regex-quote-tests: New file.
25597         * tests/test-regex-quote.c: New file.
25598
25599         New module 'regex-quote'.
25600         * lib/regex-quote.h: New file.
25601         * lib/regex-quote.c: New file.
25602         * modules/regex-quote: New file.
25603         Suggested by Reuben Thomas <rrt@sc3d.org>.
25604
25605 2010-09-24  Bruno Haible  <bruno@clisp.org>
25606
25607         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
25608         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
25609
25610 2010-09-23  Bruno Haible  <bruno@clisp.org>
25611
25612         setenv: Relax license.
25613         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
25614         Blake.
25615         Requested by Eric Blake.
25616
25617 2010-09-22  Bruno Haible  <bruno@clisp.org>
25618
25619         termios: Relax license.
25620         * modules/termios (License): Change to LGPLv2+.
25621         Requested by Eric Blake.
25622
25623 2010-09-22  Bruno Haible  <bruno@clisp.org>
25624
25625         threadlib: Allow the package to change the default to 'no'.
25626         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
25627         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
25628         Reported by Paul Eggert.
25629
25630 2010-09-22  Pádraig Brady  <P@draigbrady.com>
25631             Bruno Haible  <bruno@clisp.org>
25632
25633         Fix endless loop in mbmemcasecoll.
25634         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
25635         byte.
25636         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
25637
25638 2010-09-22  Bruno Haible  <bruno@clisp.org>
25639
25640         Tests for module 'memcoll'.
25641         * modules/memcoll-tests: New file.
25642         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
25643
25644         memcoll, xmemcoll: Clarify size vs. length.
25645         * modules/memcoll.c (memcoll0): Clarify specification.
25646         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
25647         passed to collate_error.
25648
25649 2010-09-22  Bruno Haible  <bruno@clisp.org>
25650
25651         Tests for module 'memcasecmp'.
25652         * modules/memcasecmp-tests: New file.
25653         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
25654
25655 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
25656
25657         * lib/pthread.in.h: Add split double-inclusion guard, and include
25658         system <pthread.h> if there is one.  Use @@-style as in other
25659         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
25660         pthread.h doesn't.
25661         (pthread_mutexattr_destroy, pthread_mutexattr_init):
25662         (pthread_mutexattr_settype, pthread_mutex_trylock):
25663         New static inline functions, if there's no system <pthread.h>.
25664         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
25665         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
25666         Approximate with mutexes if the system lacks spinlocks, as in
25667         MacOS.
25668         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
25669         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
25670         @@-style.  Check for spinlocks separately.
25671         (gl_PTHREAD_DEFAULTS): New macro.
25672         * modules/pthread: Redo to use a more typical style for in.h files.
25673
25674 2010-09-21  Eric Blake  <eblake@redhat.com>
25675
25676         net_if: enhance tests
25677         * tests/test-net_if.c (main): Move signature checks earlier.
25678         Print failures to stderr.
25679         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
25680         Document the bug that we do not yet fix.
25681
25682 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25683
25684         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
25685         about gnulib, not GSS.
25686
25687 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
25688
25689         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
25690         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
25691         for Emacs.
25692         * build-aux/pmccabe2html: Make Makefile.am example code more
25693         cut-and-paste friendly.
25694
25695 2010-09-21  Simon Josefsson  <simon@josefsson.org>
25696
25697         * tests/test-net_if.c: New file.
25698         * modules/net_if-tests: New file.
25699
25700 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
25701
25702         pthread: add pthread_spin_destroy
25703         * lib/pthread.in.h (pthread_spin_destroy): New function.
25704
25705 2010-09-19  Bruno Haible  <bruno@clisp.org>
25706
25707         gnulib-tool: Fix --help output.
25708         * gnulib-tool (func_usage): Fix help message.
25709         Reported by Reuben Thomas <rrt@sc3d.org>.
25710
25711 2010-09-18  Jim Meyering  <meyering@redhat.com>
25712
25713         maint.mk: avoid unexpanded \n in two diagnostics
25714         * top/maint.mk (sc_prohibit_always_true_header_tests):
25715         Don't use a literal \n in a halt=... assignment.  It would not be
25716         expanded, and the two \n bytes would appear in the diagnostic output
25717         rather than the desired newline.  Use halt=$$(printf ... instead.
25718         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
25719
25720 2010-09-18  Bruno Haible  <bruno@clisp.org>
25721
25722         netinet_in: Doc tweak.
25723         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
25724         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25725
25726 2010-09-18  Jim Meyering  <meyering@redhat.com>
25727
25728         init.sh: correct an outdated comment
25729         * tests/init.sh (create_exe_shims_):  s/function/alias/
25730
25731         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
25732         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
25733         a file named "*.exe" is removed between the glob expansion and the
25734         processing of that oddly named file.
25735
25736 2010-09-17  Eric Blake  <eblake@redhat.com>
25737
25738         mirbsd: add some more support
25739         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
25740         in BSD family.
25741         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
25742         devices as OpenBSD.
25743         * m4/host-os.m4 (mirbsd): Add MirBSD.
25744
25745         tests: fix unportable assumption on sys/wait.h
25746         * tests/test-sys_wait.c (main): Relax test.
25747         * tests/test-stdlib.c (main): Likewise.
25748
25749         init.sh: accomodate directory with no .exes
25750         * tests/init.sh: Accomodate directory containing only scripts.
25751
25752         tests: avoid compiler warning
25753         * tests/test-stdlib.c (main): Use the variable.
25754
25755         fdutimens, fdutimensat: update signature, again
25756         * lib/utimens.h (gl_futimens): Delete, and move signature...
25757         (fdutimens): ...here.
25758         (fdutimensat): Rearrange signature.
25759         (lutimensat): Rename variable for clarity.
25760         * lib/fdutimensat.c (fdutimensat): Update signature.
25761         * lib/utimens.c (fdutimens): Likewise.
25762         (gl_futimens): Delete.
25763         (utimens, lutimens): Update callers.
25764         * lib/futimens.c (futimens): Likewise.
25765         * tests/test-fdutimensat.c: Likewise.
25766         * tests/test-utimens.c: Likewise.
25767         * tests/test-futimens.h: Update comment.
25768         * NEWS: Mention this.
25769         Suggested by Paul Eggert.
25770
25771 2010-09-17  Bruno Haible  <bruno@clisp.org>
25772
25773         Take over the maintenance of some older macros from Autoconf.
25774         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
25775         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
25776         GNU Autoconf.
25777         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
25778         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
25779
25780 2010-09-17  Eric Blake  <eblake@redhat.com>
25781
25782         fdutimensat: drop atflag validation
25783         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
25784         with valid fd, to close a race scenario where futimens is
25785         unsupported and FILE was replaced by a symlink.
25786         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
25787         accordingly.
25788         Suggested by Paul Eggert.
25789
25790 2010-09-16  Bruno Haible  <bruno@clisp.org>
25791
25792         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
25793         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
25794
25795 2010-09-16  Bruno Haible  <bruno@clisp.org>
25796
25797         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
25798         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
25799         login_tty exists.
25800         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25801
25802 2010-09-16  Bruno Haible  <bruno@clisp.org>
25803
25804         login_tty: Make the replacement code work on BSD systems.
25805         * lib/login_tty.c: Include <sys/ioctl.h>.
25806         (login_tty): Use ioctl TIOCSCTTY when available.
25807         * modules/login_tty (Depends-on): Add sys_ioctl.
25808         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25809
25810 2010-09-16  Bruno Haible  <bruno@clisp.org>
25811
25812         login_tty: Stricter unit test.
25813         * modules/login_tty-tests (Depends-on): Add tcgetsid.
25814         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
25815         and tcgetsid() after login_tty.
25816         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
25817
25818 2010-09-16  Bruno Haible  <bruno@clisp.org>
25819
25820         New module 'tcgetsid'.
25821         * lib/tcgetsid.c: New file.
25822         * m4/tcgetsid.m4: New file.
25823         * modules/tcgetsid: New file.
25824         * modules/termios (Depends-on): Add c++defs, warn-on-use.
25825         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
25826         GNULIB_TCGETSID, HAVE_TCGETSID.
25827         * lib/termios.in.h: Include <sys/types.h>.
25828         (tcgetsid): New declaration.
25829         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
25830         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
25831         * doc/posix-functions/tcgetsid.texi: Mention the new module.
25832         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
25833
25834 2010-09-16  Bruno Haible  <bruno@clisp.org>
25835
25836         Tests for module 'termios'.
25837         * modules/termios-c++-tests: New file.
25838         * modules/termios-tests: New file.
25839         * tests/test-termios-c++.cc: New file.
25840         * tests/test-termios.c: New file.
25841
25842         New module 'termios'.
25843         * modules/termios: New file.
25844         * lib/termios.in.h: New file.
25845         * m4/termios_h.m4: New file.
25846         * doc/posix-headers/termios.texi: Mention the new module.
25847
25848 2010-09-16  Eric Blake  <eblake@redhat.com>
25849
25850         fdutimensat: add an atflag parameter
25851         * lib/fdutimensat.c (fdutimensat): Add new parameter.
25852         * lib/utimens.h (fdutimensat): Update prototype.
25853         * tests/test-fdutimensat.c: Adjust test to match.
25854         * NEWS: Document the change.
25855         Suggested by Paul Eggert.
25856
25857 2010-09-16  Bruno Haible  <bruno@clisp.org>
25858
25859         Fix typos in comments.
25860         * lib/striconveh.h: Fix typo in comment.
25861         * lib/login_tty.c (login_tty): Likewise.
25862
25863 2010-09-15  Bruno Haible  <bruno@clisp.org>
25864
25865         stdlib: clarify MirBSD WEXITSTATUS bug
25866         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
25867         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25868
25869 2010-09-15  Eric Blake  <eblake@redhat.com>
25870
25871         stdlib: work around MirBSD WEXITSTATUS bug
25872         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
25873         * modules/stdlib (Depends-on): Add sys_wait.
25874         * tests/test-sys_wait.c (main): Enhance test.
25875         * tests/test-stdlib.c (main): Likewise.
25876         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
25877
25878         docs: mention MacOS issue with WEXITSTATUS(constant)
25879         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
25880         issue.
25881         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25882
25883         strnlen: add tests
25884         * modules/strnlen-tests: New file.
25885         * tests/test-strnlen.c: Likewise.
25886
25887 2010-09-14  Bruno Haible  <bruno@clisp.org>
25888
25889         unistr/base: Avoid link errors when module 'libunistring' is also used.
25890         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
25891         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
25892         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
25893         Declare also when HAVE_LIBUNISTRING is set.
25894         Reported by Pádraig Brady <P@draigbrady.com>.
25895
25896 2010-09-14  Eric Blake  <eblake@redhat.com>
25897
25898         test-rawmemchr: make more robust
25899         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
25900         (Depends-on, configure.ac): Add needed prerequisites to use it.
25901         * modules/memchr-tests (Files, Depends-on, configure.ac):
25902         Likewise, to avoid implicit reliance on memchr module prereqs.
25903         * tests/test-memchr.c (main): Ensure proper masking.
25904         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
25905         reads.
25906
25907         memchr: detect glibc Alpha bug
25908         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
25909         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
25910         Alpha.
25911         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
25912         * tests/test-memchr.c (main): Enhance test.
25913         Reported by Nelson H. F. Beebe.
25914
25915 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25916
25917         fts, getcwd, glob: audit for dirfd returning -1
25918         * lib/fts.c (opendir): Remove #define; no longer used.
25919         (opendirat): New arg PDIR_FD.  All callers changed.
25920         (fts_build, _opendir2): Use new opendirat to avoid the need for
25921         dirfd, or for checking whether dirfd returns a negative value.
25922         Don't use opendir; always use openat followed by fdopendir.
25923         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
25924         it.
25925         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
25926         returns -1 here.
25927         * modules/fts (Depends-on): Remove dirfd.
25928         * modules/getcwd (Depends-on): Likewise.
25929
25930 2010-09-13  Eric Blake  <eblake@redhat.com>
25931
25932         float: fix broken MirBSD header
25933         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
25934         * doc/posix-headers/float.texi (float.h): Document it.
25935
25936 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
25937
25938         fts: use O_NOFOLLOW to avoid race condition when opening a directory
25939         * lib/fts.c (opendirat): New arg extra_flags.
25940         (__opendir2): Use it to avoid following symlinks when opening
25941         a directory, if symlinks are not supposed to be followed.  See
25942         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
25943
25944         fdopendir: preserve argument fd before returning
25945         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
25946         (fdopendir_with_dup, fd_clone_opendir): New static functions.
25947         (fdopendir): Use them, arranging for FD to be open to the same
25948         directory that it was when it started.  (It might be temporarily
25949         closed while fdopendir is running, so this not thread- or
25950         signal-safe.)  Be careful to do the right thing even when file
25951         descriptors are scarce and dup fails with errno == EMFILE.  See
25952         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
25953
25954 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
25955
25956         regex: Pass the system regex if its only problem is 32-bit regoff_t.
25957         * NEWS: Document change.
25958         * m4/regex.m4: Disable test for regoff_t size.
25959
25960 2010-09-13  Jim Meyering  <meyering@redhat.com>
25961
25962         fts: don't operate on an invalid file descriptor after failed dup
25963         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
25964         negative file descriptor.
25965
25966 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
25967
25968         savedir: add streamsavedir, deprecate fdsavedir
25969         * NEWS: Mention deprecation of fdsavedir.
25970         * lib/savedir.c (streamsavedir): New extern function, whose name
25971         ends in "savedir" to be consistent with the others.  This differs
25972         from savedirstream in that it doesn't close its argument.  The
25973         next version of GNU tar will use this instead of fdsavedir, to
25974         avoid some race conditions and conserve file descriptors.
25975         (savedirstream): Reimplement as a wrapper around streamsavedir.
25976         (fdsavedir): Add a comment deprecating this function.  As far as
25977         I know, only GNU tar used it, and GNU tar doesn't need it any more.
25978         * lib/savedir.h (streamsavedir): New decl.
25979         (fdsavedir): Add a comment deprecating this.
25980
25981 2010-09-10  Bruno Haible  <bruno@clisp.org>
25982
25983         langinfo: Fix last commit.
25984         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
25985         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
25986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25987
25988 2010-09-10  Bruno Haible  <bruno@clisp.org>
25989
25990         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
25991         * lib/progreloc.c (O_EXEC): Define fallback.
25992
25993 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
25994
25995         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
25996         * NEWS: Document recent changes to fcntl-h.
25997         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
25998         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
25999         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
26000         Similarly for O_SEARCH; this last was already true, but not documented.
26001         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
26002         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
26003         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
26004         Likewise.
26005         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
26006         is zero, not whether it is defined.
26007         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
26008         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
26009         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
26010
26011 2010-09-10  Bruno Haible  <bruno@clisp.org>
26012
26013         langinfo, nl_langinfo: Fix for IRIX 5.3.
26014         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
26015         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
26016         HAVE_LANGINFO_YESEXPR.
26017         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
26018         HAVE_LANGINFO_YESEXPR.
26019         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
26020         HAVE_LANGINFO_T_FMT_AMPM is 0.
26021         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
26022         HAVE_LANGINFO_YESEXPR is 0.
26023         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
26024         NOEXPR.
26025         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
26026         * doc/posix-functions/nl_langinfo.texi: Likewise.
26027         Reported by Eric Blake.
26028
26029 2010-09-10  Bruno Haible  <bruno@clisp.org>
26030
26031         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
26032         * doc/glibc-functions/login_tty.texi: Mention the include file problem
26033         on FreeBSD 8.0 and OpenBSD 4.6.
26034         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
26035         * m4/pty_h.m4 (gl_PTY_H): Likewise.
26036         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
26037         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
26038         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
26039         ac_includes_default.
26040         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26041
26042 2010-09-09  Eric Blake  <eblake@redhat.com>
26043
26044         strsignal: work around NetBSD bug
26045         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
26046         * lib/string.in.h (includes): Likewise.
26047         * doc/posix-functions/strsignal.texi (strsignal): Document the
26048         bug.
26049         Reported by Nelson H. F. Beebe.
26050
26051         gnulib-tool: work with NetBSD /bin/sh
26052         * gnulib-tool (func_cache_var, func_cache_lookup_module)
26053         (func_get_description, func_get_comment, func_get_status)
26054         (func_get_notice, func_get_applicability, func_get_filelist)
26055         (func_get_dependencies, func_get_autoconf_early_snippet)
26056         (func_get_autoconf_snippet, func_get_automake_snippet)
26057         (func_get_include_directive, func_get_link_directive)
26058         (func_get_license, func_get_maintainer, func_import): Avoid
26059         shell syntax errors from parsing syntax extensions.
26060
26061 2010-09-09  Bruno Haible  <bruno@clisp.org>
26062
26063         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26064         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
26065         a reliable way to determine whether the 'alias' command works.
26066
26067 2010-09-08  Jim Meyering  <meyering@redhat.com>
26068
26069         init.sh: penalize a set-x-impaired shell; don't disqualify it
26070         * tests/init.sh: Too many shells corrupt application stderr when
26071         you set -x, so we can't afford to disqualify them, since at least
26072         on Irix-6.5, that would disqualify all bourne shells.
26073         Instead, use a two-pass approach.
26074         On the first pass, try to find a shell that meets the stricter
26075         condition that set -x does not corrupt stderr.
26076         If no shell meets the stricter condition, retest each candidate
26077         shell, but without that extra condition.  Finally, when
26078         VERBOSE=yes is requested and set -x might cause trouble, simply
26079         issue a warning and refrain from enabling debug output.
26080
26081 2010-09-08  Eric Blake  <eblake@redhat.com>
26082
26083         unsetenv: fix OpenBSD bug
26084         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
26085         * doc/posix-functions/unsetenv.texi (unsetenv): Update
26086         documentation.
26087         Reported by Jim Meyering.
26088
26089         strtod: work around IRIX 6.5 bug
26090         * lib/strtod.c (strtod): Reparse number on shorter string if
26091         exponent parse was invalid.
26092         * tests/test-strtod.c (main): Add check for "0x1p 2".
26093         Reported by Tom G. Christensen.
26094
26095         getopt: optimize previous patch
26096         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
26097         empty variable.  Speed up awk script.
26098         Reported by Paolo Bonzini.
26099
26100 2010-09-08  Jim Meyering  <meyering@redhat.com>
26101
26102         test.sh: disqualify shells for which set -x corrupts stderr
26103         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
26104         and OpenBSD 4.7.  They make it so with "set -x", environment settings
26105         appear in stderr output.  For example, this command:
26106             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
26107         prints "P=1" on those two systems:
26108
26109 2010-09-08  Bruno Haible  <bruno@clisp.org>
26110
26111         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26112         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
26113         commands, because some shells ignore redirections when there is an
26114         error in the command lookup.
26115         Reported by Eric Blake.
26116
26117 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
26118
26119         * lib/regex.h: Fix a mention of `regex_compile' (should be
26120         `re_compile_pattern').
26121         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
26122         (re_set_registers): Correct name of parameter in comment.
26123
26124         * doc/regex.texi: Add documentation for missing syntax flags.
26125         Remove commented-out documentation of defunct syntax option
26126         RE_NO_EMPTY_ALTS.
26127         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
26128         Add documentation of re_set_registers.
26129         Document trick to re-use a pattern buffer by setting fastmap manually.
26130         Update documentation of struct re_pattern_buffer per public members.
26131         Uncomment documentation of equivalence class operators and
26132         collating symbol operators, since they are now implemented,
26133         Explain leftmost-longest matching in relation to alternatives.
26134         Tidy documentation of substring matching.
26135         Remove POSIX documentation, which is done better in
26136         glibc, and refer the reader there. Keep BSD API documentation, as
26137         that is not readily available elsewhere.
26138
26139 2010-09-07  Eric Blake  <eblake@redhat.com>
26140
26141         getopt: handle POSIXLY_CORRECT set but not exported
26142         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
26143         export state of POSIXLY_CORRECT, due to bash set -o posix.
26144         Reported by Dustin J. Mitchell.
26145
26146 2010-09-05  Bruno Haible  <bruno@clisp.org>
26147
26148         gnulib-tool: Highlight the changed options.
26149         * gnulib-tool (func_usage): Display the --import, --add-import,
26150         --remove-import explanations in bold font.
26151
26152 2010-09-06  Karl Berry  <karl@gnu.org>
26153
26154         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
26155
26156 2010-09-05  Bruno Haible  <bruno@clisp.org>
26157
26158         uniwidth/width: Update comment.
26159         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
26160         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
26161
26162 2010-09-05  Bruno Haible  <bruno@clisp.org>
26163
26164         isinf, isnan: Relax license.
26165         * modules/isinf (License): Change from GPL to LGPL, with consent from
26166         Ben Pfaff.
26167         * modules/isnan (License): Likewise.
26168         Requested by Ludovic Courtès.
26169
26170 2010-09-04  Bruno Haible  <bruno@clisp.org>
26171
26172         gnulib-tool: Help migration from --import to --add-import or --update.
26173         * gnulib-tool: Emit a verbose error message when --import is used
26174         without any module name.
26175
26176 2010-09-04  Bruno Haible  <bruno@clisp.org>
26177
26178         Update doc about gnulib-tool.
26179         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
26180         'gnulib-tool --update' in more detail.
26181         Reported by Eric Blake.
26182
26183 2010-09-04  Bruno Haible  <bruno@clisp.org>
26184
26185         gnulib-tool: Change --import. New options --add/remove-import.
26186         * gnulib-tool: New options --add-import, --remove-import.
26187         (func_usage): Document them.
26188         (have_associative): Define always.
26189         (func_import): In import mode, don't merge the specified settings with
26190         the cached settings. Implement remove-import mode.
26191         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
26192         Explain when to use them versus --import.
26193         (Simple update): Use --add-import instead of --import.
26194         * NEWS: Mention the change.
26195
26196 2010-09-04  Bruno Haible  <bruno@clisp.org>
26197
26198         * doc/gnulib-tool.texi (Initial import): Update paragraph about
26199         separate gnulib.mk.
26200
26201 2010-09-04  Bruno Haible  <bruno@clisp.org>
26202
26203         gnulib-tool: Don't talk about CVS any more.
26204         * gnulib-tool (func_usage, func_import): Write "version control"
26205         instead of CVS.
26206
26207 2010-09-04  Jim Meyering  <meyering@redhat.com>
26208
26209         maint.mk: avoid obscure sc_copyright_check failure in coreutils
26210         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
26211         false positives (whose names may be ill-chosen) when searching
26212         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
26213         would cause a false-positive.
26214
26215         avoid coreutils "make distcheck" failure
26216         Coreutils tests with an absolute build directory name that contains
26217         a space.  Not quoting this directory name caused a failure.
26218         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
26219         * tests/test-vc-list-files-cvs.sh: Likewise.
26220
26221 2010-09-04  Bruno Haible  <bruno@clisp.org>
26222
26223         gnulib-tool: Avoid error when run in a package without Makefile.am.
26224         * gnulib-tool: When collecting the m4dirs in a package that does not
26225         have a Makefile.am, eliminate those directories that contain no
26226         gnulib-cache.m4. Fix expression that counts these directories.
26227
26228 2010-09-04  Bruno Haible  <bruno@clisp.org>
26229
26230         update-copyright test: Improve output when perl is missing or too old.
26231         * tests/test-update-copyright.sh: Move test of Perl version down after
26232         the test whether Perl exists. Provide an explanation relating Perl's
26233         error message to Automake's SKIP: message.
26234
26235 2010-09-04  Bruno Haible  <bruno@clisp.org>
26236
26237         Don't augment PATH in TESTS_ENVIRONMENT.
26238         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
26239         set abs_aux_dir instead of augmenting PATH.
26240         * modules/vc-list-files-tests (Makefile.am): Likewise.
26241         * tests/test-update-copyright.sh: Augment PATH here.
26242         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
26243         path_prepend_.
26244         * tests/test-vc-list-files-git.sh: Likewise.
26245
26246 2010-09-04  Jim Meyering  <meyering@redhat.com>
26247
26248         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
26249         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
26250
26251 2010-09-04  Bruno Haible  <bruno@clisp.org>
26252
26253         strdup: Fix compilation error in C++ mode.
26254         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
26255         the macro.
26256
26257 2010-09-04  Bruno Haible  <bruno@clisp.org>
26258
26259         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
26260         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
26261         macro into a function.
26262         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
26263
26264 2010-09-04  Bruno Haible  <bruno@clisp.org>
26265
26266         Set PATH_SEPARATOR the same way autoconf does.
26267         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
26268         the value of PATH_SEPARATOR the same way autoconf-generated configure
26269         scripts do.
26270         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
26271         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26272
26273 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26274
26275         Set PATH_SEPARATOR the same way autoconf does.
26276         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
26277         the same way autoconf-generated configure scripts do.
26278         * posix-modules: Likewise.
26279
26280 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
26281
26282         hash: fix safe_hasher const typo
26283         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
26284         const; otherwise, there is a type error later.
26285
26286 2010-09-02  Jim Meyering  <meyering@redhat.com>
26287
26288         test-update-copyright.sh: require perl 5.8.0
26289         * tests/test-update-copyright.sh: Require 5.8.0,
26290         which Tom G. Christensen has confirmed is adequate,
26291         while 5.6.1 is not.
26292
26293 2010-09-02  Eric Blake  <eblake@redhat.com>
26294
26295         tests: init.sh improvements for re-exec'ing with zsh
26296         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
26297         -vx through shell re-exec.
26298         Reported by Tom G. Christensen.
26299
26300         wctype: fix typo in previous commit
26301         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
26302         Reported by Ludovic Courtès.
26303
26304 2010-09-02  Jim Meyering  <meyering@redhat.com>
26305
26306         test-update-copyright.sh: skip test if Perl is too old
26307         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
26308         Reported by Tom G. Christensen.
26309
26310 2010-09-02  Bruno Haible  <bruno@clisp.org>
26311
26312         wctype: Avoid compilation error on IRIX 6.5.30.
26313         * lib/wctype.in.h (iswblank): Declare with a replacement if
26314         REPLACE_ISWBLANK is set.
26315         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
26316         declared. Set REPLACE_ISWBLANK.
26317         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
26318         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
26319         * doc/posix-headers/wctype.texi: Likewise.
26320         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26321
26322 2010-09-01  Bruno Haible  <bruno@clisp.org>
26323
26324         New module 'socketlib'.
26325         * modules/socketlib: New file.
26326         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
26327         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
26328         * modules/sockets (Depends-on): Add socketlib.
26329         Suggested by Sam Steingold <sds@gnu.org>.
26330
26331 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
26332
26333         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
26334
26335         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
26336         when one needs search access to a directory but not read access.
26337         On systems where it is available, it works in some cases where
26338         O_RDONLY does not, namely on directories that are searchable but
26339         not readable, and which need only to be searchable.  If O_SEARCH
26340         is not available, fall back to the traditional method of using
26341         O_RDONLY.
26342
26343         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
26344         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
26345         when opening a directory that needs only to be searchable.
26346         * lib/chdir-safer.c (chdir_no_follow): Likewise.
26347         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
26348         * lib/openat-proc.c (openat_proc_name): Likewise.
26349         * lib/openat.c (openat_needs_fchdir): Likewise.
26350         * lib/save-cwd.c (save_cwd): Likewise.
26351         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
26352
26353 2010-08-28  Bruno Haible  <bruno@clisp.org>
26354
26355         New module 'host-cpu-c-abi'.
26356         * modules/host-cpu-c-abi: New file.
26357         * m4/host-cpu-c-abi.m4: New file, based on part of
26358         clisp/src/m4/general.m4.
26359         Requested by Sam Steingold <sds@gnu.org>.
26360
26361 2010-08-31  Eric Blake  <eblake@redhat.com>
26362         and Jim Meyering  <meyering@redhat.com>
26363
26364         hash: factor, and guard against misbehaving hasher function
26365         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
26366         of table->hasher's return value.  Also protect against a hash value
26367         so large that adding it to table->bucket results in a NULL pointer.
26368         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
26369         Use it in place of open-coded check-and-abort.
26370
26371 2010-08-30  Bruno Haible  <bruno@clisp.org>
26372
26373         hash: silence spurious clang warning
26374         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
26375         Reported by Eric Blake.
26376
26377 2010-08-30  Eric Blake  <eblake@redhat.com>
26378
26379         strstr, memmem, strcasestr: avoid leaked shell message
26380         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
26381         FreeBSD.
26382         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26383         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26384
26385         tests: silence clang warning
26386         * tests/test-malloca.c (do_allocation): Avoid dead store.
26387
26388 2010-08-29  Bruno Haible  <bruno@clisp.org>
26389
26390         gettext: Fix recent mistake.
26391         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
26392
26393 2010-08-29  Bruno Haible  <bruno@clisp.org>
26394
26395         selinux-h: Offer a --without-selinux option.
26396         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
26397         --without-selinux was specified, skip all tests and define
26398         HAVE_SELINUX_SELINUX_H to 0.
26399         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
26400         set LIB_SELINUX to empty.
26401         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
26402         gl_LIBSELINUX. If --without-selinux was specified, replace
26403         selinux/context.h.
26404         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
26405
26406 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26407             Bruno Haible  <bruno@clisp.org>
26408
26409         Make the module 'realloc-gnu' work again on AIX and OSF/1.
26410         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
26411         of HAVE_REALLOC.
26412         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
26413         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
26414         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
26415         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26416
26417 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26418             Bruno Haible  <bruno@clisp.org>
26419
26420         Make the module 'calloc-gnu' work again on AIX and OSF/1.
26421         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
26422         HAVE_CALLOC.
26423         * lib/xmalloc.c: Update accordingly.
26424         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
26425         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
26426         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
26427
26428 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
26429             Bruno Haible  <bruno@clisp.org>
26430
26431         Make the module 'malloc-gnu' work again on AIX and OSF/1.
26432         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
26433         HAVE_MALLOC.
26434         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
26435         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
26436         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
26437
26438 2010-08-29  Bruno Haible  <bruno@clisp.org>
26439
26440         Update modules list.
26441         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
26442         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
26443         (String handling <string.h>): Add astrxfrm.
26444         (File system functions): Add readlinkat.
26445
26446 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26447
26448         Tests for module 'realloc-gnu'.
26449         * modules/realloc-gnu-tests: New file.
26450         * tests/test-realloc-gnu.c: New file.
26451
26452         Tests for module 'calloc-gnu'.
26453         * modules/calloc-gnu-tests: New file.
26454         * tests/test-calloc-gnu.c: New file.
26455
26456         Tests for module 'malloc-gnu'.
26457         * modules/malloc-gnu-tests: New file.
26458         * tests/test-malloc-gnu.c: New file.
26459
26460 2010-08-28  Bruno Haible  <bruno@clisp.org>
26461
26462         Rename module 'realloc' -> 'realloc-gnu'.
26463         * modules/realloc-gnu: New file, copied from modules/realloc.
26464         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
26465         obsolete.
26466         * modules/mgetgroups (Depends-on): Update.
26467         * doc/posix-functions/realloc.texi: Update.
26468         * NEWS: Mention the change.
26469
26470         Rename module 'calloc' -> 'calloc-gnu'.
26471         * modules/calloc-gnu: New file, copied from modules/calloc.
26472         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
26473         obsolete.
26474         * doc/posix-functions/calloc.texi: Update.
26475         * NEWS: Mention the change.
26476
26477         Rename module 'malloc' -> 'malloc-gnu'.
26478         * modules/malloc-gnu: New file, copied from modules/malloc.
26479         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
26480         obsolete.
26481         * modules/argp (Depends-on): Update.
26482         * modules/regex (Depends-on): Update.
26483         * doc/posix-functions/malloc.texi: Update.
26484         * NEWS: Mention the change.
26485
26486 2010-08-28  Eric Blake  <eblake@redhat.com>
26487
26488         pread, pwrite: add missing dependency
26489         * modules/pread (Depends-on): Add extensions.
26490         * modules/pwrite (Depends-on): Likewise.
26491
26492 2010-08-28  Bruno Haible  <bruno@clisp.org>
26493
26494         unistr/u*-strchr: Fix tests dependencies.
26495         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
26496         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
26497         Reported by Ian Beckwith <ianb@erislabs.net>.
26498
26499 2010-08-28  Bruno Haible  <bruno@clisp.org>
26500
26501         read-file: Don't occupy too much unused memory.
26502         * lib/read-file.c (fread_file): Shrink the buffer at the end.
26503
26504 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
26505             Eric Blake  <eblake@redhat.com>
26506             Bruno Haible  <bruno@clisp.org>
26507
26508         read-file: Avoid memory reallocations with regular files.
26509         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
26510         (fread_file): With regular files, use the remaining length as the
26511         initial buffer size.  Check against overflow.
26512         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
26513         sys_stat.
26514
26515 2010-08-28  Bruno Haible  <bruno@clisp.org>
26516
26517         ftello: Relax license.
26518         * modules/ftello (License): Relax to LGPLv2+.
26519         Reported by Eric Blake.
26520
26521 2010-08-28  Bruno Haible  <bruno@clisp.org>
26522
26523         Avoid relocwrapper link errors due to gnulib replacement functions.
26524         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
26525         function.
26526         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26527
26528 2010-08-28  Bruno Haible  <bruno@clisp.org>
26529
26530         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
26531         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
26532         defined.
26533         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
26534         Suggested by Eric Blake.
26535
26536 2010-08-28  Bruno Haible  <bruno@clisp.org>
26537
26538         sys_socket, netdb: Ensure socklen_t gets defined.
26539         * modules/sys_socket (Depends-on): Add socklen.
26540         * modules/netdb (Depends-on): Likewise.
26541         * modules/getaddrinfo (Depends-on): Remove socklen.
26542         * modules/getsockopt (Depends-on): Likewise.
26543         * modules/setsockopt (Depends-on): Likewise.
26544         * tests/test-sys_socket.c: Check that socklen_t is defined.
26545         * tests/test-netdb.c: Likewise.
26546         * m4/socklen.m4: Update comments.
26547         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
26548
26549 2010-08-27  Eric Blake  <eblake@redhat.com>
26550
26551         login_tty: add missing dependency
26552         * modules/login_tty (Depends-on): Add pty.
26553
26554 2010-08-26  Eric Blake  <eblake@redhat.com>
26555
26556         lib-symbol-versions: fix m4 quoting
26557         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
26558         format for AC_LINK_IFELSE.
26559
26560         glob: fix compile test
26561         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
26562
26563         btowc: fix missing file
26564         * modules/btowc (Files): Also ship locale-fr.m4.
26565
26566         lseek: fix link test
26567         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
26568         AC_LINK_IFELSE.
26569
26570         include_next: silence autoconf 2.68 warning
26571         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
26572         AC_COMPILE_IFELSE as special.
26573         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
26574         autoconf < 2.68.
26575
26576         acl: fix compilation test
26577         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
26578         AC_COMPILE_IFELSE.
26579
26580 2010-08-26  Bruno Haible  <bruno@clisp.org>
26581
26582         Modernize AC_TRY_RUN invocations.
26583         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
26584         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
26585         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
26586         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
26587         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
26588         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
26589         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
26590         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26591         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26592         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26593         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
26594         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26595         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
26596         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26597         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
26598         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26599         gl_MBRLEN_NUL_RETVAL): Likewise.
26600         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26601         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26602         Likewise.
26603         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26604         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26605         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
26606         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
26607         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
26608         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
26609         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
26610         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
26611         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
26612         Likewise.
26613         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
26614         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
26615         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26616         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26617         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26618         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
26619         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26620         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
26621         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26622         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26623
26624 2010-08-26  Bruno Haible  <bruno@clisp.org>
26625
26626         Modernize AC_TRY_LINK invocations.
26627         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
26628         AC_TRY_LINK.
26629         * m4/argp.m4 (gl_ARGP): Likewise.
26630         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
26631         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
26632         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
26633         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26634         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26635         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
26636         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
26637         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
26638         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26639         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
26640         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26641         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
26642         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
26643         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
26644         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
26645         * m4/hostent.m4 (gl_HOSTENT): Likewise.
26646         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26647         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
26648         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
26649         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
26650         Likewise.
26651         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
26652         Likewise.
26653         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
26654         Likewise.
26655         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
26656         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
26657         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
26658         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
26659         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
26660         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26661         * m4/servent.m4 (gl_SERVENT): Likewise.
26662         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
26663         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
26664         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
26665         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
26666         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26667         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
26668         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
26669         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
26670         * modules/tsearch-tests (configure.ac): Likewise.
26671
26672 2010-08-26  Bruno Haible  <bruno@clisp.org>
26673
26674         Modernize AC_TRY_COMPILE invocations.
26675         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
26676         AC_TRY_COMPILE.
26677         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
26678         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
26679         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
26680         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
26681         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
26682         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
26683         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
26684         * m4/lock.m4 (gl_LOCK): Likewise.
26685         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
26686         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
26687         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
26688         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26689         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
26690         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
26691         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
26692         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
26693         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
26694         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
26695         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
26696         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
26697         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
26698         extraneous semicolon.
26699
26700 2010-08-26  Jim Meyering  <meyering@redhat.com>
26701
26702         stat-time: relax license LGPL
26703         * modules/stat-time (License): Change from GPL to LGPL,
26704         with consent from all contributors, for use in libguile.
26705         Requested by Ludovic Courtès.
26706
26707 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
26708
26709         poll: return immediately on POLLHUP.
26710         * lib/poll.c (poll): Always set timeout before wait_timeout is
26711         computed.
26712
26713 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26714
26715         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
26716         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
26717         rmdir ("dir/.//"), unlinkat.
26718
26719 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
26720
26721         stdbool: avoid spurious failure with modern xlc
26722         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26723
26724 2010-08-24  Bruno Haible  <bruno@clisp.org>
26725
26726         getloadavg: simplify code
26727         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
26728         gl_have_func. Update comments.
26729
26730 2010-08-24  Eric Blake  <eblake@redhat.com>
26731
26732         getloadavg: don't define SVR4 on cygwin
26733         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
26734         only define SVR4 when -lkvm is required.
26735         Reported by Yaakov Selkowitz.
26736
26737 2010-08-24  Bruno Haible  <bruno@clisp.org>
26738
26739         priv-set: fix comment
26740         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
26741
26742 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
26743
26744         priv-set: fix comments
26745         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
26746         to match code, as suggested by David Bartley in:
26747         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
26748
26749 2010-08-23  Eric Blake  <eblake@redhat.com>
26750
26751         stdbool: avoid rejecting clang
26752         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
26753         * tests/test-stdbool.c: Enable more tests if using the system
26754         <stdbool.h> instead of the gnulib replacement.
26755         (main): Move xlc bug test to a runtime test for all compilers.
26756         Reported by Anders Kaseorg.
26757
26758         argz: fix shell quoting issue
26759         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
26760         Reported by Charles Wilson.
26761
26762 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
26763             Erik Faye-Lund <kusmabite@gmail.com>
26764
26765         poll, select: handle ERROR_BROKEN_PIPE.
26766         * lib/poll.c (win32_compute_revents): Return POLLHUP when
26767         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26768         * lib/select.c (win32_compute_revents): Do not mark a pipe
26769         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
26770
26771 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
26772
26773         fts: allow compilation with C++
26774         * lib/fts_.h: Specify extern "C" linkage with C++.
26775
26776 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26777
26778         Fix gnulib-tool sed script de-commentation for AIX sed.
26779         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
26780         sed.
26781
26782 2010-08-17  Eric Blake  <eblake@redhat.com>
26783
26784         test-stddef: test for (some) offsetof bugs
26785         * tests/test-stddef.c: Enhance test to ensure correct type of
26786         offsetof.
26787         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
26788         that we are not fixing at this time.
26789
26790 2010-08-15  Bruno Haible  <bruno@clisp.org>
26791
26792         stpncpy: Allow stpncpy to be defined as a macro.
26793         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
26794         if it's already correctly declared.
26795         * lib/string.in.h (stpncpy): Undefine before redefining.
26796         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
26797
26798 2010-08-14  Bruno Haible  <bruno@clisp.org>
26799
26800         Rename module 'memxfrm' to 'amemxfrm'.
26801         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
26802         (amemxfrm): Renamed from memxfrm.
26803         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
26804         (amemxfrm): Renamed from memxfrm.
26805         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
26806         * NEWS: Mention the change.
26807         * MODULES.html.sh (String handling <string.h>): Update.
26808         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
26809         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
26810         * lib/unicase/u16-casexfrm.c: Likewise.
26811         * lib/unicase/u32-casexfrm.c: Likewise.
26812         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
26813         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
26814         * lib/uninorm/u16-normxfrm.c: Likewise.
26815         * lib/uninorm/u32-normxfrm.c: Likewise.
26816         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
26817         memxfrm.
26818         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
26819         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
26820         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
26821         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
26822         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
26823         Suggested by Paul Eggert.
26824
26825 2010-08-14  Bruno Haible  <bruno@clisp.org>
26826
26827         Tests for module 'astrxfrm'.
26828         * modules/astrxfrm-tests: New file.
26829         * tests/test-astrxfrm.c: New file.
26830
26831         New module 'astrxfrm'.
26832         * lib/astrxfrm.h: New file.
26833         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
26834         * modules/astrxfrm: New file.
26835
26836 2010-08-14  Reuben Thomas <rrt@sc3d.org>
26837
26838         regex: Tweak doc.
26839         * doc/regex.texi (Overview): Don't mention regex.c.
26840         (GNU Regular Expression Compiling): Likewise.
26841         (Match-end-of-line Operator): Mention 'not_eol'.
26842
26843 2010-08-14  Brian Gough  <bjg@gnu.org>
26844             Bruno Haible  <bruno@clisp.org>
26845
26846         git-merge-changelog: add doc relating to use with bzr and hg.
26847         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
26848
26849 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
26850
26851         pthread: fix pthread.h creation for srcdir != builddir
26852         * modules/pthread (Makefile.am): Fix the rule to work also in a
26853         non-srcdir build.
26854
26855 2010-08-13  Karl Berry  <karl@gnu.org>
26856
26857         * doc/regex.texi (Predefined Syntaxes): @smallexample.
26858         * doc/posix-*/*: force line break before @url of POSIX
26859         specifications.
26860         Suggested by Werner Lemberg.
26861
26862 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
26863
26864         strtod: fix const diagnostic
26865         * lib/strtod.c (strtod): Don't assign const char * to char *,
26866         as this elicits a warning from GCC when warnings are enabled.
26867
26868 2010-08-10  Pádraig Brady <P@draigbrady.com>
26869         and Eric Blake  <eblake@redhat.com>
26870
26871         copy-acl: ignore ENOTSUP on HP-UX
26872         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
26873         so that it is available for HP-UX.
26874         * lib/copy-acl.c (qcopy_acl): Use it.
26875         Reported by Patrick M. Callahan.
26876
26877 2010-08-10  Eric Blake  <eblake@redhat.com>
26878
26879         open, chown: relax license
26880         * modules/open (License): Change to LGPLv2+, with consent by all
26881         authors, for use in augeas.
26882         * modules/chown (License): Likewise.
26883         * modules/lchown (Likewise): Likewise.
26884         Requested by Adam Stokes.
26885
26886 2010-08-09  Karl Berry  <karl@gnu.org>
26887
26888         * build-aux/ar-lib: new file, import from Automake.
26889         * config/srclist.txt: autocheck for updates.
26890
26891 2010-08-09  Eric Blake  <eblake@redhat.com>
26892
26893         readlinkat: adjust client modules
26894         * modules/areadlinkat (Depends-on): Use readlinkat, not
26895         symlinkat.
26896         * modules/areadlinkat-with-size (Depends-on): Likewise.
26897
26898         mknod: be more vocal about danger of running tests as root
26899         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
26900         root, since that is just asking for problems.
26901         Suggested by Bruno Haible, based on a report by Rainer Tammer.
26902
26903         readlinkat: split into its own module
26904         * modules/symlinkat: Split readlinkat...
26905         * modules/readlinkat: ...into separate module.
26906         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
26907         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
26908         * lib/symlinkat.c (readlinkat): Move...
26909         * lib/readlinkat.c: ...into new file.
26910         * modules/symlinkat-tests: Split readlinkat test...
26911         * modules/readlinkat-tests: ...into separate module.
26912         * tests/test-symlinkat.c: Split...
26913         * tests/test-readlinkat.c: ...into new file.
26914         * NEWS: Document the split.
26915         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
26916         * lib/unistd.in.h (readlinkat): Likewise.
26917         Suggested by Bruno Haible.
26918
26919 2010-08-08  Bruno Haible  <bruno@clisp.org>
26920
26921         memxfrm: Speed up.
26922         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
26923         that usually only one call to strxfrm is necessary for each string
26924         part.
26925         Reported by Paul Eggert <eggert@cs.ucla.edu>.
26926
26927 2010-08-07  Karl Berry  <karl@gnu.org>
26928
26929         * doc/posix-headers/limits.texi,
26930         * doc/posix-functions/malloc.texi,
26931         * doc/posix-functions/strsignal.texi: missing @item.
26932         * doc/ld-version-script.texi: spurious leading i.
26933         * doc/regex.texi (Interval Operators): no commas inside @var.
26934
26935 2010-08-01  Bruno Haible  <bruno@clisp.org>
26936
26937         Integrate the regex documentation.
26938         * doc/gnulib.texi: Define 'cn' index.
26939         (Regular expressions): New a chapter that includes regex.texi and
26940         regexprops-generic.texi.
26941         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
26942         syntax.
26943
26944         Whitespace cleanup.
26945         * doc/regex.texi: Remove trailing spaces.
26946
26947         Add regex documentation.
26948         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
26949         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
26950         Written by Kathy A. Hargreaves and Karl Berry.
26951
26952 2010-08-01  Bruno Haible  <bruno@clisp.org>
26953
26954         link: Update documentation.
26955         * doc/posix-functions/link.texi: Update regarding Solaris.
26956
26957 2010-07-31  Bruno Haible  <bruno@clisp.org>
26958
26959         Update modules list.
26960         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
26961         (String handling <string.h>): Add memcmp2, memxfrm.
26962         (Container data structures): Add xlist, xsublist, xoset.
26963         (Core language properties): Add alignof, unused-parameter.
26964         (Process control, Numeric conversion functions <stdlib.h>): Renamed
26965         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
26966         (Unibyte characters <ctype.h>): New section.
26967         (String handling <string.h>): New section.
26968         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
26969         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
26970         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
26971         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
26972         tan, tanh, tanl, y0, y1, yn.
26973         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
26974         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
26975         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
26976         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
26977         unlockpt, vdprintf, vdprintf-posix.
26978         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
26979         (File system functions): Add concat-filename, sys_file, sys_ioctl,
26980         xconcat-filename.
26981         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
26982         getdtablesize, pipe2, pipe2-safer.
26983         (Security): New section.
26984         (Networking functions): Add accept4.
26985         (Signal handling): Add sigpipe.
26986         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
26987         mbmemcasecoll.
26988         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
26989         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
26990         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
26991         pipe-filter-ii.
26992         (Misc): Add argp-version-etc, login_tty, parse-duration.
26993
26994 2010-07-31  Bruno Haible  <bruno@clisp.org>
26995
26996         Improve doc in MODULES.html.
26997         * modules/linkat (Description): Add the word "function".
26998         * modules/mkfifo (Description): Likewise.
26999         * modules/mknod (Description): Likewise.
27000         * modules/remove (Description): Likewise.
27001         * modules/renameat (Description): Likewise.
27002         * modules/stat (Description): Likewise.
27003         * modules/symlink (Description): Likewise.
27004         * modules/unlink (Description): Likewise.
27005
27006 2010-07-31  Bruno Haible  <bruno@clisp.org>
27007
27008         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
27009         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
27010         option --enable/disable-c++ instead of --enable/disable-cxx.
27011         * NEWS: Mention the change.
27012
27013 2010-07-31  Bruno Haible  <bruno@clisp.org>
27014
27015         readlink, areadlink: Relax test a bit.
27016         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
27017         alternative to ENOTDIR.
27018         * tests/test-areadlink.h (test_areadlink): Likewise.
27019         Reported by Rainer Tammer.
27020
27021 2010-07-31  Bruno Haible  <bruno@clisp.org>
27022
27023         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
27024         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
27025         character, perform the search using U_STRCHR.
27026         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
27027         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
27028         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
27029         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
27030         Suggested by Paolo Bonzini.
27031
27032 2010-07-31  Bruno Haible  <bruno@clisp.org>
27033
27034         unistr/u*-strstr: Fix dependencies.
27035         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
27036         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
27037         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
27038
27039 2010-07-31  Bruno Haible  <bruno@clisp.org>
27040
27041         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
27042         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
27043         the beginning of the loop.
27044         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
27045         cases in 'switch' statement.
27046
27047         unistr/u8-strchr: Fix several bugs.
27048         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
27049         the string. When not found, return NULL, not a pointer near the end.
27050
27051         More tests for unistr/u8-strchr.
27052         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
27053         that the function does not read past the first occurrence of the byte
27054         being searched.
27055         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
27056         * tests/unistr/test-u16-strchr.c (main): New function.
27057         * tests/unistr/test-u32-strchr.c (main): New function.
27058
27059 2010-07-31  Bruno Haible  <bruno@clisp.org>
27060
27061         posix-modules: Ignore backup files of documentation files.
27062         * posix-modules: grep only through files named *.texi.
27063
27064 2010-07-31  Bruno Haible  <bruno@clisp.org>
27065
27066         symlinkat: Fix documentation.
27067         * doc/posix-functions/readlinkat.texi: Fix module name.
27068
27069 2010-07-31  Bruno Haible  <bruno@clisp.org>
27070
27071         fchownat: Replace also when chown has the trailing slash bug.
27072         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
27073         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
27074         introduced on 2010-04-10.
27075         Reported by Rainer Tammer.
27076
27077 2010-07-31  Bruno Haible  <bruno@clisp.org>
27078
27079         linkat: Work around AIX 7.1 bug.
27080         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
27081         whether linkat handles trailing slash correctly. If not, replace linkat
27082         and define LINKAT_TRAILING_SLASH_BUG.
27083         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
27084         check whether (fd1,file1) points to a directory if file1 or file2 ends
27085         in a slash. Code taken from lib/link.c.
27086         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
27087         Reported by Rainer Tammer.
27088
27089 2010-07-31  Bruno Haible  <bruno@clisp.org>
27090
27091         Correctly determine whether pow is available in libc on AIX 7 with xlc.
27092         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
27093         This disables an xlc optimization that was causing wrong test results.
27094         Reported by Rainer Tammer.
27095
27096 2010-07-31  Bruno Haible  <bruno@clisp.org>
27097
27098         iconv: Work around AIX 6.1..7.1 bug.
27099         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
27100         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
27101         cross-compiling, guess no on all versions of AIX.
27102         Reported by Rainer Tammer.
27103
27104 2010-07-31  Bruno Haible  <bruno@clisp.org>
27105
27106         readlink: Relax test a bit.
27107         * tests/test-readlink.h (test_readlink): Allow different errno value
27108         when readlink is called with a file name that ends in / and refers to
27109         a file.
27110         Suggested by Eric Blake.
27111         Reported by Rainer Tammer.
27112
27113 2010-07-31  Bruno Haible  <bruno@clisp.org>
27114
27115         copysign: Does not require -lm on glibc systems.
27116         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
27117         gl_COMMON_DOUBLE_MATHFUNC.
27118         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
27119
27120 2010-07-31  Bruno Haible  <bruno@clisp.org>
27121
27122         duplocale: Work around AIX 7.1 bug.
27123         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
27124         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
27125         * lib/duplocale.c (rpl_duplocale): Update comment.
27126         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
27127         Reported by Rainer Tammer.
27128
27129 2010-07-30  Bruno Haible  <bruno@clisp.org>
27130
27131         dirfd: Avoid link error on AIX 7.1.
27132         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
27133         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
27134         exist, set REPLACE_DIRFD.
27135         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
27136         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
27137         * doc/posix-functions/dirfd.texi: Update.
27138         Reported by Rainer Tammer.
27139
27140 2010-07-30  Eric Blake  <eblake@redhat.com>
27141
27142         strtod: next round of AIX fixes
27143         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
27144         exponent.
27145         * tests/test-strtod.c (main): Enhance tests.
27146         * doc/posix-functions/strtod.texi (strtod): Document next bug.
27147         Reported by Rainer Tammer.
27148
27149         futimens: fix configure check
27150         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
27151         Reported by Bruno Haible.
27152
27153 2010-07-30  Bruno Haible  <bruno@clisp.org>
27154
27155         getline: Update regarding AIX.
27156         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
27157         Reported by Rainer Tammer.
27158
27159 2010-07-30  Bruno Haible  <bruno@clisp.org>
27160
27161         wcwidth: Drop replacement on AIX 7.
27162         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
27163         AIX 7.
27164         Reported by Rainer Tammer.
27165
27166 2010-07-30  Bruno Haible  <bruno@clisp.org>
27167
27168         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
27169         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
27170         a 'char *'.
27171         Reported by Rainer Tammer.
27172
27173 2010-07-30  Bruno Haible  <bruno@clisp.org>
27174
27175         unlink: Update regarding AIX.
27176         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
27177         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
27178         Reported by Rainer Tammer.
27179
27180 2010-07-30  Bruno Haible  <bruno@clisp.org>
27181
27182         symlink: Update regarding AIX.
27183         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
27184         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
27185         Reported by Rainer Tammer.
27186
27187 2010-07-30  Bruno Haible  <bruno@clisp.org>
27188
27189         strndup: Update regarding AIX.
27190         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
27191         AIX 7.
27192         Reported by Rainer Tammer.
27193
27194 2010-07-30  Bruno Haible  <bruno@clisp.org>
27195
27196         stat: Update regarding AIX.
27197         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
27198         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
27199         Reported by Rainer Tammer.
27200
27201 2010-07-30  Bruno Haible  <bruno@clisp.org>
27202
27203         truncl: Fix autoconf test.
27204         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
27205         whether truncl works.
27206         Reported by Rainer Tammer.
27207
27208 2010-07-30  Bruno Haible  <bruno@clisp.org>
27209
27210         round: Update regarding AIX.
27211         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
27212         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
27213         Reported by Rainer Tammer.
27214
27215 2010-07-30  Bruno Haible  <bruno@clisp.org>
27216
27217         rename: Update regarding AIX.
27218         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
27219         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
27220         Reported by Rainer Tammer.
27221
27222 2010-07-30  Bruno Haible  <bruno@clisp.org>
27223
27224         printf.m4: Update regarding AIX.
27225         * m4/printf.m4: Update comments regarding AIX.
27226         Reported by Rainer Tammer.
27227
27228 2010-07-30  Bruno Haible  <bruno@clisp.org>
27229
27230         iconv: Update regarding AIX.
27231         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
27232         AIX 7.
27233         Reported by Rainer Tammer.
27234
27235 2010-07-30  Bruno Haible  <bruno@clisp.org>
27236
27237         getopt: Update regarding AIX.
27238         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
27239         no on AIX.
27240         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
27241         Reported by Rainer Tammer.
27242
27243 2010-07-30  Bruno Haible  <bruno@clisp.org>
27244
27245         ldexpl; Update regarding AIX.
27246         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
27247         on AIX 7.
27248         Reported by Rainer Tammer.
27249
27250 2010-07-30  Bruno Haible  <bruno@clisp.org>
27251
27252         frexpl: Update regarding AIX.
27253         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
27254         on AIX 7.
27255         Reported by Rainer Tammer.
27256
27257 2010-07-30  Bruno Haible  <bruno@clisp.org>
27258
27259         open, fopen: Update regarding AIX.
27260         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
27261         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27262         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
27263         * doc/posix-functions/fopen.texi: Likewise.
27264         Reported by Rainer Tammer.
27265
27266 2010-07-30  Bruno Haible  <bruno@clisp.org>
27267
27268         chown: Update doc regarding AIX.
27269         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
27270         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
27271         Reported by Rainer Tammer.
27272
27273 2010-07-30  Eric Blake  <eblake@redhat.com>
27274
27275         strtod: fix bug in replacement function on AIX
27276         * lib/strtod.c (strtod): Special case broken "0x" parse in
27277         underlying strtod.
27278         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
27279         * doc/posix-functions/strtod.texi (strtod): Likewise.
27280         Reported by Rainer Tammer.
27281
27282 2010-07-30  Bruno Haible  <bruno@clisp.org>
27283
27284         mbrlen: Fix cross-compilation guess for AIX.
27285         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
27286         guess. Leftover from 2008-12-22.
27287
27288 2010-07-30  Bruno Haible  <bruno@clisp.org>
27289
27290         mbrtowc: Fix cross-compilation guess for AIX.
27291         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
27292         guess. Leftover from 2008-12-21.
27293
27294 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
27295
27296         init.sh: work around trap limitation of some shells
27297         * tests/init.sh (setup_): Move exit trap outside of shell function.
27298
27299 2010-07-29  Eric Blake  <eblake@redhat.com>
27300
27301         strtod: aid debugging
27302         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
27303         understanding why strtod is rejected.
27304
27305 2010-07-28  Bruno Haible  <bruno@clisp.org>
27306
27307         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
27308         * lib/unistr/u8-chr.c: Include <string.h>.
27309         * tests/unistr/test-u8-chr.c: Likewise.
27310         * tests/unistr/test-u16-chr.c: Likewise.
27311         * tests/unistr/test-u32-chr.c: Likewise.
27312         * tests/unistr/test-u8-strchr.c: Likewise.
27313         * tests/unistr/test-u16-strchr.c: Likewise.
27314         * tests/unistr/test-u32-strchr.c: Likewise.
27315         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
27316         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
27317         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
27318         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
27319
27320 2010-07-28  Bruno Haible  <bruno@clisp.org>
27321
27322         Use spaces for indentation, not tabs.
27323         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27324
27325 2010-07-27  Bruno Haible  <bruno@clisp.org>
27326
27327         mbspcasecmp: Fix function specification.
27328         * lib/string.in.h (mbspcasecmp): Fix specification comment.
27329         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
27330         Reported by Eric Blake <eblake@redhat.com>.
27331
27332 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
27333
27334         timespec: use cast and not conditional, as truncation isn't possible
27335         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
27336         instead of a conditional.  Comment about the situation in more detail.
27337         This undoes most of the 2009-10-29 patch.
27338
27339 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
27340
27341         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
27342         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
27343         * lib/unistr/u8-strchr.c: Likewise.
27344         * modules/unistr/u8-chr: Depend on memchr.
27345
27346         unistr/u*-strchr: add tests
27347         * modules/unistr/u8-strchr-tests: New file.
27348         * modules/unistr/u16-strchr-tests: New file.
27349         * modules/unistr/u32-strchr-tests: New file.
27350         * tests/unistr/test-strchr.h: New file.
27351         * tests/unistr/test-u8-strchr.c: New file.
27352         * tests/unistr/test-u16-strchr.c: New file.
27353         * tests/unistr/test-u32-strchr.c: New file.
27354
27355         unistr/u*-chr: test multibyte sequences more
27356         * tests/unistr/test-chr.h: Do complete testing of the characters in the
27357         test vector.
27358         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
27359         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
27360         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
27361
27362         unistr/u*-chr: test multibyte sequences
27363         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
27364
27365         unistr/u*-chr: prepare for multibyte tests
27366         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
27367         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
27368         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
27369         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
27370         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
27371         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
27372
27373 2010-07-18  Bruno Haible  <bruno@clisp.org>
27374
27375         unistr/u8-strchr: Optimize non-ASCII argument case.
27376         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
27377         because the first byte often matches anyway.
27378         Reported by Pádraig Brady <P@draigbrady.com>.
27379
27380 2010-07-15  Karl Berry  <karl@gnu.org>
27381
27382         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
27383
27384 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
27385
27386         getcwd: on Solaris, work better if ancestors are inaccessible
27387         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
27388         buffer and size, try again with a large buffer.  This works better
27389         on Solaris, since its getcwd succeeds even if the path to the root
27390         is inaccessible, and this is helpful in common cases such as .zfs
27391         hidden directories.  Problem reported by J Chapman Flack in
27392         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
27393         Use system getcwd if it's declared, not merely if it's partly
27394         working; use the partly-working test only to avoid needless effort
27395         if the system getcwd fails.
27396         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
27397         comment that was already obsolete and is now even more obsolete.
27398         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
27399         now might call strdup.
27400
27401 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
27402
27403         pthread: Add enough so that coreutils/src/sort.c compiles.
27404         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
27405         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
27406         gnulib. Include <sched.h> and <time.h>, as per POSIX.
27407         Include <sys/types.h>, in case it defines pthread_t.
27408         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
27409         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
27410         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
27411         (pthread_rwlockattr_t, pthread_spinlock_t):
27412         New typedefs, if HAVE_PTHREAD_T is not defined.
27413         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
27414         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
27415         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
27416         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
27417         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
27418         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
27419         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
27420         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
27421         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
27422         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
27423         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
27424         New macros.
27425         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
27426         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
27427         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
27428         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
27429         (pthread_spin_unlock): New dummy functions.
27430         (pthread_create): Return EAGAIN; don't set errno.
27431         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
27432         require AC_C_INLINE.
27433         * modules/pthread (Depends-on): Add sched, time.
27434         (pthread.h): Use AM_V_GEN.
27435
27436 2010-07-13  Bruno Haible  <bruno@clisp.org>
27437
27438         striconveh: Don't malloc memory if the result buffer is sufficient.
27439         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
27440         buffer if its size is sufficient.
27441         Reported by Ludovic Courtès <ludo@gnu.org>.
27442
27443 2010-07-13  Bruno Haible  <bruno@clisp.org>
27444
27445         strtod: Add safety check.
27446         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
27447
27448 2010-07-12  Bruno Haible  <bruno@clisp.org>
27449
27450         Unify tests that set gl_cv_func_ldexpl_no_libm.
27451         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
27452         gl_FUNC_LDEXPL.
27453         (gl_FUNC_LDEXPL): Invoke it.
27454         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27455
27456 2010-07-12  Bruno Haible  <bruno@clisp.org>
27457
27458         Unify tests that set gl_cv_func_ldexp_no_libm.
27459         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
27460         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
27461         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
27462         (configure.ac): Simply invoke gl_FUNC_LDEXP.
27463         * modules/strtod (Files): Add m4/ldexp.m4.
27464
27465 2010-07-12  Bruno Haible  <bruno@clisp.org>
27466
27467         Unify tests that set gl_cv_func_frexpl_no_libm.
27468         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
27469         gl_FUNC_FREXPL_NO_LIBM.
27470         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
27471         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27472
27473 2010-07-12  Bruno Haible  <bruno@clisp.org>
27474
27475         Unify tests that set gl_cv_func_frexp_no_libm.
27476         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
27477         gl_FUNC_FREXP_NO_LIBM.
27478         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
27479         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27480
27481 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27482
27483         memcoll: clarify sizes versus lengths, document better, and tweak perf
27484         * lib/memcoll.c (strcoll_loop, memcoll0):
27485         Improve quality of descriptive comments.  Name variables
27486         consistently as to whether they are lengths (which do not include
27487         terminating null) versus sizes (which do).
27488         * lib/xmemcoll.c (xmemcoll0): Likewise.
27489         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
27490         returned when s1size == 0; this is easier to compile and saves
27491         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
27492
27493 2010-07-12  Bruno Haible  <bruno@clisp.org>
27494
27495         Tests for module '_Exit'.
27496         * modules/_Exit-tests: New file.
27497         * tests/test-_Exit.sh: New file.
27498         * tests/test-_Exit.c: New file.
27499
27500         New module '_Exit'.
27501         * lib/stdlib.in.h (__attribute__): New macro.
27502         (_Exit): New declaration.
27503         * lib/_Exit.c: New file.
27504         * m4/_Exit.m4: New file.
27505         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
27506         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
27507         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
27508         * modules/_Exit: New file.
27509         * tests/test-stdlib-c++.cc (_Exit): Check signature.
27510         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
27511
27512 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
27513
27514         strtod: make it more-accurate typically, and don't require libm
27515         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
27516         Include limits.h.  Don't include string.h.
27517         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
27518         (locale_isspace): New function, so that no casts are needed to
27519         check whether *s is a space.
27520         (ldexp): Provide an unused dummy if not available.
27521         (scale_radix_exp, parse_number, underlying_strtod): New functions.
27522         (strtod): Use them.  This implementation prefers to use the
27523         underlying strtod if available, falling back on our own code
27524         only to fix known bugs.  This is more likely to produce an
27525         accurate result.  Also, it avoids the use of libm functions.
27526         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
27527         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
27528         was absent, but it caused a test failure with coreutils.
27529         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
27530         with libm.
27531         * modules/strtod (Makefile.am, Link): libm is no longer needed.
27532         * modules/strtod-tests (Makefile.am): Likewise.
27533
27534 2010-07-11  Pádraig Brady  <P@draigBrady.com>
27535             Bruno Haible  <bruno@clisp.org>
27536
27537         unistr/u8-strchr: Optimize ASCII argument case.
27538         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
27539
27540 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
27541
27542         (x)memcoll: minor tweaks
27543         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
27544         is after the type that it qualifies.
27545         (memcoll0): Likewise.
27546         * lib/memcoll.h (memcoll0): Likewise.
27547         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
27548         * lib/xmemcoll.h (xmemcoll0): Likewise.
27549         * lib/memcoll.c (memcoll0): Correct the comment.  This function
27550         differs from memcoll in that the NUL byte is part of the argument.
27551         Omit the abort-checks, as performance is a real issue here.  Plus,
27552         the checks were wrong anyway (an off-by-one error).  Omit local
27553         variable 'diff', as it's a bit clearer that way.
27554         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
27555         no longer needed.
27556
27557 2010-07-08  Chen Guo <chenguo4@yahoo.com>
27558
27559         (x)memcoll: speedup when input is known to be NUL delimited
27560         * lib/memcoll.c: Include stdlib.
27561         (memcoll0): New function.
27562         (strcoll_loop): New function, refactored for use in both memcoll
27563         and memcoll0.
27564         * lib/memcoll.h (memcoll0): Add prototype.
27565         * lib/xmemcoll.c (xmemcoll0): New function.
27566         (collate_error): New function, refactored for use in both xmemcoll
27567         and xmemcoll0.
27568         * lib/xmemcoll.h (xmemcoll0): Add prototype.
27569         * m4/memcoll.m4: add inline invocation.
27570
27571 2010-07-06  Pádraig Brady  <P@draigBrady.com>
27572
27573         * build-aux/bootstrap: Remove any local translations
27574         from the translation project synchronization directory,
27575         so that local only translations are not distributed.
27576
27577 2010-07-04  Bruno Haible  <bruno@clisp.org>
27578
27579         fsusage: Clarify which code applies to which platforms.
27580         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
27581         platform.
27582         * lib/fsusage.c (get_fs_usage): Likewise.
27583
27584 2010-07-04  Bruno Haible  <bruno@clisp.org>
27585
27586         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
27587         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
27588         Reported by Martin Lambers <marlam@marlam.de>.
27589
27590 2010-07-04  Jim Meyering  <meyering@redhat.com>
27591
27592         hash: once again explicitly disallow insertion of NULL
27593         * lib/hash.c (hash_insert0): Reinstate just-removed test:
27594         inserting a NULL pointer cannot work with these functions.
27595         Add a comment with details.
27596         This reverts part of the 2010-07-01 commit, 5bef1a35
27597         "hash: extend module to deal with non-pointer keys".
27598
27599 2010-07-01  Bruno Haible  <bruno@clisp.org>
27600
27601         stdbool: Update doc.
27602         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
27603         Info from Christian Weisgerber <naddy@mips.inka.de>.
27604
27605 2010-07-01  Jim Meyering  <meyering@redhat.com>
27606
27607         hash: extend module to deal with non-pointer keys
27608         * lib/hash.c (hash_insert0): New interface, much like hash_insert
27609         but that allows insertion of non-pointer entries.
27610         Do not disallow an ENTRY value of NULL.
27611         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
27612         * lib/hash.h (hash_insert0): Declare.
27613
27614 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27615
27616         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
27617         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
27618         not present (i.e. with autoconf 2.59 and when using gettextize, not
27619         gnulib), require AC_GNU_SOURCE instead.
27620
27621 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
27622
27623         idpriv-drop: Fix tests.
27624         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
27625         not to the test-idpriv-droptemp program.
27626
27627 2010-06-29  Bruno Haible  <bruno@clisp.org>
27628
27629         string: Fix syntax error with g++ 2.96.
27630         * lib/string.in.h (__pure__): Remove definition.
27631         (_GL_ATTRIBUTE_PURE): New macro.
27632         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
27633         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
27634         Reported by Christian Weisgerber <naddy@mips.inka.de>.
27635
27636 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
27637
27638         unitypes: Fix bug introduced on 2010-05-18.
27639         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
27640
27641 2010-06-22  Eric Blake  <eblake@redhat.com>
27642
27643         memmem: slight optimization
27644         * lib/str-two-way.h (critical_factorization): Update comments.
27645         Reduce work during factorization phase.
27646         Reported by Carlos Bueno <carlos@bueno.org>.
27647
27648 2010-06-21  Bruno Haible  <bruno@clisp.org>
27649
27650         Fix HAVE_CALLOC_POSIX misnomer.
27651         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
27652         !HAVE_CALLOC_POSIX.
27653         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
27654         HAVE_CALLOC_POSIX.
27655         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
27656         instead of HAVE_CALLOC_POSIX.
27657         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
27658         HAVE_CALLOC_POSIX.
27659
27660         Use modern idiom for calloc() replacement.
27661         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
27662         AC_FUNC_CALLOC.
27663         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
27664         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
27665         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27666         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
27667         (gl_REPLACE_CALLOC): New macro.
27668
27669 2010-06-21  Bruno Haible  <bruno@clisp.org>
27670
27671         Fix HAVE_REALLOC_POSIX misnomer.
27672         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
27673         !HAVE_REALLOC_POSIX.
27674         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
27675         HAVE_REALLOC_POSIX.
27676         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
27677         instead of HAVE_REALLOC_POSIX.
27678         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
27679         HAVE_REALLOC_POSIX.
27680
27681         Use modern idiom for realloc() replacement.
27682         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
27683         AC_FUNC_REALLOC.
27684         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
27685         Autoconf's AC_FUNC_REALLOC.
27686         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27687         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
27688         (gl_REPLACE_REALLOC): New macro.
27689         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27690
27691 2010-06-21  Bruno Haible  <bruno@clisp.org>
27692
27693         Fix HAVE_MALLOC_POSIX misnomer.
27694         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
27695         !HAVE_MALLOC_POSIX.
27696         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
27697         HAVE_MALLOC_POSIX.
27698         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
27699         instead of HAVE_MALLOC_POSIX.
27700         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
27701         HAVE_MALLOC_POSIX.
27702
27703         Use modern idiom for malloc() replacement.
27704         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
27705         AC_FUNC_MALLOC.
27706         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
27707         Autoconf's AC_FUNC_MALLOC.
27708         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
27709         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
27710         (gl_REPLACE_MALLOC): New macro.
27711         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
27712
27713 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
27714
27715         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
27716         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
27717         This macro takes 3 arguments, not 4.
27718
27719 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
27720
27721         ipv6: fix detection under mingw
27722         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
27723         in6_addr.
27724
27725 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
27726
27727         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
27728         that strtod() works when cross-compiling to a glibc version known
27729         to work.
27730
27731 2010-06-15  Bruno Haible  <bruno@clisp.org>
27732
27733         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
27734
27735 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
27736
27737         select: Correct timeout.
27738         * lib/select.c (rpl_select): Compute wait_timeout correctly.
27739
27740 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27741
27742         git-version-gen: init shell var to avoid env var influence
27743         * build-aux/git-version-gen (v): Init shell var to empty.
27744
27745 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
27746
27747         priv-set: Don't assume that priv.h exists merely because getppriv does.
27748         See Jan Andersen's bug report about AIX 5L in
27749         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
27750         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
27751         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
27752         * lib/priv-set.h: Likewise.
27753         * tests/test-priv-set.c: Likewise.
27754
27755 2010-06-13  Bruno Haible  <bruno@clisp.org>
27756
27757         relocatable: Make it easier to test whether to install wrappers.
27758         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
27759         RELOCATABLE_VIA_WRAPPER.
27760
27761 2010-06-13  Bruno Haible  <bruno@clisp.org>
27762
27763         gnulib-tool: Display specified modules and dependencies differently.
27764         * gnulib-tool (func_show_module_list): New function.
27765         (func_import, func_create_testdir): Invoke it.
27766         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27767
27768 2010-06-13  Bruno Haible  <bruno@clisp.org>
27769
27770         gnulib-tool: Align code of func_import and func_create_testdir.
27771         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
27772         specified_modules.
27773
27774 2010-06-12  Jim Meyering  <meyering@redhat.com>
27775
27776         test-inttostr: avoid spurious failure on Solaris 9
27777         * tests/test-inttostr.c (main): Skip the test when snprintf fails
27778         to accept "%ju".  Reported by Bruno Haible.
27779
27780 2010-06-11  Jim Meyering  <meyering@redhat.com>
27781
27782         test-sys_socket: mark variables as used more readably
27783         * tests/test-sys_socket.c (main): Mark otherwise unused variables
27784         as "used" explicitly via (void) statement casts.  This is more
27785         readable than using them in an artificial return expression.
27786         Suggestion from Bruno Haible.
27787
27788 2010-06-11  Bruno Haible  <bruno@clisp.org>
27789
27790         Avoid some more warnings from "gcc -Wwrite-strings".
27791         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
27792         to 'const char *'.
27793         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
27794         * tests/test-c-strcasestr.c (main): Likewise.
27795         * tests/test-mbscasestr1.c (main): Likewise.
27796         * tests/test-mbscasestr2.c (main): Likewise.
27797         * tests/test-memmem.c (main): Likewise.
27798         * tests/test-strstr.c (main): Likewise.
27799         * tests/test-strcasestr.c (main): Likewise.
27800
27801 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27802
27803         init.sh: change framework_failure_ to fail with status 99, not 1
27804         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
27805         automake's parallel-tests rule that this is an unexpected failure,
27806         even if the test is listed in XFAIL_TESTS.
27807
27808 2010-06-11  Jim Meyering  <meyering@redhat.com>
27809
27810         test-inttostr: avoid warnings about 4-6KB literal strings
27811         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
27812         Include "macros.h", for its definition of ASSERT.
27813         (CK): s/assert/ASSERT/
27814         * modules/inttostr-tests (Files): Add macros.h.
27815
27816         init.sh: don't use $ME_ or skip_ before they are defined
27817         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
27818         their first uses.  Also hoist their companions: warn_, fail_,
27819         framework_failure_, $stderr_fileno.  Prompted by a patch from
27820         Stefano Lattarini.
27821
27822         test-sys_socket: avoid set-but-not-used warnings from gcc
27823         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
27824         avoid warning about set-but-not-used variables.
27825
27826         test-xvasprintf: avoid 'const' discard warnings
27827         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
27828         "const" when assigning from literal strings.
27829         (test_xasprintf): Add "void" in function argument list to placate
27830         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
27831
27832         tests: avoid compilation warnings in argmatch and exclude tests...
27833         in packages that define ARGMATCH_DIE_DECL, like coreutils.
27834         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
27835         Since it always exits, declare with the "noreturn" attribute.
27836         * tests/test-argmatch.c: Likewise.
27837
27838         tests: avoid 'const' discard warnings in mbsstr tests
27839         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
27840         * tests/test-mbsstr2.c (main): Likewise.
27841
27842         test-verify: avoid warning from gcc's -Wmissing-declarations
27843         * tests/test-verify.c (function): Declare to be static.
27844
27845         test-inttostr.c: include <string.h> for use of strcmp
27846         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
27847
27848         test-linkat: avoid failed assertion on "other" architectures
27849         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
27850         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
27851         sparc: https://bugs.launchpad.net/bugs/591968
27852
27853 2010-06-11  Jim Meyering  <meyering@redhat.com>
27854
27855         printf.m4: avoid autoconf's "Expanded Before Required" warning
27856         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
27857         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
27858         autoconf warning.
27859
27860 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
27861
27862         Replacement header templates are now named with ".in", not "_".
27863         * doc/gnulib-intro.texi: Correct.
27864
27865 2010-06-10  Jim Meyering  <meyering@redhat.com>
27866
27867         inttostr-tests: depend on snprintf, not snprintf-posix
27868         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
27869         snprintf-posix, to avoid this aclocal failure:
27870           missing file gnulib-tests/vasnprintf.c
27871           configure.ac:45: error: expected source file, required through \
27872           AC_LIBSOURCES, not found
27873
27874 2010-06-10  Jim Meyering  <meyering@redhat.com>
27875
27876         inttostr: add a new function, inttostr, and tests
27877         The namesake function was not available.  The existence of the
27878         template file, inttostr.c makes its addition nontrivial.
27879         * lib/anytostr.c: Rename from inttostr.c.
27880         (anytostr): Rename from inttostr.
27881         * lib/inttostr.c: New file.
27882         * modules/inttostr (Files): Add anytostr.c.
27883         (Makefile.am): Set lib_SOURCES instead of ...
27884         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
27885         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
27886         * lib/offtostr.c: Likewise.
27887         * lib/uinttostr.c: Likewise.
27888         * lib/umaxtostr.c: Likewise.
27889         * modules/inttostr-tests: New file.
27890         * tests/test-inttostr.c: New file.  Test these functions.
27891
27892 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
27893             Bruno Haible  <bruno@clisp.org>
27894
27895         Add "Extending Gnulib" chapter to manual.
27896         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
27897         chapter.
27898         (Extending Gnulib): New chapter.
27899         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
27900         chapter.
27901
27902 2010-06-09  Bruno Haible  <bruno@clisp.org>
27903
27904         Avoid relocwrapper link errors due to gnulib replacement functions.
27905         * lib/areadlink.c: Use the system's malloc, realloc functions.
27906         (areadlink): Set errno to ENOMEM explicitly.
27907         * modules/areadlink (Depends-on): Remove malloc-posix.
27908         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27909
27910 2010-06-09  Bruno Haible  <bruno@clisp.org>
27911
27912         Avoid relocwrapper link errors due to gnulib replacement functions.
27913         * lib/canonicalize-lgpl.c: Use the system's malloc function.
27914         * lib/malloca.c: Likewise.
27915         * lib/relocatable.c: Likewise.
27916         * lib/progreloc.c: Use the system's malloc, sprintf functions.
27917         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
27918         * lib/setenv.c: Use the system's malloc, realloc functions.
27919         * lib/strerror.c: Use the system's sprintf function.
27920         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27921
27922 2010-06-04  Bruno Haible  <bruno@clisp.org>
27923
27924         Prefer documented low-level autoconf macro names.
27925         * m4/lib-link.m4: Use m4_translit instead of translit.
27926         * m4/environ.m4: Likewise.
27927         * m4/mathfunc.m4: Likewise.
27928         * m4/onceonly.m4: Likewise.
27929         * m4/stdint.m4: Likewise.
27930         Suggested by Eric Blake.
27931
27932 2010-06-04  Martin Lambers  <marlam@marlam.de>
27933             Bruno Haible  <bruno@clisp.org>
27934
27935         havelib: Allow library names with '+' characters.
27936         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
27937         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
27938
27939 2010-06-09  Bruno Haible  <bruno@clisp.org>
27940
27941         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
27942         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
27943         realloc failed.
27944
27945 2010-06-08  Peter Simons  <simons@cryp.to>
27946
27947         maint.mk: make the news-check rule more configurable
27948         * top/maint.mk (news-check-lines-spec): New variable.
27949         (news-check): Use "sed -n 1,10p" in place of "head".
27950
27951 2010-06-07  Jim Meyering  <meyering@redhat.com>
27952
27953         do-release-commit-and-tag: fix typo in --help
27954         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
27955
27956         regex: avoid new dead-code warning with gcc-4.6.0
27957         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
27958         if-block containing a while-loop.  It's been unused for at least
27959         5 years.
27960
27961 2010-06-05  Bruno Haible  <bruno@clisp.org>
27962
27963         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
27964         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
27965
27966 2010-06-04  Bruno Haible  <bruno@clisp.org>
27967
27968         Update to GNU gettext 0.18.1.
27969         * modules/gettext (configure.ac): Require gettext infrastructure from
27970         version 0.18.1.
27971
27972 2010-06-03  Bruno Haible  <bruno@clisp.org>
27973
27974         Don't use AC_LIBOBJ with file names in subdirectories.
27975         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
27976         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
27977         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
27978         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
27979         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
27980         gl_LIBUNISTRING_LIBSOURCE.
27981         (Makefile.am): Augment lib_SOURCES here, conditionally.
27982         * NEWS: Drop requirement for Automake option 'subdir-objects'.
27983
27984 2010-06-03  Bruno Haible  <bruno@clisp.org>
27985
27986         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
27987         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
27988         expansion does not end with a newline.
27989         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
27990         unnecessary newline.
27991
27992 2010-06-03  Bruno Haible  <bruno@clisp.org>
27993
27994         Reduce dependencies.
27995         * tests/test-quotearg.h: New file, extracted from
27996         tests/test-quotearg.c.
27997         * tests/test-quotearg-simple.c: New file, extracted from
27998         tests/test-quotearg.c.
27999         * tests/test-quotearg.c: Don't include <ctype.h>.
28000         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
28001         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
28002         use_quote_double_quotes, use_quotearg_colon): Moved to
28003         tests/test-quotearg.h.
28004         (results_g, flag_results, custom_quotes, custom_results): Moved
28005         to tests/test-quotearg-simple.c.
28006         (main): Moved the part that does not depend on gettext to
28007         tests/test-quotearg-simple.c. Return 77 if the test cannot be
28008         performed.
28009         * modules/quotearg-simple: New file.
28010         * modules/quotearg-simple-tests: New file.
28011         * modules/quotearg (Depends-on): Add quotearg-simple.
28012         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
28013         (Files): Add tests/test-quotearg.h.
28014         Reported by Paolo Bonzini.
28015
28016 2010-06-03  Bruno Haible  <bruno@clisp.org>
28017
28018         Reduce dependencies.
28019         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
28020
28021 2010-06-03  Bruno Haible  <bruno@clisp.org>
28022
28023         time: Undefine more broken macros.
28024         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
28025         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
28026         Reported by Eric Blake.
28027
28028 2010-06-03  Bruno Haible  <bruno@clisp.org>
28029
28030         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
28031         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
28032         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
28033         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
28034         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
28035         Reported by Ludovic Courtès <ludo@gnu.org>.
28036
28037 2010-06-02  Eric Blake  <eblake@redhat.com>
28038
28039         time: work with mingw + pthreads-win32 library
28040         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
28041         if timespec is defined only in pthread.h.
28042         * modules/time (Makefile.am): Substitute it.
28043         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
28044         <pthread.h>, when needed.
28045         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
28046         from the library.
28047
28048 2010-05-31  Bruno Haible  <bruno@clisp.org>
28049
28050         Avoid expanding two macros in the wrong order.
28051         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
28052         gl_LIBUNISTRING if it is defined.
28053         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
28054         autoconf >= 2.64.
28055         Reported by Ludovic Courtès <ludo@gnu.org>.
28056
28057 2010-05-27  Jim Meyering  <meyering@redhat.com>
28058
28059         maint.mk: also prohibit "#undef" of always-defined symbols
28060         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
28061         Allow more than one space before the symbol name.
28062         (sc_prohibit_always-defined_macros): Use grep's -E, now that
28063         the regexp uses alternation.
28064
28065 2010-05-26  Eric Blake  <eblake@redhat.com>
28066
28067         maint.mk: avoid echo -e
28068         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
28069         Convert all uses of echo -* to printf.
28070         Reported by Matthias Bolte.
28071
28072 2010-05-25  Bruno Haible  <bruno@clisp.org>
28073
28074         Update to GNU gettext 0.18, part 2.
28075         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
28076         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
28077
28078 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28079
28080         Add missing include in test-pwrite.c.
28081         * tests/test-pwrite.c: Include string.h, for strcmp.
28082
28083 2010-05-24  Bruno Haible  <bruno@clisp.org>
28084
28085         * NEWS: Mention requirement for Automake option 'subdir-objects'.
28086
28087 2010-05-24  Bruno Haible  <bruno@clisp.org>
28088
28089         Don't use conversion with transliteration in u{8,16,32}_strcoll.
28090         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
28091         iconveh_error argument.
28092         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
28093         U_STRCONV_TO_LOCALE.
28094         * lib/unistr/u16-strcoll.c: Likewise.
28095         * lib/unistr/u32-strcoll.c: Likewise.
28096         * modules/unistr/u8-strcoll (Depends-on): Add
28097         uniconv/u8-strconv-to-enc, localcharset. Remove
28098         uniconv/u8-strconv-to-locale.
28099         (configure.ac): Bump version number.
28100         * modules/unistr/u16-strcoll (Depends-on): Add
28101         uniconv/u16-strconv-to-enc, localcharset. Remove
28102         uniconv/u16-strconv-to-locale.
28103         (configure.ac): Bump version number.
28104         * modules/unistr/u32-strcoll (Depends-on): Add
28105         uniconv/u32-strconv-to-enc, localcharset. Remove
28106         uniconv/u32-strconv-to-locale.
28107         (configure.ac): Bump version number.
28108
28109 2010-05-24  Bruno Haible  <bruno@clisp.org>
28110
28111         Avoid a test failure on NetBSD 5.0.
28112         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
28113         an iconv() bug.
28114
28115 2010-05-24  Bruno Haible  <bruno@clisp.org>
28116
28117         Adjust #include directive style.
28118         * modules/regex (Includes): Recommend to write <regex.h>.
28119
28120 2010-05-24  Bruno Haible  <bruno@clisp.org>
28121
28122         regex: Don't require alloca.
28123         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
28124         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
28125         only inside if (0).
28126
28127 2010-05-23  Jim Meyering  <meyering@redhat.com>
28128
28129         test-renameat.c: include <sys/stat.h>
28130         * tests/test-renameat.c: Include <sys/stat.h>; required for
28131         definition of S_IS* macros.
28132
28133 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
28134
28135         Update maintainer documentation for 'relocatable-prog' module.
28136         * doc/relocatable-maint.texi: Update.
28137         Comments by Bruno Haible.
28138
28139 2010-05-23  Bruno Haible  <bruno@clisp.org>
28140
28141         git-merge-changelog: Enable --split-merged-entry by default.
28142         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
28143         (usage): Don't mention this option any more.
28144         Reported by Ralf Wildenhues.
28145
28146 2010-05-23  Jim Meyering  <meyering@redhat.com>
28147
28148         test-pwrite: do not leave behind a test file named "out"
28149         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
28150         The trivial-looking use of init.sh is really necessary.
28151         It ensures that the temporary file, "out", is created in
28152         a temporary directory, and removed upon termination.
28153         * tests/test-pwrite.sh: Re-add file.
28154         * modules/pwrite-tests: Reference it.
28155
28156 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28157
28158         Fix output redirection buglet in init.sh.
28159         * tests/init.sh: Fix redirection of stderr.
28160
28161 2010-05-20  Simon Josefsson  <simon@josefsson.org>
28162
28163         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
28164
28165 2010-05-17  Simon Josefsson  <simon@josefsson.org>
28166
28167         * modules/valgrind-tests: New file.
28168         * m4/valgrind-tests.m4: New file.
28169         * doc/valgrind-tests.texi: New file.
28170         * doc/gnulib.texi (Running self-tests under valgrind): New
28171         section.
28172
28173 2010-05-19  Bruno Haible  <bruno@clisp.org>
28174
28175         Clean up dead code in recent commit.
28176         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
28177         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
28178         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
28179         Suggested by Paolo Bonzini.
28180
28181 2010-05-19  Bruno Haible  <bruno@clisp.org>
28182
28183         Avoid valgrind error reports from libunistring.
28184         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
28185         * modules/libunistring (Files): Add it.
28186         * modules/libunistring-optional (Files): Likewise.
28187
28188 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
28189             Bruno Haible  <bruno@clisp.org>
28190
28191         New module 'libunistring-optional'.
28192         * modules/libunistring-optional: New file.
28193         * m4/libunistring-base.m4: New file.
28194         * m4/libunistring-optional.m4: New file.
28195         * lib/unicase.in.h: Renamed from lib/unicase.h.
28196         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
28197         * lib/unictype.in.h: Renamed from lib/unictype.h.
28198         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
28199         * lib/uniname.in.h: Renamed from lib/uniname.h.
28200         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
28201         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
28202         * lib/unistr.in.h: Renamed from lib/unistr.h.
28203         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
28204         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
28205         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
28206         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
28207         gl_LIBUNISTRING. If the library was found, determine the installed
28208         version and set LIBUNISTRING_VERSION.
28209         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
28210         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
28211         handle a configuration option --with-included-libunistring.
28212         * modules/libunistring (Files): Add m4/absolute-header.m4.
28213         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
28214         Add m4/libunistring-base.m4.
28215         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28216         (Makefile.am): Build unicase.h from unicase.in.h.
28217         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
28218         Add m4/libunistring-base.m4.
28219         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28220         (Makefile.am): Build uniconv.h from uniconv.in.h.
28221         * modules/unictype/base (Files): Use unictype.in.h instead of
28222         unictype.h. Add m4/libunistring-base.m4.
28223         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28224         (Makefile.am): Build unictype.h from unictype.in.h.
28225         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
28226         Add m4/libunistring-base.m4.
28227         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28228         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
28229         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
28230         Add m4/libunistring-base.m4.
28231         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28232         (Makefile.am): Build uniname.h from uniname.in.h.
28233         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
28234         Add m4/libunistring-base.m4.
28235         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28236         (Makefile.am): Build uninorm.h from uninorm.in.h.
28237         * modules/unistdio/base (Files): Use unistdio.in.h instead of
28238         unistdio.h. Add m4/libunistring-base.m4.
28239         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28240         (Makefile.am): Build unistdio.h from unistdio.in.h.
28241         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
28242         Add m4/libunistring-base.m4.
28243         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28244         (Makefile.am): Build unistr.h from unistr.in.h.
28245         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
28246         Add m4/libunistring-base.m4.
28247         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28248         (Makefile.am): Build unitypes.h from unitypes.in.h.
28249         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
28250         Add m4/libunistring-base.m4.
28251         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28252         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
28253         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
28254         uniwidth.h. Add m4/libunistring-base.m4.
28255         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
28256         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
28257         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
28258         instead of augmenting lib_SOURCES.
28259         * modules/unicase/empty-suffix-context: Likewise.
28260         * modules/unicase/locale-language: Likewise.
28261         * modules/unicase/tolower: Likewise.
28262         * modules/unicase/totitle: Likewise.
28263         * modules/unicase/toupper: Likewise.
28264         * modules/unicase/u8-casecmp: Likewise.
28265         * modules/unicase/u8-casecoll: Likewise.
28266         * modules/unicase/u8-casefold: Likewise.
28267         * modules/unicase/u8-casexfrm: Likewise.
28268         * modules/unicase/u8-ct-casefold: Likewise.
28269         * modules/unicase/u8-ct-tolower: Likewise.
28270         * modules/unicase/u8-ct-totitle: Likewise.
28271         * modules/unicase/u8-ct-toupper: Likewise.
28272         * modules/unicase/u8-is-cased: Likewise.
28273         * modules/unicase/u8-is-casefolded: Likewise.
28274         * modules/unicase/u8-is-lowercase: Likewise.
28275         * modules/unicase/u8-is-titlecase: Likewise.
28276         * modules/unicase/u8-is-uppercase: Likewise.
28277         * modules/unicase/u8-prefix-context: Likewise.
28278         * modules/unicase/u8-suffix-context: Likewise.
28279         * modules/unicase/u8-tolower: Likewise.
28280         * modules/unicase/u8-totitle: Likewise.
28281         * modules/unicase/u8-toupper: Likewise.
28282         * modules/unicase/u16-casecmp: Likewise.
28283         * modules/unicase/u16-casecoll: Likewise.
28284         * modules/unicase/u16-casefold: Likewise.
28285         * modules/unicase/u16-casexfrm: Likewise.
28286         * modules/unicase/u16-ct-casefold: Likewise.
28287         * modules/unicase/u16-ct-tolower: Likewise.
28288         * modules/unicase/u16-ct-totitle: Likewise.
28289         * modules/unicase/u16-ct-toupper: Likewise.
28290         * modules/unicase/u16-is-cased: Likewise.
28291         * modules/unicase/u16-is-casefolded: Likewise.
28292         * modules/unicase/u16-is-lowercase: Likewise.
28293         * modules/unicase/u16-is-titlecase: Likewise.
28294         * modules/unicase/u16-is-uppercase: Likewise.
28295         * modules/unicase/u16-prefix-context: Likewise.
28296         * modules/unicase/u16-suffix-context: Likewise.
28297         * modules/unicase/u16-tolower: Likewise.
28298         * modules/unicase/u16-totitle: Likewise.
28299         * modules/unicase/u16-toupper: Likewise.
28300         * modules/unicase/u32-casecmp: Likewise.
28301         * modules/unicase/u32-casecoll: Likewise.
28302         * modules/unicase/u32-casefold: Likewise.
28303         * modules/unicase/u32-casexfrm: Likewise.
28304         * modules/unicase/u32-ct-casefold: Likewise.
28305         * modules/unicase/u32-ct-tolower: Likewise.
28306         * modules/unicase/u32-ct-totitle: Likewise.
28307         * modules/unicase/u32-ct-toupper: Likewise.
28308         * modules/unicase/u32-is-cased: Likewise.
28309         * modules/unicase/u32-is-casefolded: Likewise.
28310         * modules/unicase/u32-is-lowercase: Likewise.
28311         * modules/unicase/u32-is-titlecase: Likewise.
28312         * modules/unicase/u32-is-uppercase: Likewise.
28313         * modules/unicase/u32-prefix-context: Likewise.
28314         * modules/unicase/u32-suffix-context: Likewise.
28315         * modules/unicase/u32-tolower: Likewise.
28316         * modules/unicase/u32-totitle: Likewise.
28317         * modules/unicase/u32-toupper: Likewise.
28318         * modules/unicase/ulc-casecmp: Likewise.
28319         * modules/unicase/ulc-casecoll: Likewise.
28320         * modules/unicase/ulc-casexfrm: Likewise.
28321         * modules/uniconv/u8-conv-from-enc: Likewise.
28322         * modules/uniconv/u8-conv-to-enc: Likewise.
28323         * modules/uniconv/u8-strconv-from-enc: Likewise.
28324         * modules/uniconv/u8-strconv-from-locale: Likewise.
28325         * modules/uniconv/u8-strconv-to-enc: Likewise.
28326         * modules/uniconv/u8-strconv-to-locale: Likewise.
28327         * modules/uniconv/u16-conv-from-enc: Likewise.
28328         * modules/uniconv/u16-conv-to-enc: Likewise.
28329         * modules/uniconv/u16-strconv-from-enc: Likewise.
28330         * modules/uniconv/u16-strconv-from-locale: Likewise.
28331         * modules/uniconv/u16-strconv-to-enc: Likewise.
28332         * modules/uniconv/u16-strconv-to-locale: Likewise.
28333         * modules/uniconv/u32-conv-from-enc: Likewise.
28334         * modules/uniconv/u32-conv-to-enc: Likewise.
28335         * modules/uniconv/u32-strconv-from-enc: Likewise.
28336         * modules/uniconv/u32-strconv-from-locale: Likewise.
28337         * modules/uniconv/u32-strconv-to-enc: Likewise.
28338         * modules/uniconv/u32-strconv-to-locale: Likewise.
28339         * modules/unictype/bidicategory-byname: Likewise.
28340         * modules/unictype/bidicategory-name: Likewise.
28341         * modules/unictype/bidicategory-of: Likewise.
28342         * modules/unictype/bidicategory-test: Likewise.
28343         * modules/unictype/block-list: Likewise.
28344         * modules/unictype/block-test: Likewise.
28345         * modules/unictype/category-C: Likewise.
28346         * modules/unictype/category-Cc: Likewise.
28347         * modules/unictype/category-Cf: Likewise.
28348         * modules/unictype/category-Cn: Likewise.
28349         * modules/unictype/category-Co: Likewise.
28350         * modules/unictype/category-Cs: Likewise.
28351         * modules/unictype/category-L: Likewise.
28352         * modules/unictype/category-Ll: Likewise.
28353         * modules/unictype/category-Lm: Likewise.
28354         * modules/unictype/category-Lo: Likewise.
28355         * modules/unictype/category-Lt: Likewise.
28356         * modules/unictype/category-Lu: Likewise.
28357         * modules/unictype/category-M: Likewise.
28358         * modules/unictype/category-Mc: Likewise.
28359         * modules/unictype/category-Me: Likewise.
28360         * modules/unictype/category-Mn: Likewise.
28361         * modules/unictype/category-N: Likewise.
28362         * modules/unictype/category-Nd: Likewise.
28363         * modules/unictype/category-Nl: Likewise.
28364         * modules/unictype/category-No: Likewise.
28365         * modules/unictype/category-P: Likewise.
28366         * modules/unictype/category-Pc: Likewise.
28367         * modules/unictype/category-Pd: Likewise.
28368         * modules/unictype/category-Pe: Likewise.
28369         * modules/unictype/category-Pf: Likewise.
28370         * modules/unictype/category-Pi: Likewise.
28371         * modules/unictype/category-Po: Likewise.
28372         * modules/unictype/category-Ps: Likewise.
28373         * modules/unictype/category-S: Likewise.
28374         * modules/unictype/category-Sc: Likewise.
28375         * modules/unictype/category-Sk: Likewise.
28376         * modules/unictype/category-Sm: Likewise.
28377         * modules/unictype/category-So: Likewise.
28378         * modules/unictype/category-Z: Likewise.
28379         * modules/unictype/category-Zl: Likewise.
28380         * modules/unictype/category-Zp: Likewise.
28381         * modules/unictype/category-Zs: Likewise.
28382         * modules/unictype/category-and: Likewise.
28383         * modules/unictype/category-and-not: Likewise.
28384         * modules/unictype/category-byname: Likewise.
28385         * modules/unictype/category-name: Likewise.
28386         * modules/unictype/category-none: Likewise.
28387         * modules/unictype/category-of: Likewise.
28388         * modules/unictype/category-or: Likewise.
28389         * modules/unictype/category-test: Likewise.
28390         * modules/unictype/combining-class: Likewise.
28391         * modules/unictype/ctype-alnum: Likewise.
28392         * modules/unictype/ctype-alpha: Likewise.
28393         * modules/unictype/ctype-blank: Likewise.
28394         * modules/unictype/ctype-cntrl: Likewise.
28395         * modules/unictype/ctype-digit: Likewise.
28396         * modules/unictype/ctype-graph: Likewise.
28397         * modules/unictype/ctype-lower: Likewise.
28398         * modules/unictype/ctype-print: Likewise.
28399         * modules/unictype/ctype-punct: Likewise.
28400         * modules/unictype/ctype-space: Likewise.
28401         * modules/unictype/ctype-upper: Likewise.
28402         * modules/unictype/ctype-xdigit: Likewise.
28403         * modules/unictype/decimal-digit: Likewise.
28404         * modules/unictype/digit: Likewise.
28405         * modules/unictype/mirror: Likewise.
28406         * modules/unictype/numeric: Likewise.
28407         * modules/unictype/property-alphabetic: Likewise.
28408         * modules/unictype/property-ascii-hex-digit: Likewise.
28409         * modules/unictype/property-bidi-arabic-digit: Likewise.
28410         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
28411         * modules/unictype/property-bidi-block-separator: Likewise.
28412         * modules/unictype/property-bidi-boundary-neutral: Likewise.
28413         * modules/unictype/property-bidi-common-separator: Likewise.
28414         * modules/unictype/property-bidi-control: Likewise.
28415         * modules/unictype/property-bidi-embedding-or-override: Likewise.
28416         * modules/unictype/property-bidi-eur-num-separator: Likewise.
28417         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
28418         * modules/unictype/property-bidi-european-digit: Likewise.
28419         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
28420         * modules/unictype/property-bidi-left-to-right: Likewise.
28421         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
28422         * modules/unictype/property-bidi-other-neutral: Likewise.
28423         * modules/unictype/property-bidi-pdf: Likewise.
28424         * modules/unictype/property-bidi-segment-separator: Likewise.
28425         * modules/unictype/property-bidi-whitespace: Likewise.
28426         * modules/unictype/property-byname: Likewise.
28427         * modules/unictype/property-combining: Likewise.
28428         * modules/unictype/property-composite: Likewise.
28429         * modules/unictype/property-currency-symbol: Likewise.
28430         * modules/unictype/property-dash: Likewise.
28431         * modules/unictype/property-decimal-digit: Likewise.
28432         * modules/unictype/property-default-ignorable-code-point: Likewise.
28433         * modules/unictype/property-deprecated: Likewise.
28434         * modules/unictype/property-diacritic: Likewise.
28435         * modules/unictype/property-extender: Likewise.
28436         * modules/unictype/property-format-control: Likewise.
28437         * modules/unictype/property-grapheme-base: Likewise.
28438         * modules/unictype/property-grapheme-extend: Likewise.
28439         * modules/unictype/property-grapheme-link: Likewise.
28440         * modules/unictype/property-hex-digit: Likewise.
28441         * modules/unictype/property-hyphen: Likewise.
28442         * modules/unictype/property-id-continue: Likewise.
28443         * modules/unictype/property-id-start: Likewise.
28444         * modules/unictype/property-ideographic: Likewise.
28445         * modules/unictype/property-ids-binary-operator: Likewise.
28446         * modules/unictype/property-ids-trinary-operator: Likewise.
28447         * modules/unictype/property-ignorable-control: Likewise.
28448         * modules/unictype/property-iso-control: Likewise.
28449         * modules/unictype/property-join-control: Likewise.
28450         * modules/unictype/property-left-of-pair: Likewise.
28451         * modules/unictype/property-line-separator: Likewise.
28452         * modules/unictype/property-logical-order-exception: Likewise.
28453         * modules/unictype/property-lowercase: Likewise.
28454         * modules/unictype/property-math: Likewise.
28455         * modules/unictype/property-non-break: Likewise.
28456         * modules/unictype/property-not-a-character: Likewise.
28457         * modules/unictype/property-numeric: Likewise.
28458         * modules/unictype/property-other-alphabetic: Likewise.
28459         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
28460         * modules/unictype/property-other-grapheme-extend: Likewise.
28461         * modules/unictype/property-other-id-continue: Likewise.
28462         * modules/unictype/property-other-id-start: Likewise.
28463         * modules/unictype/property-other-lowercase: Likewise.
28464         * modules/unictype/property-other-math: Likewise.
28465         * modules/unictype/property-other-uppercase: Likewise.
28466         * modules/unictype/property-paired-punctuation: Likewise.
28467         * modules/unictype/property-paragraph-separator: Likewise.
28468         * modules/unictype/property-pattern-syntax: Likewise.
28469         * modules/unictype/property-pattern-white-space: Likewise.
28470         * modules/unictype/property-private-use: Likewise.
28471         * modules/unictype/property-punctuation: Likewise.
28472         * modules/unictype/property-quotation-mark: Likewise.
28473         * modules/unictype/property-radical: Likewise.
28474         * modules/unictype/property-sentence-terminal: Likewise.
28475         * modules/unictype/property-soft-dotted: Likewise.
28476         * modules/unictype/property-space: Likewise.
28477         * modules/unictype/property-terminal-punctuation: Likewise.
28478         * modules/unictype/property-test: Likewise.
28479         * modules/unictype/property-titlecase: Likewise.
28480         * modules/unictype/property-unassigned-code-value: Likewise.
28481         * modules/unictype/property-unified-ideograph: Likewise.
28482         * modules/unictype/property-uppercase: Likewise.
28483         * modules/unictype/property-variation-selector: Likewise.
28484         * modules/unictype/property-white-space: Likewise.
28485         * modules/unictype/property-xid-continue: Likewise.
28486         * modules/unictype/property-xid-start: Likewise.
28487         * modules/unictype/property-zero-width: Likewise.
28488         * modules/unictype/scripts: Likewise.
28489         * modules/unictype/syntax-c-ident: Likewise.
28490         * modules/unictype/syntax-c-whitespace: Likewise.
28491         * modules/unictype/syntax-java-ident: Likewise.
28492         * modules/unictype/syntax-java-whitespace: Likewise.
28493         * modules/unilbrk/u8-possible-linebreaks: Likewise.
28494         * modules/unilbrk/u8-width-linebreaks: Likewise.
28495         * modules/unilbrk/u16-possible-linebreaks: Likewise.
28496         * modules/unilbrk/u16-width-linebreaks: Likewise.
28497         * modules/unilbrk/u32-possible-linebreaks: Likewise.
28498         * modules/unilbrk/u32-width-linebreaks: Likewise.
28499         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
28500         * modules/unilbrk/ulc-width-linebreaks: Likewise.
28501         * modules/uniname/uniname: Likewise.
28502         * modules/uninorm/canonical-decomposition: Likewise.
28503         * modules/uninorm/composition: Likewise.
28504         * modules/uninorm/decomposing-form: Likewise.
28505         * modules/uninorm/decomposition: Likewise.
28506         * modules/uninorm/filter: Likewise.
28507         * modules/uninorm/nfc: Likewise.
28508         * modules/uninorm/nfd: Likewise.
28509         * modules/uninorm/nfkc: Likewise.
28510         * modules/uninorm/nfkd: Likewise.
28511         * modules/uninorm/u8-normalize: Likewise.
28512         * modules/uninorm/u8-normcmp: Likewise.
28513         * modules/uninorm/u8-normcoll: Likewise.
28514         * modules/uninorm/u8-normxfrm: Likewise.
28515         * modules/uninorm/u16-normalize: Likewise.
28516         * modules/uninorm/u16-normcmp: Likewise.
28517         * modules/uninorm/u16-normcoll: Likewise.
28518         * modules/uninorm/u16-normxfrm: Likewise.
28519         * modules/uninorm/u32-normalize: Likewise.
28520         * modules/uninorm/u32-normcmp: Likewise.
28521         * modules/uninorm/u32-normcoll: Likewise.
28522         * modules/uninorm/u32-normxfrm: Likewise.
28523         * modules/unistdio/u8-asnprintf: Likewise.
28524         * modules/unistdio/u8-asprintf: Likewise.
28525         * modules/unistdio/u8-snprintf: Likewise.
28526         * modules/unistdio/u8-sprintf: Likewise.
28527         * modules/unistdio/u8-u8-asnprintf: Likewise.
28528         * modules/unistdio/u8-u8-asprintf: Likewise.
28529         * modules/unistdio/u8-u8-snprintf: Likewise.
28530         * modules/unistdio/u8-u8-sprintf: Likewise.
28531         * modules/unistdio/u8-u8-vasnprintf: Likewise.
28532         * modules/unistdio/u8-u8-vasprintf: Likewise.
28533         * modules/unistdio/u8-u8-vsnprintf: Likewise.
28534         * modules/unistdio/u8-u8-vsprintf: Likewise.
28535         * modules/unistdio/u8-vasnprintf: Likewise.
28536         * modules/unistdio/u8-vasprintf: Likewise.
28537         * modules/unistdio/u8-vsnprintf: Likewise.
28538         * modules/unistdio/u8-vsprintf: Likewise.
28539         * modules/unistdio/u16-asnprintf: Likewise.
28540         * modules/unistdio/u16-asprintf: Likewise.
28541         * modules/unistdio/u16-snprintf: Likewise.
28542         * modules/unistdio/u16-sprintf: Likewise.
28543         * modules/unistdio/u16-u16-asnprintf: Likewise.
28544         * modules/unistdio/u16-u16-asprintf: Likewise.
28545         * modules/unistdio/u16-u16-snprintf: Likewise.
28546         * modules/unistdio/u16-u16-sprintf: Likewise.
28547         * modules/unistdio/u16-u16-vasnprintf: Likewise.
28548         * modules/unistdio/u16-u16-vasprintf: Likewise.
28549         * modules/unistdio/u16-u16-vsnprintf: Likewise.
28550         * modules/unistdio/u16-u16-vsprintf: Likewise.
28551         * modules/unistdio/u16-vasnprintf: Likewise.
28552         * modules/unistdio/u16-vasprintf: Likewise.
28553         * modules/unistdio/u16-vsnprintf: Likewise.
28554         * modules/unistdio/u16-vsprintf: Likewise.
28555         * modules/unistdio/u32-asnprintf: Likewise.
28556         * modules/unistdio/u32-asprintf: Likewise.
28557         * modules/unistdio/u32-snprintf: Likewise.
28558         * modules/unistdio/u32-sprintf: Likewise.
28559         * modules/unistdio/u32-u32-asnprintf: Likewise.
28560         * modules/unistdio/u32-u32-asprintf: Likewise.
28561         * modules/unistdio/u32-u32-snprintf: Likewise.
28562         * modules/unistdio/u32-u32-sprintf: Likewise.
28563         * modules/unistdio/u32-u32-vasnprintf: Likewise.
28564         * modules/unistdio/u32-u32-vasprintf: Likewise.
28565         * modules/unistdio/u32-u32-vsnprintf: Likewise.
28566         * modules/unistdio/u32-u32-vsprintf: Likewise.
28567         * modules/unistdio/u32-vasnprintf: Likewise.
28568         * modules/unistdio/u32-vasprintf: Likewise.
28569         * modules/unistdio/u32-vsnprintf: Likewise.
28570         * modules/unistdio/u32-vsprintf: Likewise.
28571         * modules/unistdio/ulc-asnprintf: Likewise.
28572         * modules/unistdio/ulc-asprintf: Likewise.
28573         * modules/unistdio/ulc-fprintf: Likewise.
28574         * modules/unistdio/ulc-snprintf: Likewise.
28575         * modules/unistdio/ulc-sprintf: Likewise.
28576         * modules/unistdio/ulc-vasnprintf: Likewise.
28577         * modules/unistdio/ulc-vasprintf: Likewise.
28578         * modules/unistdio/ulc-vfprintf: Likewise.
28579         * modules/unistdio/ulc-vsnprintf: Likewise.
28580         * modules/unistdio/ulc-vsprintf: Likewise.
28581         * modules/unistr/u8-check: Likewise.
28582         * modules/unistr/u8-chr: Likewise.
28583         * modules/unistr/u8-cmp: Likewise.
28584         * modules/unistr/u8-cmp2: Likewise.
28585         * modules/unistr/u8-cpy: Likewise.
28586         * modules/unistr/u8-cpy-alloc: Likewise.
28587         * modules/unistr/u8-endswith: Likewise.
28588         * modules/unistr/u8-mblen: Likewise.
28589         * modules/unistr/u8-mbsnlen: Likewise.
28590         * modules/unistr/u8-mbtouc: Likewise.
28591         * modules/unistr/u8-mbtouc-unsafe: Likewise.
28592         * modules/unistr/u8-mbtoucr: Likewise.
28593         * modules/unistr/u8-move: Likewise.
28594         * modules/unistr/u8-next: Likewise.
28595         * modules/unistr/u8-prev: Likewise.
28596         * modules/unistr/u8-set: Likewise.
28597         * modules/unistr/u8-startswith: Likewise.
28598         * modules/unistr/u8-stpcpy: Likewise.
28599         * modules/unistr/u8-stpncpy: Likewise.
28600         * modules/unistr/u8-strcat: Likewise.
28601         * modules/unistr/u8-strchr: Likewise.
28602         * modules/unistr/u8-strcmp: Likewise.
28603         * modules/unistr/u8-strcoll: Likewise.
28604         * modules/unistr/u8-strcpy: Likewise.
28605         * modules/unistr/u8-strcspn: Likewise.
28606         * modules/unistr/u8-strdup: Likewise.
28607         * modules/unistr/u8-strlen: Likewise.
28608         * modules/unistr/u8-strmblen: Likewise.
28609         * modules/unistr/u8-strmbtouc: Likewise.
28610         * modules/unistr/u8-strncat: Likewise.
28611         * modules/unistr/u8-strncmp: Likewise.
28612         * modules/unistr/u8-strncpy: Likewise.
28613         * modules/unistr/u8-strnlen: Likewise.
28614         * modules/unistr/u8-strpbrk: Likewise.
28615         * modules/unistr/u8-strrchr: Likewise.
28616         * modules/unistr/u8-strspn: Likewise.
28617         * modules/unistr/u8-strstr: Likewise.
28618         * modules/unistr/u8-strtok: Likewise.
28619         * modules/unistr/u8-to-u16: Likewise.
28620         * modules/unistr/u8-to-u32: Likewise.
28621         * modules/unistr/u8-uctomb: Likewise.
28622         * modules/unistr/u16-check: Likewise.
28623         * modules/unistr/u16-chr: Likewise.
28624         * modules/unistr/u16-cmp: Likewise.
28625         * modules/unistr/u16-cmp2: Likewise.
28626         * modules/unistr/u16-cpy: Likewise.
28627         * modules/unistr/u16-cpy-alloc: Likewise.
28628         * modules/unistr/u16-endswith: Likewise.
28629         * modules/unistr/u16-mblen: Likewise.
28630         * modules/unistr/u16-mbsnlen: Likewise.
28631         * modules/unistr/u16-mbtouc: Likewise.
28632         * modules/unistr/u16-mbtouc-unsafe: Likewise.
28633         * modules/unistr/u16-mbtoucr: Likewise.
28634         * modules/unistr/u16-move: Likewise.
28635         * modules/unistr/u16-next: Likewise.
28636         * modules/unistr/u16-prev: Likewise.
28637         * modules/unistr/u16-set: Likewise.
28638         * modules/unistr/u16-startswith: Likewise.
28639         * modules/unistr/u16-stpcpy: Likewise.
28640         * modules/unistr/u16-stpncpy: Likewise.
28641         * modules/unistr/u16-strcat: Likewise.
28642         * modules/unistr/u16-strchr: Likewise.
28643         * modules/unistr/u16-strcmp: Likewise.
28644         * modules/unistr/u16-strcoll: Likewise.
28645         * modules/unistr/u16-strcpy: Likewise.
28646         * modules/unistr/u16-strcspn: Likewise.
28647         * modules/unistr/u16-strdup: Likewise.
28648         * modules/unistr/u16-strlen: Likewise.
28649         * modules/unistr/u16-strmblen: Likewise.
28650         * modules/unistr/u16-strmbtouc: Likewise.
28651         * modules/unistr/u16-strncat: Likewise.
28652         * modules/unistr/u16-strncmp: Likewise.
28653         * modules/unistr/u16-strncpy: Likewise.
28654         * modules/unistr/u16-strnlen: Likewise.
28655         * modules/unistr/u16-strpbrk: Likewise.
28656         * modules/unistr/u16-strrchr: Likewise.
28657         * modules/unistr/u16-strspn: Likewise.
28658         * modules/unistr/u16-strstr: Likewise.
28659         * modules/unistr/u16-strtok: Likewise.
28660         * modules/unistr/u16-to-u32: Likewise.
28661         * modules/unistr/u16-to-u8: Likewise.
28662         * modules/unistr/u16-uctomb: Likewise.
28663         * modules/unistr/u32-check: Likewise.
28664         * modules/unistr/u32-chr: Likewise.
28665         * modules/unistr/u32-cmp: Likewise.
28666         * modules/unistr/u32-cmp2: Likewise.
28667         * modules/unistr/u32-cpy: Likewise.
28668         * modules/unistr/u32-cpy-alloc: Likewise.
28669         * modules/unistr/u32-endswith: Likewise.
28670         * modules/unistr/u32-mblen: Likewise.
28671         * modules/unistr/u32-mbsnlen: Likewise.
28672         * modules/unistr/u32-mbtouc: Likewise.
28673         * modules/unistr/u32-mbtouc-unsafe: Likewise.
28674         * modules/unistr/u32-mbtoucr: Likewise.
28675         * modules/unistr/u32-move: Likewise.
28676         * modules/unistr/u32-next: Likewise.
28677         * modules/unistr/u32-prev: Likewise.
28678         * modules/unistr/u32-set: Likewise.
28679         * modules/unistr/u32-startswith: Likewise.
28680         * modules/unistr/u32-stpcpy: Likewise.
28681         * modules/unistr/u32-stpncpy: Likewise.
28682         * modules/unistr/u32-strcat: Likewise.
28683         * modules/unistr/u32-strchr: Likewise.
28684         * modules/unistr/u32-strcmp: Likewise.
28685         * modules/unistr/u32-strcoll: Likewise.
28686         * modules/unistr/u32-strcpy: Likewise.
28687         * modules/unistr/u32-strcspn: Likewise.
28688         * modules/unistr/u32-strdup: Likewise.
28689         * modules/unistr/u32-strlen: Likewise.
28690         * modules/unistr/u32-strmblen: Likewise.
28691         * modules/unistr/u32-strmbtouc: Likewise.
28692         * modules/unistr/u32-strncat: Likewise.
28693         * modules/unistr/u32-strncmp: Likewise.
28694         * modules/unistr/u32-strncpy: Likewise.
28695         * modules/unistr/u32-strnlen: Likewise.
28696         * modules/unistr/u32-strpbrk: Likewise.
28697         * modules/unistr/u32-strrchr: Likewise.
28698         * modules/unistr/u32-strspn: Likewise.
28699         * modules/unistr/u32-strstr: Likewise.
28700         * modules/unistr/u32-strtok: Likewise.
28701         * modules/unistr/u32-to-u16: Likewise.
28702         * modules/unistr/u32-to-u8: Likewise.
28703         * modules/unistr/u32-uctomb: Likewise.
28704         * modules/uniwbrk/u8-wordbreaks: Likewise.
28705         * modules/uniwbrk/u16-wordbreaks: Likewise.
28706         * modules/uniwbrk/u32-wordbreaks: Likewise.
28707         * modules/uniwbrk/ulc-wordbreaks: Likewise.
28708         * modules/uniwbrk/wordbreak-property: Likewise.
28709         * modules/uniwidth/u8-strwidth: Likewise.
28710         * modules/uniwidth/u8-width: Likewise.
28711         * modules/uniwidth/u16-strwidth: Likewise.
28712         * modules/uniwidth/u16-width: Likewise.
28713         * modules/uniwidth/u32-strwidth: Likewise.
28714         * modules/uniwidth/u32-width: Likewise.
28715         * modules/uniwidth/width: Likewise.
28716         * modules/unicase/cased-tests (Makefile.am): Link all test programs
28717         with $(LIBUNISTRING).
28718         * modules/unicase/ignorable-tests: Likewise.
28719         * modules/unicase/locale-language-tests: Likewise.
28720         * modules/unicase/tolower-tests: Likewise.
28721         * modules/unicase/totitle-tests: Likewise.
28722         * modules/unicase/toupper-tests: Likewise.
28723         * modules/unicase/u8-casecmp-tests: Likewise.
28724         * modules/unicase/u8-casecoll-tests: Likewise.
28725         * modules/unicase/u8-casefold-tests: Likewise.
28726         * modules/unicase/u8-is-cased-tests: Likewise.
28727         * modules/unicase/u8-is-casefolded-tests: Likewise.
28728         * modules/unicase/u8-is-lowercase-tests: Likewise.
28729         * modules/unicase/u8-is-titlecase-tests: Likewise.
28730         * modules/unicase/u8-is-uppercase-tests: Likewise.
28731         * modules/unicase/u8-tolower-tests: Likewise.
28732         * modules/unicase/u8-totitle-tests: Likewise.
28733         * modules/unicase/u8-toupper-tests: Likewise.
28734         * modules/unicase/u16-casecmp-tests: Likewise.
28735         * modules/unicase/u16-casecoll-tests: Likewise.
28736         * modules/unicase/u16-casefold-tests: Likewise.
28737         * modules/unicase/u16-is-cased-tests: Likewise.
28738         * modules/unicase/u16-is-casefolded-tests: Likewise.
28739         * modules/unicase/u16-is-lowercase-tests: Likewise.
28740         * modules/unicase/u16-is-titlecase-tests: Likewise.
28741         * modules/unicase/u16-is-uppercase-tests: Likewise.
28742         * modules/unicase/u16-tolower-tests: Likewise.
28743         * modules/unicase/u16-totitle-tests: Likewise.
28744         * modules/unicase/u16-toupper-tests: Likewise.
28745         * modules/unicase/u32-casecmp-tests: Likewise.
28746         * modules/unicase/u32-casecoll-tests: Likewise.
28747         * modules/unicase/u32-casefold-tests: Likewise.
28748         * modules/unicase/u32-is-cased-tests: Likewise.
28749         * modules/unicase/u32-is-casefolded-tests: Likewise.
28750         * modules/unicase/u32-is-lowercase-tests: Likewise.
28751         * modules/unicase/u32-is-titlecase-tests: Likewise.
28752         * modules/unicase/u32-is-uppercase-tests: Likewise.
28753         * modules/unicase/u32-tolower-tests: Likewise.
28754         * modules/unicase/u32-totitle-tests: Likewise.
28755         * modules/unicase/u32-toupper-tests: Likewise.
28756         * modules/unicase/ulc-casecmp-tests: Likewise.
28757         * modules/unicase/ulc-casecoll-tests: Likewise.
28758         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
28759         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
28760         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
28761         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
28762         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
28763         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
28764         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
28765         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
28766         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
28767         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
28768         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
28769         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
28770         * modules/unictype/bidicategory-byname-tests: Likewise.
28771         * modules/unictype/bidicategory-name-tests: Likewise.
28772         * modules/unictype/bidicategory-of-tests: Likewise.
28773         * modules/unictype/bidicategory-test-tests: Likewise.
28774         * modules/unictype/block-list-tests: Likewise.
28775         * modules/unictype/block-of-tests: Likewise.
28776         * modules/unictype/block-test-tests: Likewise.
28777         * modules/unictype/category-C-tests: Likewise.
28778         * modules/unictype/category-Cc-tests: Likewise.
28779         * modules/unictype/category-Cf-tests: Likewise.
28780         * modules/unictype/category-Cn-tests: Likewise.
28781         * modules/unictype/category-Co-tests: Likewise.
28782         * modules/unictype/category-Cs-tests: Likewise.
28783         * modules/unictype/category-L-tests: Likewise.
28784         * modules/unictype/category-Ll-tests: Likewise.
28785         * modules/unictype/category-Lm-tests: Likewise.
28786         * modules/unictype/category-Lo-tests: Likewise.
28787         * modules/unictype/category-Lt-tests: Likewise.
28788         * modules/unictype/category-Lu-tests: Likewise.
28789         * modules/unictype/category-M-tests: Likewise.
28790         * modules/unictype/category-Mc-tests: Likewise.
28791         * modules/unictype/category-Me-tests: Likewise.
28792         * modules/unictype/category-Mn-tests: Likewise.
28793         * modules/unictype/category-N-tests: Likewise.
28794         * modules/unictype/category-Nd-tests: Likewise.
28795         * modules/unictype/category-Nl-tests: Likewise.
28796         * modules/unictype/category-No-tests: Likewise.
28797         * modules/unictype/category-P-tests: Likewise.
28798         * modules/unictype/category-Pc-tests: Likewise.
28799         * modules/unictype/category-Pd-tests: Likewise.
28800         * modules/unictype/category-Pe-tests: Likewise.
28801         * modules/unictype/category-Pf-tests: Likewise.
28802         * modules/unictype/category-Pi-tests: Likewise.
28803         * modules/unictype/category-Po-tests: Likewise.
28804         * modules/unictype/category-Ps-tests: Likewise.
28805         * modules/unictype/category-S-tests: Likewise.
28806         * modules/unictype/category-Sc-tests: Likewise.
28807         * modules/unictype/category-Sk-tests: Likewise.
28808         * modules/unictype/category-Sm-tests: Likewise.
28809         * modules/unictype/category-So-tests: Likewise.
28810         * modules/unictype/category-Z-tests: Likewise.
28811         * modules/unictype/category-Zl-tests: Likewise.
28812         * modules/unictype/category-Zp-tests: Likewise.
28813         * modules/unictype/category-Zs-tests: Likewise.
28814         * modules/unictype/category-and-not-tests: Likewise.
28815         * modules/unictype/category-and-tests: Likewise.
28816         * modules/unictype/category-byname-tests: Likewise.
28817         * modules/unictype/category-name-tests: Likewise.
28818         * modules/unictype/category-none-tests: Likewise.
28819         * modules/unictype/category-of-tests: Likewise.
28820         * modules/unictype/category-or-tests: Likewise.
28821         * modules/unictype/category-test-withtable-tests: Likewise.
28822         * modules/unictype/combining-class-tests: Likewise.
28823         * modules/unictype/ctype-alnum-tests: Likewise.
28824         * modules/unictype/ctype-alpha-tests: Likewise.
28825         * modules/unictype/ctype-blank-tests: Likewise.
28826         * modules/unictype/ctype-cntrl-tests: Likewise.
28827         * modules/unictype/ctype-digit-tests: Likewise.
28828         * modules/unictype/ctype-graph-tests: Likewise.
28829         * modules/unictype/ctype-lower-tests: Likewise.
28830         * modules/unictype/ctype-print-tests: Likewise.
28831         * modules/unictype/ctype-punct-tests: Likewise.
28832         * modules/unictype/ctype-space-tests: Likewise.
28833         * modules/unictype/ctype-upper-tests: Likewise.
28834         * modules/unictype/ctype-xdigit-tests: Likewise.
28835         * modules/unictype/decimal-digit-tests: Likewise.
28836         * modules/unictype/digit-tests: Likewise.
28837         * modules/unictype/mirror-tests: Likewise.
28838         * modules/unictype/numeric-tests: Likewise.
28839         * modules/unictype/property-alphabetic-tests: Likewise.
28840         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
28841         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
28842         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
28843         * modules/unictype/property-bidi-block-separator-tests: Likewise.
28844         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
28845         * modules/unictype/property-bidi-common-separator-tests: Likewise.
28846         * modules/unictype/property-bidi-control-tests: Likewise.
28847         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
28848         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
28849         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
28850         * modules/unictype/property-bidi-european-digit-tests: Likewise.
28851         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
28852         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
28853         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
28854         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
28855         * modules/unictype/property-bidi-pdf-tests: Likewise.
28856         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
28857         * modules/unictype/property-bidi-whitespace-tests: Likewise.
28858         * modules/unictype/property-byname-tests: Likewise.
28859         * modules/unictype/property-combining-tests: Likewise.
28860         * modules/unictype/property-composite-tests: Likewise.
28861         * modules/unictype/property-currency-symbol-tests: Likewise.
28862         * modules/unictype/property-dash-tests: Likewise.
28863         * modules/unictype/property-decimal-digit-tests: Likewise.
28864         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
28865         * modules/unictype/property-deprecated-tests: Likewise.
28866         * modules/unictype/property-diacritic-tests: Likewise.
28867         * modules/unictype/property-extender-tests: Likewise.
28868         * modules/unictype/property-format-control-tests: Likewise.
28869         * modules/unictype/property-grapheme-base-tests: Likewise.
28870         * modules/unictype/property-grapheme-extend-tests: Likewise.
28871         * modules/unictype/property-grapheme-link-tests: Likewise.
28872         * modules/unictype/property-hex-digit-tests: Likewise.
28873         * modules/unictype/property-hyphen-tests: Likewise.
28874         * modules/unictype/property-id-continue-tests: Likewise.
28875         * modules/unictype/property-id-start-tests: Likewise.
28876         * modules/unictype/property-ideographic-tests: Likewise.
28877         * modules/unictype/property-ids-binary-operator-tests: Likewise.
28878         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
28879         * modules/unictype/property-ignorable-control-tests: Likewise.
28880         * modules/unictype/property-iso-control-tests: Likewise.
28881         * modules/unictype/property-join-control-tests: Likewise.
28882         * modules/unictype/property-left-of-pair-tests: Likewise.
28883         * modules/unictype/property-line-separator-tests: Likewise.
28884         * modules/unictype/property-logical-order-exception-tests: Likewise.
28885         * modules/unictype/property-lowercase-tests: Likewise.
28886         * modules/unictype/property-math-tests: Likewise.
28887         * modules/unictype/property-non-break-tests: Likewise.
28888         * modules/unictype/property-not-a-character-tests: Likewise.
28889         * modules/unictype/property-numeric-tests: Likewise.
28890         * modules/unictype/property-other-alphabetic-tests: Likewise.
28891         * modules/unictype/property-other-default-ignorable-code-point-tests:
28892         Likewise.
28893         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
28894         * modules/unictype/property-other-id-continue-tests: Likewise.
28895         * modules/unictype/property-other-id-start-tests: Likewise.
28896         * modules/unictype/property-other-lowercase-tests: Likewise.
28897         * modules/unictype/property-other-math-tests: Likewise.
28898         * modules/unictype/property-other-uppercase-tests: Likewise.
28899         * modules/unictype/property-paired-punctuation-tests: Likewise.
28900         * modules/unictype/property-paragraph-separator-tests: Likewise.
28901         * modules/unictype/property-pattern-syntax-tests: Likewise.
28902         * modules/unictype/property-pattern-white-space-tests: Likewise.
28903         * modules/unictype/property-private-use-tests: Likewise.
28904         * modules/unictype/property-punctuation-tests: Likewise.
28905         * modules/unictype/property-quotation-mark-tests: Likewise.
28906         * modules/unictype/property-radical-tests: Likewise.
28907         * modules/unictype/property-sentence-terminal-tests: Likewise.
28908         * modules/unictype/property-soft-dotted-tests: Likewise.
28909         * modules/unictype/property-space-tests: Likewise.
28910         * modules/unictype/property-terminal-punctuation-tests: Likewise.
28911         * modules/unictype/property-test-tests: Likewise.
28912         * modules/unictype/property-titlecase-tests: Likewise.
28913         * modules/unictype/property-unassigned-code-value-tests: Likewise.
28914         * modules/unictype/property-unified-ideograph-tests: Likewise.
28915         * modules/unictype/property-uppercase-tests: Likewise.
28916         * modules/unictype/property-variation-selector-tests: Likewise.
28917         * modules/unictype/property-white-space-tests: Likewise.
28918         * modules/unictype/property-xid-continue-tests: Likewise.
28919         * modules/unictype/property-xid-start-tests: Likewise.
28920         * modules/unictype/property-zero-width-tests: Likewise.
28921         * modules/unictype/scripts-tests: Likewise.
28922         * modules/unictype/syntax-c-ident-tests: Likewise.
28923         * modules/unictype/syntax-c-whitespace-tests: Likewise.
28924         * modules/unictype/syntax-java-ident-tests: Likewise.
28925         * modules/unictype/syntax-java-whitespace-tests: Likewise.
28926         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
28927         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
28928         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
28929         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
28930         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
28931         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
28932         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
28933         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
28934         * modules/uniname/uniname-tests: Likewise.
28935         * modules/uninorm/canonical-decomposition-tests: Likewise.
28936         * modules/uninorm/compat-decomposition-tests: Likewise.
28937         * modules/uninorm/composition-tests: Likewise.
28938         * modules/uninorm/decomposing-form-tests: Likewise.
28939         * modules/uninorm/decomposition-tests: Likewise.
28940         * modules/uninorm/filter-tests: Likewise.
28941         * modules/uninorm/nfc-tests: Likewise.
28942         * modules/uninorm/nfd-tests: Likewise.
28943         * modules/uninorm/nfkc-tests: Likewise.
28944         * modules/uninorm/nfkd-tests: Likewise.
28945         * modules/uninorm/u8-normcmp-tests: Likewise.
28946         * modules/uninorm/u8-normcoll-tests: Likewise.
28947         * modules/uninorm/u16-normcmp-tests: Likewise.
28948         * modules/uninorm/u16-normcoll-tests: Likewise.
28949         * modules/uninorm/u32-normcmp-tests: Likewise.
28950         * modules/uninorm/u32-normcoll-tests: Likewise.
28951         * modules/unistdio/u8-asnprintf-tests: Likewise.
28952         * modules/unistdio/u8-vasnprintf-tests: Likewise.
28953         * modules/unistdio/u8-vasprintf-tests: Likewise.
28954         * modules/unistdio/u8-vsnprintf-tests: Likewise.
28955         * modules/unistdio/u8-vsprintf-tests: Likewise.
28956         * modules/unistdio/u16-asnprintf-tests: Likewise.
28957         * modules/unistdio/u16-vasnprintf-tests: Likewise.
28958         * modules/unistdio/u16-vasprintf-tests: Likewise.
28959         * modules/unistdio/u16-vsnprintf-tests: Likewise.
28960         * modules/unistdio/u16-vsprintf-tests: Likewise.
28961         * modules/unistdio/u32-asnprintf-tests: Likewise.
28962         * modules/unistdio/u32-vasnprintf-tests: Likewise.
28963         * modules/unistdio/u32-vasprintf-tests: Likewise.
28964         * modules/unistdio/u32-vsnprintf-tests: Likewise.
28965         * modules/unistdio/u32-vsprintf-tests: Likewise.
28966         * modules/unistdio/ulc-asnprintf-tests: Likewise.
28967         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
28968         * modules/unistdio/ulc-vasprintf-tests: Likewise.
28969         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
28970         * modules/unistdio/ulc-vsprintf-tests: Likewise.
28971         * modules/unistr/u8-check-tests: Likewise.
28972         * modules/unistr/u8-chr-tests: Likewise.
28973         * modules/unistr/u8-cmp-tests: Likewise.
28974         * modules/unistr/u8-cmp2-tests: Likewise.
28975         * modules/unistr/u8-cpy-alloc-tests: Likewise.
28976         * modules/unistr/u8-cpy-tests: Likewise.
28977         * modules/unistr/u8-mblen-tests: Likewise.
28978         * modules/unistr/u8-mbsnlen-tests: Likewise.
28979         * modules/unistr/u8-mbtouc-tests: Likewise.
28980         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
28981         * modules/unistr/u8-mbtoucr-tests: Likewise.
28982         * modules/unistr/u8-move-tests: Likewise.
28983         * modules/unistr/u8-next-tests: Likewise.
28984         * modules/unistr/u8-prev-tests: Likewise.
28985         * modules/unistr/u8-set-tests: Likewise.
28986         * modules/unistr/u8-stpcpy-tests: Likewise.
28987         * modules/unistr/u8-stpncpy-tests: Likewise.
28988         * modules/unistr/u8-strcat-tests: Likewise.
28989         * modules/unistr/u8-strcmp-tests: Likewise.
28990         * modules/unistr/u8-strcoll-tests: Likewise.
28991         * modules/unistr/u8-strcpy-tests: Likewise.
28992         * modules/unistr/u8-strdup-tests: Likewise.
28993         * modules/unistr/u8-strlen-tests: Likewise.
28994         * modules/unistr/u8-strmblen-tests: Likewise.
28995         * modules/unistr/u8-strmbtouc-tests: Likewise.
28996         * modules/unistr/u8-strncat-tests: Likewise.
28997         * modules/unistr/u8-strncmp-tests: Likewise.
28998         * modules/unistr/u8-strncpy-tests: Likewise.
28999         * modules/unistr/u8-strnlen-tests: Likewise.
29000         * modules/unistr/u8-to-u16-tests: Likewise.
29001         * modules/unistr/u8-to-u32-tests: Likewise.
29002         * modules/unistr/u8-uctomb-tests: Likewise.
29003         * modules/unistr/u16-check-tests: Likewise.
29004         * modules/unistr/u16-chr-tests: Likewise.
29005         * modules/unistr/u16-cmp-tests: Likewise.
29006         * modules/unistr/u16-cmp2-tests: Likewise.
29007         * modules/unistr/u16-cpy-alloc-tests: Likewise.
29008         * modules/unistr/u16-cpy-tests: Likewise.
29009         * modules/unistr/u16-mblen-tests: Likewise.
29010         * modules/unistr/u16-mbsnlen-tests: Likewise.
29011         * modules/unistr/u16-mbtouc-tests: Likewise.
29012         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
29013         * modules/unistr/u16-mbtoucr-tests: Likewise.
29014         * modules/unistr/u16-move-tests: Likewise.
29015         * modules/unistr/u16-next-tests: Likewise.
29016         * modules/unistr/u16-prev-tests: Likewise.
29017         * modules/unistr/u16-set-tests: Likewise.
29018         * modules/unistr/u16-stpcpy-tests: Likewise.
29019         * modules/unistr/u16-stpncpy-tests: Likewise.
29020         * modules/unistr/u16-strcat-tests: Likewise.
29021         * modules/unistr/u16-strcmp-tests: Likewise.
29022         * modules/unistr/u16-strcoll-tests: Likewise.
29023         * modules/unistr/u16-strcpy-tests: Likewise.
29024         * modules/unistr/u16-strdup-tests: Likewise.
29025         * modules/unistr/u16-strlen-tests: Likewise.
29026         * modules/unistr/u16-strmblen-tests: Likewise.
29027         * modules/unistr/u16-strmbtouc-tests: Likewise.
29028         * modules/unistr/u16-strncat-tests: Likewise.
29029         * modules/unistr/u16-strncmp-tests: Likewise.
29030         * modules/unistr/u16-strncpy-tests: Likewise.
29031         * modules/unistr/u16-strnlen-tests: Likewise.
29032         * modules/unistr/u16-to-u32-tests: Likewise.
29033         * modules/unistr/u16-to-u8-tests: Likewise.
29034         * modules/unistr/u16-uctomb-tests: Likewise.
29035         * modules/unistr/u32-check-tests: Likewise.
29036         * modules/unistr/u32-chr-tests: Likewise.
29037         * modules/unistr/u32-cmp-tests: Likewise.
29038         * modules/unistr/u32-cmp2-tests: Likewise.
29039         * modules/unistr/u32-cpy-alloc-tests: Likewise.
29040         * modules/unistr/u32-cpy-tests: Likewise.
29041         * modules/unistr/u32-mblen-tests: Likewise.
29042         * modules/unistr/u32-mbsnlen-tests: Likewise.
29043         * modules/unistr/u32-mbtouc-tests: Likewise.
29044         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
29045         * modules/unistr/u32-mbtoucr-tests: Likewise.
29046         * modules/unistr/u32-move-tests: Likewise.
29047         * modules/unistr/u32-next-tests: Likewise.
29048         * modules/unistr/u32-prev-tests: Likewise.
29049         * modules/unistr/u32-set-tests: Likewise.
29050         * modules/unistr/u32-stpcpy-tests: Likewise.
29051         * modules/unistr/u32-stpncpy-tests: Likewise.
29052         * modules/unistr/u32-strcat-tests: Likewise.
29053         * modules/unistr/u32-strcmp-tests: Likewise.
29054         * modules/unistr/u32-strcoll-tests: Likewise.
29055         * modules/unistr/u32-strcpy-tests: Likewise.
29056         * modules/unistr/u32-strdup-tests: Likewise.
29057         * modules/unistr/u32-strlen-tests: Likewise.
29058         * modules/unistr/u32-strmblen-tests: Likewise.
29059         * modules/unistr/u32-strmbtouc-tests: Likewise.
29060         * modules/unistr/u32-strncat-tests: Likewise.
29061         * modules/unistr/u32-strncmp-tests: Likewise.
29062         * modules/unistr/u32-strncpy-tests: Likewise.
29063         * modules/unistr/u32-strnlen-tests: Likewise.
29064         * modules/unistr/u32-to-u16-tests: Likewise.
29065         * modules/unistr/u32-to-u8-tests: Likewise.
29066         * modules/unistr/u32-uctomb-tests: Likewise.
29067         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
29068         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
29069         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
29070         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
29071         * modules/uniwidth/u8-strwidth-tests: Likewise.
29072         * modules/uniwidth/u8-width-tests: Likewise.
29073         * modules/uniwidth/u16-strwidth-tests: Likewise.
29074         * modules/uniwidth/u16-width-tests: Likewise.
29075         * modules/uniwidth/u32-strwidth-tests: Likewise.
29076         * modules/uniwidth/u32-width-tests: Likewise.
29077         * modules/uniwidth/width-tests: Likewise.
29078
29079 2010-05-18  Richard Jones  <rjones@redhat.com>
29080
29081         doc: users.txt: list hivex
29082         * users.txt: Add hivex.
29083
29084 2010-05-18  Richard Jones  <rjones@redhat.com>
29085
29086         doc: users.txt: list febootstrap
29087         * users.txt: Add febootstrap.
29088
29089 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
29090
29091         bootstrap: fix an error when gnulib is not used as a git submodule
29092         * build-aux/bootstrap (gnulib_path): If its length is zero then
29093         assign "gnulib" to it.
29094         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
29095
29096 2010-05-16  Bruno Haible  <bruno@clisp.org>
29097
29098         Avoid autoconf warnings about AM_ICONV.
29099         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
29100         2.64.
29101
29102 2010-05-16  Bruno Haible  <bruno@clisp.org>
29103
29104         absolute-header: Make the macro usable in more situations.
29105         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
29106         from gl_ABSOLUTE_HEADER.
29107         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
29108
29109 2010-05-16  James Youngman  <jay@gnu.org>
29110
29111         doc: update users.txt
29112         * users.txt: Add CSSC.
29113
29114 2010-05-16  Jim Meyering  <meyering@redhat.com>
29115
29116         init.sh: fix an error in the previous change; add more comments
29117         * tests/init.sh: Compare exit code in loop against 9, not 2.
29118         Patch by Bruno Haible.
29119         Make the two tests more similar by adding an empty "then" clause.
29120         Add comments.
29121
29122         init.sh: avoid unnecessary shell re-exec
29123         * tests/init.sh: Improve the re-exec-required check to first test the
29124         current shell.  If it passes the test, do not search for a shell that
29125         does pass, and do not re-exec.  This test is particularly contorted to
29126         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
29127         of $(...) evokes a syntax error and causes immediate shell exit with
29128         status 2.  Bruno Haible reported that the re-exec made it impossible
29129         to single-step through any init.sh-using script.
29130
29131 2010-05-16  Bruno Haible  <bruno@clisp.org>
29132
29133         Fix collision between gnulib's and libintl's printf replacements.
29134         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
29135         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
29136         (printf): When using GNU C, map the __printf__ function to rpl_printf
29137         via __asm__. When not using GNU C, define rpl_printf instead of
29138         __printf__.
29139         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
29140         commit.
29141         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29142         commit.
29143         * m4/asm-underscore.m4: New file.
29144         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
29145         * modules/stdio (Files): Add m4/asm-underscore.m4.
29146         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
29147         Reported by Ben Pfaff.
29148
29149 2010-05-16  Bruno Haible  <bruno@clisp.org>
29150
29151         verify: Avoid skipping the test on openSUSE 11.0.
29152         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
29153
29154 2010-05-13  Bruno Haible  <bruno@clisp.org>
29155
29156         Avoid useless warnings from G++.
29157         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
29158         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
29159         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29160
29161 2010-05-11  Jim Meyering  <meyering@redhat.com>
29162
29163         maint.mk: tweak preceding change
29164         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
29165         regexps tighter by anchoring at EOL, and make the new group "shy"
29166         for slightly decreased overhead.
29167
29168 2010-05-11  Eric Blake  <eblake@redhat.com>
29169
29170         maint.mk: gnulib doesn't guarantee NSIG
29171         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
29172
29173 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29174
29175         test-pwrite.c: Remove unused variable declaration.
29176         * tests/test-pwrite.c (main): Remove read_buf declaration.
29177
29178         Remove useless test-pwrite.sh file.
29179         * tests/test-pwrite.sh: Delete file.
29180         * modules/pwrite-tests: Remove references.
29181         Reported by Bruno Haible.
29182
29183 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29184
29185         init.sh: fix a typo
29186         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
29187
29188 2010-05-10  Jim Meyering  <meyering@redhat.com>
29189
29190         maint.mk: avoid using a temporary file in the always-defined-macros check
29191         * top/maint.mk (.re-defmac): Remove rule.
29192         (gl_trap_): Remove definition.
29193         (sc_prohibit_always-defined_macros): Rewrite not to create and
29194         depend on a temporary file.  Instead, depend on GNU grep's ability
29195         to read a list of regular expressions from stdin when given "-f -".
29196
29197 2010-05-09  Bruno Haible  <bruno@clisp.org>
29198
29199         Update to GNU gettext 0.18, part 1.
29200         * m4/gettext.m4: Update to GNU gettext 0.18.
29201         * m4/intl.m4: Likewise.
29202         * m4/po.m4: Likewise.
29203         * modules/gettext (Files): Add m4/fcntl-o.m4.
29204         (configure.ac): Require gettext infrastructure from version 0.18.
29205
29206 2010-05-09  Jim Meyering  <meyering@redhat.com>
29207
29208         init.sh: enable MALLOC_PERTURB_
29209         * tests/init.sh: Enable glibc's malloc-perturbing option.
29210
29211         maint.mk: improve sc_cross_check_PATH_usage_in_tests
29212         With my recent change in init.sh from the two-line form:
29213             -#   : ${srcdir=.}
29214             -#   . "$srcdir/init.sh"; path_prepend_ .
29215             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
29216         I noticed that using the one-line form would cause this test
29217         to fail with a false-positive, or to stop working altogether,
29218         depending on whether help-version changed or all the tests did.
29219         * top/maint.mk (_hv_regex): Remove this definition.
29220         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
29221         (_hv_regex_strong): Use a stronger regex to check for conformance.
29222         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
29223         Give a separate diagnostic for lack of conforming use.
29224
29225         maint.mk: prohibit definition of symbols defined by gnulib
29226         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
29227         definition of symbols defined by gnulib.
29228
29229 2010-05-09  Bruno Haible  <bruno@clisp.org>
29230
29231         acl: Avoid test failure on Cygwin-hosted mingw.
29232         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
29233
29234 2010-05-09  Bruno Haible  <bruno@clisp.org>
29235
29236         error: Use system's fcntl function.
29237         * lib/error.c (fcntl): Undefine.
29238
29239 2010-05-09  Jim Meyering  <meyering@redhat.com>
29240
29241         verify: adjust formatting to be more consistent
29242         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
29243         argument-list '('s, and after one comma.
29244
29245 2010-05-09  Bruno Haible  <bruno@clisp.org>
29246
29247         error: More reliable output on mingw.
29248         * lib/error.c: Include <windows.h>.
29249         (is_open): New function.
29250         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
29251         defined.
29252
29253 2010-05-09  Bruno Haible  <bruno@clisp.org>
29254
29255         vasnprintf: Fix syntax errors in libintl build on mingw.
29256         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
29257         pad_ourselves and prec_ourselves after use.
29258
29259 2010-05-08  Bruno Haible  <bruno@clisp.org>
29260
29261         * lib/config.charset: Update comments for Cygwin 1.7.
29262         * lib/localcharset.c: Likewise.
29263
29264 2010-05-07  Jim Meyering  <meyering@redhat.com>
29265
29266         init.sh: improve comments
29267         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
29268         . "${srcdir=.}/init.sh"; path_prepend_ .
29269         Add a note about path_prepend_ and the alternative of using
29270         TESTS_ENVIRONMENT.
29271
29272 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
29273
29274         exclude: Unescape hashed patterns in wildcard mode.
29275         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
29276         to the hash list.
29277         * tests/test-exclude8.sh: New test case.
29278         * modules/exclude-tests: Add new test.
29279
29280 2010-05-05  Eric Blake  <eblake@redhat.com>
29281
29282         verify: automate tests
29283         * modules/verify-tests: New module.
29284         * tests/test-verify.sh: New file.
29285         * tests/test-verify.c: Guard each negative test with a unique id.
29286         Also avoid warning about unused left hand of comma expressions.
29287
29288 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
29289
29290         Further improvements to verify.h, suggested by Eric Blake.
29291         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
29292         the GL_* versions, to avoid collision with OpenGL.
29293         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
29294         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
29295         than testing merely whether it's defined.
29296
29297         Modify verify.h to pacify gcc -Wredundant_decls.
29298         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
29299         These use the prefix "GL_" since they're likely to be useful elsewhere.
29300         We may need to break them out into a different .h file.
29301         (__COUNTER__): Define to 0 if the compiler doesn't support it.
29302         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
29303         of verify_function__.
29304
29305 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29306
29307         Tests for module pwrite.
29308         * modules/pwrite-tests: New file.
29309         * tests/test-pwrite.sh: New file.
29310         * tests/test-pwrite.c: New file.
29311
29312         New module pwrite.
29313         * lib/unistd.in.h (pwrite): New declaration.
29314         * lib/pwrite.c: New file, from glibc with modifications.
29315         * m4/pwrite.m4: New file.
29316         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
29317         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
29318         REPLACE_PWRITE.
29319         * modules/pwrite: New file.
29320         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
29321         REPLACE_PWRITE.
29322         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
29323         * doc/posix-functions/pwrite.texi: Mention the new module.
29324
29325 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
29326
29327         pread: Update documentation.
29328         * doc/posix-functions/pread.texi: Mention the 'pread' module.
29329
29330 2010-05-04  Eric Blake  <eblake@redhat.com>
29331
29332         docs: update cygwin progress
29333         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
29334         this bug.
29335         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
29336         Added in cygwin 1.7.2.
29337         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
29338         Likewise.
29339         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
29340         Likewise.
29341         * doc/glibc-functions/dup3.texi (dup3): Likewise.
29342         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
29343         * doc/glibc-functions/accept4.texi (accept4): Likewise.
29344         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
29345         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
29346         Mention nproc module.
29347         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
29348         bug in cygwin 1.7.5 addition.
29349         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
29350         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
29351         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
29352         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
29353         1.7.5.
29354         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
29355         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
29356         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
29357         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
29358         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
29359         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
29360         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
29361         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
29362         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
29363         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
29364         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
29365         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
29366         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
29367         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
29368         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
29369         Likewise.
29370         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
29371         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
29372         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
29373         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
29374         Likewise.
29375         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
29376         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
29377         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
29378         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
29379         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
29380         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
29381         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
29382         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
29383         Likewise.
29384         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
29385         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
29386         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
29387         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
29388         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
29389         Likewise.
29390         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
29391         Likewise.
29392         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
29393         Likewise.
29394         * doc/glibc-functions/xdrrec_endofrecord.texi
29395         (xdrrec_endofrecord): Likewise.
29396         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
29397         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
29398         Likewise.
29399         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
29400         Likewise.
29401
29402 2010-05-04  Jim Meyering  <meyering@redhat.com>
29403
29404         gendocs.sh: make its "-s FILE" option more useful
29405         * build-aux/gendocs.sh: When honoring the -s FILE option, update
29406         $PACKAGE to reflect the probably-different basename of "FILE".
29407
29408 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
29409
29410         bootstrap: don't ignore download_po_files failure
29411         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
29412         failure.
29413
29414 2010-05-03  Jim Meyering  <meyering@redhat.com>
29415
29416         maint.mk: allow to pass options to gendocs.sh
29417         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
29418         (gendocs_options_): New overridable variable.
29419
29420         gnu-web-doc-update: don't ignore configure or build failure
29421         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
29422
29423         announce-gen: backslash-escape '@'s in --help output
29424         * build-aux/announce-gen: Fix syntax errors.
29425
29426         maint.mk, announce-gen: allow project-specific announcement mail headers
29427         * top/maint.mk (translation_project_): Define default.
29428         (announcement_Cc_, announcement_mail_headers_): Likewise.
29429         (announcement): Invoke announce-gen with new --mail-headers option.
29430         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
29431
29432         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
29433         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
29434         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
29435         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
29436         line in the "err2" output file when running "make check" in verbose
29437         mode (i.e., with set -x enabled).
29438
29439 2010-05-03  Bruno Haible  <bruno@clisp.org>
29440
29441         wctob: Fix for weird platforms.
29442         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
29443         argument value.
29444
29445 2010-05-03  Jim Meyering  <meyering@redhat.com>
29446
29447         maint.mk: prohibit unwarranted use of <strings.h>
29448         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
29449         strings.h in a file that does not also use strcasecmp, strncasecmp,
29450         ffs or ffsll.
29451
29452         maint.mk: remove obsolete comments
29453         * top/maint.mk: Remove stale, commented-out rules.
29454
29455 2010-05-02  Bruno Haible  <bruno@clisp.org>
29456
29457         wcwidth: Declare also when it's aliased.
29458         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
29459         macro.
29460
29461 2010-05-02  Bruno Haible  <bruno@clisp.org>
29462
29463         Fix regression from 2010-04-25.
29464         * gnulib-tool (func_modules_transitive_closure): Check the status of
29465         all modules, not only of the tests that are of the form foo-tests where
29466         foo is a module.
29467
29468 2010-05-02  Bruno Haible  <bruno@clisp.org>
29469
29470         wctob: Work around nasty Cygwin 1.7.2 bug.
29471         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
29472         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
29473
29474 2010-05-01  Bruno Haible  <bruno@clisp.org>
29475
29476         fpurge: Sharper test.
29477         * tests/test-fpurge.c (main): Add one more ftell check.
29478         * modules/fpurge-tests (Depends-on): Add ftell.
29479         Suggested by Eric Blake.
29480
29481 2010-05-01  Bruno Haible  <bruno@clisp.org>
29482
29483         ftello: Another test.
29484         * tests/test-ftello3.c: New file.
29485         * modules/ftello-tests (Files): Add it.
29486         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29487         MOSTLYCLEANFILES.
29488
29489         ftell: Another test.
29490         * tests/test-ftell3.c: New file.
29491         * modules/ftell-tests (Files): Add it.
29492         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
29493         MOSTLYCLEANFILES.
29494
29495 2010-05-01  Bruno Haible  <bruno@clisp.org>
29496
29497         ftell, ftello: Work around Solaris bug.
29498         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
29499         * lib/ftello.c: Include stdio-impl.h.
29500         (ftello): On Solaris, when _IOWRT is set, compute the result without
29501         looking at _IOREAD.
29502         * modules/ftello (Files): Add lib/stdio-impl.h.
29503         * doc/posix-functions/ftell.texi: Mention Solaris bug.
29504         * doc/posix-functions/ftello.texi: Likewise.
29505         Reported by Eric Blake.
29506
29507 2010-05-01  Bruno Haible  <bruno@clisp.org>
29508
29509         freading: Adapt to special meaning of _IOREAD flag on Solaris.
29510         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
29511         the _IOWRT flag is also set.
29512
29513 2010-05-01  Bruno Haible  <bruno@clisp.org>
29514
29515         Fix doc about a HP-UX stdio bug.
29516         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
29517         * doc/posix-functions/ftello.texi: Likewise.
29518
29519 2010-05-01  Bruno Haible  <bruno@clisp.org>
29520
29521         lseek test: Fix failure on Solaris.
29522         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
29523         output.
29524
29525 2010-04-30  Jim Meyering  <meyering@redhat.com>
29526
29527         bootstrap: don't ignore failure to generate po*/Makevars
29528         * build-aux/bootstrap (with_gettext): Don't ignore failure
29529         to create po/Makevars or runtime-po/Makevars.
29530
29531 2010-04-29  Eric Blake  <eblake@redhat.com>
29532
29533         headers: relax license to LGPLv2+
29534         * modules/fcntl-h (License): Relax license.
29535         * modules/getopt-posix (License): Likewise.
29536         * modules/locale (License): Likewise.
29537         * modules/math (License): Likewise.
29538         * modules/pty (License): Likewise.
29539         * modules/sched (License): Likewise.
29540         * modules/search (License): Likewise.
29541         * modules/spawn (License): Likewise.
29542         * modules/stdarg (License): Likewise.
29543         * modules/sysexits (License): Likewise.
29544
29545 2010-04-29  Jim Meyering  <meyering@redhat.com>
29546
29547         inttypes: relax license to LGPLv2+
29548         * modules/inttypes (License): Relax license.
29549
29550 2010-04-29  Simon Josefsson  <simon@josefsson.org>
29551
29552         * top/maint.mk (indent): Run twice to produce idempotent results.
29553
29554 2010-04-28  Bruno Haible  <bruno@clisp.org>
29555
29556         getdate: Generate getdate.c in the source directory.
29557         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
29558         MOSTLYCLEANFILES.
29559         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
29560
29561 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
29562
29563         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
29564         is not declared as a const *; avoid warnings in that case.
29565
29566 2010-04-28  Eric Blake  <eblake@redhat.com>
29567
29568         canonicalize-lgpl: avoid compiler warning
29569         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
29570         declaration' / 'extraneous semicolon' warning with some compilers.
29571         Reported by Andreas Gruenbacher.
29572
29573 2010-04-28  Jim Meyering  <meyering@redhat.com>
29574
29575         init.sh: ensure a more reliable exit status when exiting via trap
29576         * tests/init.sh (setup_): Don't rely on $? in signal handler.
29577         Inspired by patches from Dmitry V. Levin.
29578         Also trap on signal 3 (SIGQUIT).
29579
29580 2010-04-27  Bruno Haible  <bruno@clisp.org>
29581
29582         Update doc about utimes().
29583         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
29584         'utimens' module.
29585         Reported by Andreas Gruenbacher <agruen@suse.de>.
29586
29587 2010-04-27  Eric Blake  <eblake@redhat.com>
29588
29589         full-read, full-write: relax license
29590         * modules/full-read (License): Drop to LGPLv2+.
29591         * modules/full-write (License): Likewise.
29592         * modules/safe-read (License): Likewise.
29593         * modules/safe-write (License): Likewise.
29594
29595         pthread: mention library for linking
29596         * modules/pthread (Link): Mention $(LIB_PTHREAD).
29597
29598 2010-04-27  Jim Meyering  <meyering@redhat.com>
29599
29600         maint.mk: fix a bug introduced in last change
29601         * top/maint.mk (gl_assured_headers_): Now that all names are on
29602         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
29603         is not anchored to end of word, it should be adequate.
29604
29605         maint.mk: avoid side-effect in latest syntax-check
29606         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
29607         to run commands via $(shell...), and hence to incur cost only when
29608         the new rule is actually run.
29609
29610         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
29611         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
29612         and use that to create a regexp used to detect all #if HAVE_..._H uses.
29613         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
29614         (gl_assured_headers_, az_, AZ_): Define.
29615         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
29616
29617 2010-04-26  Jim Meyering  <jim@meyering.net>
29618             Bruno Haible  <bruno@clisp.org>
29619
29620         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
29621         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
29622         Prompted by an exchange with Gilles Espinasse.
29623
29624 2010-04-26  Jim Meyering  <meyering@redhat.com>
29625
29626         git-version-gen: aesthetic tweak
29627         * build-aux/git-version-gen: Use "$nl" rather than a literal,
29628         so that the command remains on a single line.
29629
29630 2010-04-26  Eric Blake  <eblake@redhat.com>
29631
29632         git-version-gen: allow use on EBCDIC hosts
29633         * build-aux/git-version-gen (dirty): Use literal rather than tying
29634         ourselves to ascii.
29635         Reported by Steve Goetze.
29636
29637 2010-04-25  Bruno Haible  <bruno@clisp.org>
29638
29639         netdb: Add support for GNULIB_POSIXCHECK.
29640         * lib/netdb.in.h: Include warn-on-use.h.
29641         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
29642         functions are used when GNULIB_POSIXCHECK is defined and the
29643         getaddrinfo module is not in use.
29644         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
29645         freeaddrinfo, gai_strerror, getnameinfo are declared.
29646         * modules/netdb (Depends-on): Add warn-on-use.
29647         (Makefile.am): Include warn-on-use.h in netdb.h.
29648
29649 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
29650
29651         build: avoid "make check" failure without .git/ directory
29652         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
29653         there is no .git/ directory.
29654
29655 2010-04-25  Bruno Haible  <bruno@clisp.org>
29656
29657         ptsname: Fix misuse of ttyname_r.
29658         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
29659         of errno.
29660
29661 2010-04-25  Bruno Haible  <bruno@clisp.org>
29662
29663         ttyname_r: Make it work on Solaris 10.
29664         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
29665         if the system function has the POSIX declaration. Test whether the
29666         function fails if the buffer is less than 128 bytes large.
29667         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
29668         system's ttyname_r function. Provide a reasonably large buffer.
29669         * modules/ttyname_r (Depends-on): Add extensions.
29670         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
29671
29672 2010-04-25  Bruno Haible  <bruno@clisp.org>
29673
29674         Use the 'extensions' module for some more functions on Solaris.
29675         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
29676         module.
29677         * doc/posix-functions/ctime_r.texi: Likewise.
29678         * doc/posix-functions/getgrgid_r.texi: Likewise.
29679         * doc/posix-functions/getgrnam_r.texi: Likewise.
29680         * doc/posix-functions/getpwnam_r.texi: Likewise.
29681         * doc/posix-functions/getpwuid_r.texi: Likewise.
29682         * doc/posix-functions/readdir_r.texi: Likewise.
29683         * doc/posix-functions/sigwait.texi: Likewise.
29684         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
29685         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
29686
29687 2010-04-25  Bruno Haible  <bruno@clisp.org>
29688
29689         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
29690         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
29691         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
29692         * lib/ttyname_r.c: Include <limits.h>.
29693         (ttyname_r): Define using the system's ttyname_r function, if it exists
29694         and not on Solaris.
29695         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
29696         set.
29697         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
29698         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
29699         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
29700         Reported by Simon Josefsson.
29701
29702 2010-04-25  Bruno Haible  <bruno@clisp.org>
29703
29704         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
29705         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
29706         * doc/posix-functions/ctime_r.texi: Likewise.
29707         * doc/posix-functions/getgrgid_r.texi: Likewise.
29708         * doc/posix-functions/getgrnam_r.texi: Likewise.
29709         * doc/posix-functions/getlogin_r.texi: Likewise.
29710         * doc/posix-functions/getpwnam_r.texi: Likewise.
29711         * doc/posix-functions/getpwuid_r.texi: Likewise.
29712         * doc/posix-functions/readdir_r.texi: Likewise.
29713         * doc/posix-functions/sigwait.texi: Likewise.
29714         * doc/posix-functions/ttyname_r.texi: Likewise.
29715         Reported by Simon Josefsson.
29716
29717 2010-04-25  Bruno Haible  <bruno@clisp.org>
29718
29719         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
29720         * gnulib-tool (func_usage): Document that --with-*-tests options apply
29721         also to --create-testdir.
29722         (func_acceptable): Don't consider the status of *-tests modules here.
29723         (func_modules_transitive_closure): Consider it here, before including a
29724         test module.
29725         (func_import, func_create_testdir): Set inc_all_direct_tests,
29726         inc_all_indirect_tests.
29727         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
29728         --create-testdir and --create-megatestdir.
29729
29730 2010-04-25  Bruno Haible  <bruno@clisp.org>
29731
29732         gnulib-tool: Add --without-*-tests options.
29733         * gnulib-tool (func_usage): Document the --without-*-tests options.
29734         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
29735         excl_unportable_tests): New variables.
29736         Fail if they are specified with --import or --update.
29737         (func_acceptable): Respect the excl_*_tests variables.
29738         (func_import): Set the excl_*_tests variables to empty.
29739
29740 2010-04-25  Simon Josefsson  <simon@josefsson.org>
29741             Bruno Haible  <bruno@clisp.org>
29742
29743         Work around a MacOS X 10.4 bug with openpty.
29744         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
29745         * tests/test-openpty.c (main): Close the master side explicitly.
29746
29747 2010-04-25  Bruno Haible  <bruno@clisp.org>
29748
29749         strnlen: Fix a C++ test error on MacOS X and Solaris.
29750         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
29751         the function is not declared.
29752         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
29753         Simon Josefsson.
29754
29755 2010-04-24  Bruno Haible  <bruno@clisp.org>
29756
29757         Avoid a gcc warning.
29758         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
29759         of correct type for %08lx directive.
29760         Reported by Eric Blake.
29761
29762 2010-04-24  Bruno Haible  <bruno@clisp.org>
29763
29764         vasnprintf: Correct errno value in case of out-of-memory.
29765         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
29766         or sprintf. Use the errno value from SNPRINTF or sprintf.
29767         Reported by Ian Beckwith <ianb@erislabs.net>.
29768
29769 2010-04-24  Bruno Haible  <bruno@clisp.org>
29770
29771         ansi-c++-opt: Find correct compiler when cross-compiling.
29772         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
29773         AC_CHECK_PROGS.
29774         Reported by Simon Josefsson.
29775
29776 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
29777
29778         vc-list-files: Add support for subversion
29779         * build-aux/vc-list-files: Use "svn list" to generate the list of
29780         files controlled by subversion.
29781
29782 2010-04-23  Jim Meyering  <meyering@redhat.com>
29783
29784         vc-list-files tests: convert to use init.sh
29785         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
29786         path_prepend_.
29787         Use Exit, not exit.
29788         Use skip_ rather than open coding it.
29789         Remove trap set-up and compare definitions.
29790         * tests/test-vc-list-files-git.sh: Likewise.
29791         * modules/vc-list-files-tests (Files): Add tests/init.sh.
29792
29793 2010-04-22  Simon Josefsson  <simon@josefsson.org>
29794
29795         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
29796         backup files.
29797
29798 2010-04-21  Simon Josefsson  <simon@josefsson.org>
29799
29800         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
29801
29802 2010-04-20  Eric Blake  <eblake@redhat.com>
29803
29804         tests: be robust to ignored SIGPIPE
29805         * tests/test-select-in.sh: Consume all output.
29806         * tests/test-lseek.sh: Check correct exit status, while avoiding
29807         EPIPE.
29808
29809 2010-04-20  Simon Josefsson  <simon@josefsson.org>
29810             Bruno Haible  <bruno@clisp.org>
29811
29812         visibility: Don't use -fvisibility if it leads to a warning.
29813         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
29814         yes, don't pretend that visibility works if it leads to a warning.
29815         Reported by Mike Gran <spk121@yahoo.com>.
29816
29817 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
29818
29819         * build-aux/bootstrap: Use "git -h" for testing for supported options
29820         instead of "git --help".  The short-form option only shows a summary,
29821         and doesn't layout the full man page.  Grep for the full option name
29822         in the summary, too.
29823
29824 2010-04-19  Bruno Haible  <bruno@clisp.org>
29825
29826         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
29827         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
29828         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
29829         mention of RELOCATABLE_STRIP.
29830         Reported by Sylvain Beucler <beuc@beuc.net>.
29831
29832 2010-04-19  Bruno Haible  <bruno@clisp.org>
29833
29834         * lib/diffseq.h: Fix typo in comment.
29835         Reported by Eric Blake.
29836
29837 2010-04-19  Bruno Haible  <bruno@clisp.org>
29838
29839         ioctl: Move autoconf macro to a .m4 file.
29840         * m4/ioctl.m4: New file, extracted from modules/ioctl.
29841         * modules/ioctl (Files): Add it.
29842         (configure.ac): Simply invoke gl_FUNC_IOCTL.
29843         Reported by Ian Beckwith <ianb@erislabs.net>.
29844
29845 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
29846             Bruno Haible  <bruno@clisp.org>
29847
29848         diffseq: Accommodate use-case with abstract arrays.
29849         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
29850         is not defined.
29851         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
29852         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
29853
29854 2010-04-18  Bruno Haible  <bruno@clisp.org>
29855
29856         * doc/posix-headers/stdbool.texi: More precise wording.
29857
29858 2010-04-17  Jim Meyering  <meyering@redhat.com>
29859
29860         maint.mk: use gnu-style indentation in an embedded perl script
29861         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
29862         Rename variable: s/two/last_two_bytes/
29863
29864 2010-04-16  Eric Blake  <eblake@redhat.com>
29865
29866         test-stdbool: skip test that fails with Solaris CC
29867         * tests/test-stdbool.c (f): Skip test that causes compilation
29868         error under buggy C++ compiler.
29869         * lib/stdbool.in.h: Document the limitation.
29870         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
29871
29872         setenv: allow compilation with C++
29873         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
29874         register keyword.
29875
29876         stdint: allow test to pass with C++
29877         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
29878
29879         getopt: allow compilation with C++
29880         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
29881         struct.
29882         * lib/getopt.c (_getopt_internal_r): Use correct type.
29883         Reported by Dagobert Michelson, via Joel E. Denny.
29884
29885 2010-04-16  Bruno Haible  <bruno@clisp.org>
29886
29887         Override netdb.h always.
29888         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
29889         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
29890         Reported by Ludovic Courtès <ludo@gnu.org>.
29891
29892 2010-04-15  Bruno Haible  <bruno@clisp.org>
29893
29894         openpty: Fix mistake from 2010-03-21.
29895         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
29896         Reported by Simon Josefsson.
29897
29898 2010-04-15  Eric Blake  <eblake@redhat.com>
29899
29900         test-forkpty: fix expected signature
29901         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
29902         Reported by Simon Josefsson.
29903
29904 2010-04-15  Jim Meyering  <meyering@redhat.com>
29905
29906         maint.mk: texinfo_suffix_re_: correct the default regexp
29907         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
29908
29909         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
29910         make it configurable via texinfo_suffix_re_.
29911
29912 2010-04-14  Eric Blake  <eblake@redhat.com>
29913
29914         strtok_r: relax license to LGPLv2+
29915         * modules/strtok_r (License): Relax license.
29916         Reported by Matthias Bolte.
29917
29918 2010-04-14  Simon Josefsson  <simon@josefsson.org>
29919
29920         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
29921         version 1.4.4 by default instead of requiring the libgcrypt
29922         version used during build.  This makes it possible to use the
29923         application with older but still binary compatible libgcrypt
29924         versions.
29925
29926 2010-04-13  Eric Blake  <eblake@redhat.com>
29927
29928         getopt-gnu: match recent glibc fixes and posix ruling
29929         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
29930         '+' handling, when requesting extensions.
29931         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
29932         'W;' handling.
29933         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
29934         * doc/posix-functions/getopt.texi (getopt): Document this.
29935         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29936         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29937         Likewise.
29938
29939         getopt: merge bug fixes from glibc
29940         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
29941         diagnostics.  Honor '+:' correctly.  Reject ';'.
29942
29943         getopt-posix: detect MacOS bug
29944         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
29945         optind when missing a required argument.
29946         * doc/posix-functions/getopt.texi (getopt): Document the bug.
29947         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29948         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29949         Likewise.
29950
29951         getopt-posix: avoid spurious failure on Solaris
29952         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
29953         an indicator that setting optind=1 is sufficient for reset.
29954
29955         getopt-posix: avoid spurious failure on FreeBSD
29956         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
29957         in POSIX mode, since the m4 test uses it.
29958
29959         gnulib-tool: silence warning on BSD sh
29960         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
29961
29962 2010-04-13  Jim Meyering  <meyering@redhat.com>
29963
29964         doc: users.txt: GNU patch now uses gnulib
29965         * users.txt: Add patch.
29966
29967 2010-04-12  Jim Meyering  <meyering@redhat.com>
29968
29969         maint.mk: generate more concise timing data for syntax-check rules
29970         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
29971         " done" from each line that reports a syntax-check test duration.
29972
29973 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
29974
29975         git-version-gen: use "git update-index..." rather than "git status"
29976         * build-aux/git-version-gen: Use git update-index --refresh, not
29977         "git status".  With some versions of git, "git status" would fail
29978         to update the index and result in an unwarranted "-dirty" suffix.
29979
29980 2010-04-11  Jim Meyering  <meyering@redhat.com>
29981
29982         openat: correct formatting (no semantic change)
29983         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
29984         Suggested by Bruno Haible.
29985
29986 2010-04-11  Bruno Haible  <bruno@clisp.org>
29987
29988         Stricter declaration checking in testdirs.
29989         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
29990         If for_tests is true, augment AM_CPPFLAGS to define
29991         GNULIB_STRICT_CHECKING.
29992         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
29993         GNULIB_STRICT_CHECKING is defined, verify that the function is
29994         declared.
29995
29996 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
29997             Bruno Haible  <bruno@clisp.org>
29998
29999         libunistring: Improve configure output.
30000         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
30001         Don't say "consider installing GNU libunistring" when checking again
30002         with libiconv.
30003
30004 2010-04-11  Bruno Haible  <bruno@clisp.org>
30005
30006         libunistring: Correct value of $LTLIBUNISTRING.
30007         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
30008         correct the value of $LTLIBUNISTRING.
30009
30010 2010-04-11  Bruno Haible  <bruno@clisp.org>
30011
30012         havelib: Add static libraries to LIBS in the right order.
30013         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
30014         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
30015
30016 2010-04-11  Bruno Haible  <bruno@clisp.org>
30017
30018         libunistring: Detect libunistring also when it depends on libiconv.
30019         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
30020         the second AC_LIB_HAVE_LINKFLAGS invocation.
30021
30022 2010-04-11  James Youngman  <jay@gnu.org>
30023
30024         close-stream: declare local scalars to be "const"
30025         * lib/close-stream.c (close_stream): Make boolean variables const
30026         to document the fact that we set but do not change them.
30027
30028 2010-04-11  Bruno Haible  <bruno@clisp.org>
30029
30030         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
30031
30032 2010-04-11  Jim Meyering  <meyering@redhat.com>
30033
30034         maint.mk: don't include dist-check.mk
30035         * top/maint.mk: Remove bogus include directive.
30036
30037         maint.mk: improve empty-line-at-EOF check
30038         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
30039         solution, rather than tail+Perl-based one.  The latter would read
30040         a few kilobytes from the end of each file, and did not handle empty
30041         files properly.
30042
30043         maint.mk: print the elapsed time for each syntax-check rule
30044         * top/maint.mk (sc_m_rules_): Save start time in a file.
30045         (sc_z_rules_): New rules: remove temp file and print elapsed time.
30046         (local-check): Interpose the .z rules
30047
30048 2010-04-11  Jim Meyering  <meyering@redhat.com>
30049
30050         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
30051         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
30052         empty file with one that ends in an empty line.
30053
30054 2010-04-10  Bruno Haible  <bruno@clisp.org>
30055
30056         mkdir: Make it work on mingw64.
30057         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
30058         * lib/mkdir.c: Update comment.
30059         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
30060
30061 2010-04-10  Bruno Haible  <bruno@clisp.org>
30062
30063         Don't override improved macro from newer autoconf.
30064         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
30065         autoconf >= 2.62.
30066         Reported by Joel E. Denny <jdenny@clemson.edu>.
30067
30068 2010-04-10  Jim Meyering  <meyering@redhat.com>
30069
30070         maint.mk: new syntax-check rule: prohibit empty lines at end of file
30071         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
30072
30073         maint.mk: correct a diagnostic
30074         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
30075         in diagnostic; now use $prohibit.
30076
30077 2010-04-10  Bruno Haible  <address@hidden>
30078
30079         fchownat: Fix a C++ test error on Solaris 8.
30080         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
30081         the function does not exist.
30082
30083 2010-04-10  Bruno Haible  <bruno@clisp.org>
30084
30085         vasnprintf: Add more tests.
30086         * tests/test-vasnprintf-posix.c: Include <errno.h>.
30087         (test_function): Test converting an invalid wide string.
30088
30089         vasnprintf: Correct handling of unconvertible wide string arguments.
30090         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
30091         VASNPRINTF.
30092         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
30093         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
30094         smaller than the expected maximum need for the directive. Set errno to
30095         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
30096         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
30097         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
30098         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
30099         * modules/vasnprintf (Files): Add m4/printf.m4.
30100         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30101
30102 2010-04-10  Bruno Haible  <bruno@clisp.org>
30103
30104         vasnprintf: Fix crash in %ls directive.
30105         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
30106         string is passed as argument to %ls, with no precision and no width.
30107         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30108
30109 2010-04-10  Bruno Haible  <bruno@clisp.org>
30110
30111         vasnprintf: Fix multiple test failures on mingw.
30112         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
30113         _snprintf, or snwprintf, not _snwprintf.
30114
30115 2010-04-10  Bruno Haible  <bruno@clisp.org>
30116
30117         write: Fix a C++ test error on mingw.
30118         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
30119
30120 2010-04-10  Bruno Haible  <bruno@clisp.org>
30121
30122         vasnprintf test: Reduce code duplication.
30123         * tests/test-vasnprintf.c (test_function): New function, extracted from
30124         test_vasnprintf.
30125         (test_vasnprintf, test_asnprintf): Invoke it.
30126
30127 2010-04-10  Bruno Haible  <bruno@clisp.org>
30128
30129         strnlen: Fix warning in C++ mode on MacOS X.
30130         * lib/string.in.h (strnlen): Use the modern idiom.
30131         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
30132         defining strnlen as a macro already in <config.h>.
30133         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30134         REPLACE_STRNLEN.
30135         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
30136         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30137
30138 2010-04-08  James Youngman  <jay@gnu.org>
30139
30140         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
30141         the example.
30142
30143 2010-04-09  Jim Meyering  <meyering@redhat.com>
30144
30145         maint.mk: print better diagnostic when there is no $(_hv_file)
30146         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
30147         announce that when $(_hv_file) (aka help-version) does not exist.
30148
30149         init.sh: run tr in the "C" locale to avoid multibyte interpretation
30150         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
30151         not try to interpret its random input bytes.  Jarno Rajahalme reported
30152         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
30153         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
30154         (mktempd_): Likewise, just in case.
30155
30156         ftruncate: add two years to projected module removal date: 2012
30157         * m4/ftruncate.m4: Adjust comments.
30158
30159         ftruncate: mark module as obsolete; even MinGW provides it, now
30160         * modules/ftruncate (Status): Obsolete.
30161         (Notice): Say that.
30162         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
30163         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
30164
30165 2010-04-08  Bruno Haible  <bruno@clisp.org>
30166
30167         Fix side effects from tests-related modules.
30168         * modules/dprintf-posix (Comment): New section.
30169         * modules/fprintf-posix (Comment): Likewise.
30170         * modules/obstack-printf-posix (Comment): Likewise.
30171         * modules/printf-posix (Comment): Likewise.
30172         * modules/snprintf-posix (Comment): Likewise.
30173         * modules/sprintf-posix (Comment): Likewise.
30174         * modules/vasnprintf-posix (Comment): Likewise.
30175         * modules/vasprintf-posix (Comment): Likewise.
30176         * modules/vdprintf-posix (Comment): Likewise.
30177         * modules/vfprintf-posix (Comment): Likewise.
30178         * modules/vprintf-posix (Comment): Likewise.
30179         * modules/vsnprintf-posix (Comment): Likewise.
30180         * modules/vsprintf-posix (Comment): Likewise.
30181         * modules/xprintf-posix (Comment): Likewise.
30182         * modules/xvasprintf-posix (Comment): Likewise.
30183         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
30184         * modules/floorf-tests (Depends-on): Likewise.
30185         * modules/round-tests (Depends-on): Likewise.
30186         * modules/roundf-tests (Depends-on): Likewise.
30187         * modules/trunc-tests (Depends-on): Likewise.
30188         * modules/truncf-tests (Depends-on): Likewise.
30189         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
30190         'fprintf-posix' module is not present.
30191         * tests/test-floorf2.c (check): Likewise.
30192         * tests/test-trunc2.c (check): Likewise.
30193         * tests/test-truncf2.c (check): Likewise.
30194         * tests/test-round2.c (equal): Likewise.
30195         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30196
30197 2010-04-07  Karl Berry  <karl@gnu.org>
30198
30199         * config/srclist.txt,
30200         * config/srclistvars.sh,
30201         * config/srclist-update: doc fixes.
30202
30203 2010-04-07  Jim Meyering  <meyering@redhat.com>
30204
30205         maint.mk: add a PATH crosschecking syntax-check rule
30206         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
30207         Useful if you use a test like the one in help-version (coreutils,
30208         diffutils, grep, gzip) that ensures $(VERSION) matches what is
30209         printed by prog --version.
30210
30211 2010-04-06  Bruno Haible  <bruno@clisp.org>
30212
30213         Fix link error on mingw.
30214         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
30215         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
30216
30217 2010-04-06  Bruno Haible  <bruno@clisp.org>
30218
30219         Assume rmdir exists.
30220         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
30221
30222 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
30223
30224         doc: update users.txt
30225         * users.txt: Add gcal.
30226
30227 2010-04-06  Jim Meyering  <meyering@redhat.com>
30228
30229         init.sh: simply unset TMPDIR rather than risking env -i
30230         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
30231         although it probably works fine on all Unix-based systems, some
30232         systems (Cygwin?) cannot tolerate a totally cleared environment.
30233         Suggestion from Eric Blake.
30234
30235 2010-04-06  Jim Meyering  <meyering@redhat.com>
30236
30237         init.sh: portability fix: use env's POSIX-specified -i option not -u
30238         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
30239         than unportable env -u.  Solaris 5.11's env lacks support for -u.
30240
30241 2010-04-05  Bruno Haible  <bruno@clisp.org>
30242
30243         btowc: Work around Cygwin 1.7.2 bug.
30244         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
30245         does not map NUL to 0.
30246         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
30247
30248 2010-04-05  Bruno Haible  <bruno@clisp.org>
30249
30250         Make the multithread modules work on Cygwin 1.7.2.
30251         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
30252         imported symbols can be declared weak, so that it returns "no" on
30253         Cygwin 1.7.2.
30254
30255 2010-04-05  Bruno Haible  <bruno@clisp.org>
30256
30257         Use the module 'strncat'.
30258         * modules/unistr/u8-strncat (Depends-on): Add strncat.
30259
30260         Tests for module 'strncat'.
30261         * modules/strncat-tests: New file.
30262         * tests/test-strncat.c: New file.
30263
30264         New module 'strncat'.
30265         * lib/string.in.h (strncat): New declaration.
30266         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
30267         * m4/strncat.m4: New file, based on m4/memchr.m4.
30268         * modules/strncat: New file.
30269         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
30270         is declared.
30271         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
30272         REPLACE_STRNCAT.
30273         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
30274         REPLACE_STRNCAT.
30275         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
30276         module.
30277         * tests/test-string-c++.cc: Check signature of strncat.
30278
30279 2010-04-05  Jim Meyering  <meyering@redhat.com>
30280
30281         xstrtoumax-tests: convert to use init.sh
30282         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
30283         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30284         Use Exit, not exit.
30285         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30286
30287         xstrtoimax-tests: convert to use init.sh
30288         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
30289         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30290         Use Exit, not exit.
30291         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30292
30293 2010-04-05  Bruno Haible  <bruno@clisp.org>
30294
30295         sys_socket: Avoid #define replacements in C++ mode.
30296         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
30297         warning to the function if possible, rather than #defining the symbol
30298         to a dysfunctional alias.
30299
30300 2010-04-05  Bruno Haible  <bruno@clisp.org>
30301
30302         fseeko: Fix C++ test error on mingw.
30303         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
30304         gl_FUNC_FSEEKO.
30305         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
30306         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
30307         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
30308         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
30309
30310 2010-04-05  Bruno Haible  <bruno@clisp.org>
30311
30312         duplocale: Improve test output.
30313         * tests/test-duplocale.c (main): Print reason for skipped test.
30314
30315 2010-04-05  Bruno Haible  <bruno@clisp.org>
30316
30317         Assume rmdir exists.
30318         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
30319         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
30320
30321 2010-04-05  Bruno Haible  <bruno@clisp.org>
30322
30323         Fix link error on Solaris 8 with cc.
30324         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
30325
30326 2010-04-05  Bruno Haible  <bruno@clisp.org>
30327
30328         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30329         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
30330
30331 2010-04-05  Bruno Haible  <bruno@clisp.org>
30332
30333         vasprintf: Update documentation.
30334         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
30335
30336 2010-04-05  Bruno Haible  <bruno@clisp.org>
30337
30338         ptsname: Improve test.
30339         * tests/test-ptsname.c (main): Also try the various master names of BSD
30340         systems.
30341
30342 2010-04-05  Bruno Haible  <bruno@clisp.org>
30343
30344         memchr: Avoid a possible C++ test error.
30345         * lib/string.in.h (memchr): Provide declaration if function is missing.
30346         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
30347         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
30348         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
30349         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
30350
30351 2010-04-05  Bruno Haible  <bruno@clisp.org>
30352
30353         strtok_r: Improve idiom.
30354         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
30355         AC_LIBOBJ is used.
30356
30357 2010-04-05  Bruno Haible  <bruno@clisp.org>
30358
30359         strdup: Improve idiom.
30360         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
30361         AC_LIBOBJ is used.
30362         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
30363         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
30364         when AC_LIBOBJ is used.
30365
30366 2010-04-05  Bruno Haible  <bruno@clisp.org>
30367
30368         mbsinit, mbrtowc, wcrtomb: Improve idioms.
30369         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
30370         don't set REPLACE_MBSINIT to 1.
30371         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
30372         don't set REPLACE_MBRTOWC to 1.
30373         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
30374         exist, don't set REPLACE_MBSRTOWCS to 1.
30375         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
30376         exist, don't set REPLACE_MBSNRTOWCS to 1.
30377         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
30378         don't set REPLACE_WCRTOMB to 1.
30379         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
30380         exist, don't set REPLACE_WCSRTOMBS to 1.
30381         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
30382         exist, don't set REPLACE_WCSNRTOMBS to 1.
30383
30384 2010-04-05  Bruno Haible  <bruno@clisp.org>
30385
30386         ldexpl: Improve idiom.
30387         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
30388         make sure to set HAVE_DECL_LDEXPL to 0.
30389
30390 2010-04-05  Jim Meyering  <meyering@redhat.com>
30391
30392         xstrtol-tests: convert to use init.sh
30393         * modules/xstrtol-tests (Files): Add tests/init.sh.
30394         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30395         Use Exit, not exit.
30396         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30397
30398         atexit-tests: convert to use init.sh
30399         * modules/atexit-tests (Files): Add tests/init.sh.
30400         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
30401         Use Exit, not exit.
30402         Remove uses of $EXEEXT and "./" to run a program in the current dir.
30403
30404         init.sh: fix typo
30405         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
30406
30407         init.sh: make it easier for a test script to write to the tty, ...
30408         when using automake's parallel-tests mode.
30409         * tests/init.sh (stderr_fileno_): Define overridable variable.
30410         (warn_): New function, to use it.
30411         (fail_, skip_, framework_failure_): Use warn_.
30412
30413 2010-04-04  Bruno Haible  <bruno@clisp.org>
30414
30415         btowc: Avoid warning.
30416         * lib/btowc.c: Include <stdlib.h>.
30417         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
30418
30419 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30420             Bruno Haible  <bruno@clisp.org>
30421
30422         wchar: Port to NetBSD 1.5.
30423         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
30424         * lib/wctype.in.h (WEOF): Likewise.
30425
30426 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
30427             Bruno Haible  <bruno@clisp.org>
30428
30429         Port extended stdio to NetBSD 1.5.
30430         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
30431         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
30432         older.
30433
30434 2010-04-04  Bruno Haible  <bruno@clisp.org>
30435
30436         string: Remove unused substitution.
30437         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
30438         HAVE_DECL_STRERROR.
30439         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
30440
30441 2010-04-04  Bruno Haible  <bruno@clisp.org>
30442
30443         strtod: Avoid a possible C++ test error.
30444         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
30445         set REPLACE_STRTOD.
30446
30447 2010-04-04  Bruno Haible  <bruno@clisp.org>
30448
30449         strerror: Update documentation.
30450         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
30451
30452 2010-04-04  Bruno Haible  <bruno@clisp.org>
30453
30454         stdio: Fix some C++ test errors on Solaris 8 with GCC.
30455         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
30456         _GL_CXXALIAS_SYS_CAST.
30457
30458 2010-04-04  Bruno Haible  <bruno@clisp.org>
30459
30460         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
30461         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
30462         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
30463         REPLACE_FREXPL to 1.
30464         * doc/posix-functions/frexpl.texi: Update documentation.
30465
30466 2010-04-04  Bruno Haible  <bruno@clisp.org>
30467
30468         math: Fix some C++ test errors on Solaris 8 and Cygwin.
30469         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
30470
30471 2010-04-04  Bruno Haible  <bruno@clisp.org>
30472
30473         Implement nanosleep for native Windows.
30474         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
30475
30476 2010-04-04  Bruno Haible  <bruno@clisp.org>
30477
30478         math: Fix some C++ test errors on Solaris 8.
30479         * lib/math.in.h (truncf, trunc): Use simpler idiom.
30480
30481 2010-04-04  Bruno Haible  <bruno@clisp.org>
30482
30483         math: Fix some C++ test errors on Cygwin.
30484         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
30485         truncl): Provide declaration if the system does not have it.
30486         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
30487         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
30488         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
30489         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
30490         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
30491         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
30492         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
30493         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
30494         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
30495         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
30496         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
30497         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
30498         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
30499         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
30500         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
30501         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
30502         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
30503         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30504         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30505         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
30506         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
30507         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
30508
30509 2010-04-04  Bruno Haible  <bruno@clisp.org>
30510
30511         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
30512         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
30513         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
30514         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30515         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30516         * m4/isinf.m4 (gl_ISINF): Likewise.
30517         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30518
30519 2010-04-04  Bruno Haible  <bruno@clisp.org>
30520
30521         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
30522         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30523
30524 2010-04-04  Bruno Haible  <bruno@clisp.org>
30525
30526         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
30527         * modules/tmpfile (configure.ac): Update.
30528
30529         tmpfile: Fix C++ test error on mingw.
30530         * lib/stdio.in.h (tmpfile): New declaration.
30531         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
30532         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
30533         * modules/tmpfile (Depends-on): Add stdio.
30534         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30535         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
30536         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
30537         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
30538         REPLACE_TMPFILE.
30539         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
30540
30541 2010-04-04  Bruno Haible  <bruno@clisp.org>
30542
30543         ioctl: Fix C++ test error on mingw.
30544         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
30545         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
30546         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
30547
30548 2010-04-03  Bruno Haible  <bruno@clisp.org>
30549
30550         wcwidth: Fix C++ test error on mingw.
30551         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
30552         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
30553         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
30554
30555 2010-04-03  Bruno Haible  <bruno@clisp.org>
30556
30557         nanosleep: Fix C++ test error on mingw.
30558         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
30559         * lib/time.in.h (nanosleep): Use modern idiom.
30560         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
30561         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
30562         REPLACE_NANOSLEEP to 1.
30563         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
30564         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
30565
30566 2010-04-03  Bruno Haible  <bruno@clisp.org>
30567
30568         strptime: Fix C++ test error on mingw.
30569         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
30570         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
30571         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
30572         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
30573         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
30574         not REPLACE_STRPTIME.
30575         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
30576         REPLACE_STRPTIME.
30577
30578 2010-04-03  Bruno Haible  <bruno@clisp.org>
30579
30580         timegm: Fix C++ test error on mingw.
30581         * lib/time.in.h (timegm): Use modern idiom.
30582         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
30583         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
30584         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
30585         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
30586
30587 2010-04-03  Bruno Haible  <bruno@clisp.org>
30588
30589         timegm: Assume declaration if function exists.
30590         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
30591         if it exists. Don't clobber ac_cv_func_timegm.
30592
30593 2010-04-03  Bruno Haible  <bruno@clisp.org>
30594
30595         time_r: Fix C++ test error on mingw.
30596         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
30597         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
30598         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
30599         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
30600         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
30601
30602 2010-04-03  Bruno Haible  <bruno@clisp.org>
30603
30604         time_r: Minor updates.
30605         * modules/time_r (Description): Mention the provided functions.
30606         * lib/time_r.c: Don't include <string.h>.
30607         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
30608         * doc/posix-functions/localtime_r.texi: Likewise.
30609
30610 2010-04-03  Bruno Haible  <bruno@clisp.org>
30611
30612         time: Fix regression introduced on 2010-03-08.
30613         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
30614         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
30615
30616 2010-04-03  Jim Meyering  <meyering@redhat.com>
30617
30618         maint.mk: don't silently disable project-specific syntax-check rules
30619         * top/maint.mk (_prohibit_regexp): Define, to help people realize
30620         that they need to convert their project-specific syntax-check rules
30621         to use the new _sc_search_regexp.
30622
30623 2010-04-03  Bruno Haible  <bruno@clisp.org>
30624
30625         fchdir: Fix regression introduced on 2010-03-08.
30626         * lib/unistd.in.h (fchdir): Fix declaration.
30627         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
30628         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
30629         REPLACE_FCHDIR.
30630         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
30631         REPLACE_FCHDIR.
30632
30633 2010-04-03  Bruno Haible  <bruno@clisp.org>
30634
30635         getpagesize: Fix C++ test error on mingw.
30636         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
30637         system does not declare the function.
30638         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
30639         declared.
30640         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30641         HAVE_DECL_GETPAGESIZE.
30642         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
30643
30644 2010-04-03  Bruno Haible  <bruno@clisp.org>
30645
30646         stdio: Make C++ tests work on mingw.
30647         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
30648         does not declare the function.
30649
30650 2010-04-03  Bruno Haible  <bruno@clisp.org>
30651
30652         ftello: Fix C++ test error on mingw.
30653         * lib/stdio.in.h (ftello): Use modern idiom.
30654         * lib/ftello.c (ftello): Renamed from rpl_ftello.
30655         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
30656         is missing and that it needs to be replaced.
30657         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
30658         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
30659         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
30660
30661 2010-04-03  Bruno Haible  <bruno@clisp.org>
30662
30663         fseeko: Fix C++ test error on mingw.
30664         * lib/stdio.in.h (fseeko): Use modern idiom.
30665         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
30666         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
30667         is missing and that it needs to be replaced.
30668         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
30669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
30670         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
30671
30672 2010-04-03  Bruno Haible  <bruno@clisp.org>
30673
30674         mkstemp: Fix C++ test error on mingw.
30675         * lib/stdlib.in.h (mkstemp): Use modern idiom.
30676         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
30677         function is missing and that it needs to be replaced.
30678         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
30679         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
30680
30681 2010-04-03  Bruno Haible  <bruno@clisp.org>
30682
30683         stpncpy: Fix C++ test error on mingw.
30684         * lib/string.in.h (stpncpy): Use modern idiom.
30685         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
30686         function is missing and that it needs to be replaced.
30687         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30688         REPLACE_STPNCPY.
30689         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
30690
30691 2010-04-03  Bruno Haible  <bruno@clisp.org>
30692
30693         sys_stat: Fix C++ test error on mingw.
30694         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
30695         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
30696
30697 2010-04-03  Bruno Haible  <bruno@clisp.org>
30698
30699         pty: Update doc.
30700         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
30701
30702 2010-04-03  Bruno Haible  <bruno@clisp.org>
30703
30704         unistd: Fix C++ test error on mingw.
30705         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
30706
30707 2010-04-03  Bruno Haible  <bruno@clisp.org>
30708
30709         Update doc regarding mingw.
30710         * doc/glibc-functions/openpty.texi: Update regarding mingw.
30711         * doc/glibc-functions/login_tty.texi: Likewise.
30712         * doc/glibc-functions/forkpty.texi: Likewise.
30713
30714 2010-04-03  Bruno Haible  <bruno@clisp.org>
30715
30716         stdlib: Avoid compilation failure of c-strtold on mingw.
30717         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
30718
30719 2010-04-03  Bruno Haible  <bruno@clisp.org>
30720
30721         locale: Make C++ tests work on Cygwin and mingw.
30722         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
30723         cannot provide the function.
30724         Reported by Simon Josefsson.
30725
30726 2010-04-03  Bruno Haible  <bruno@clisp.org>
30727
30728         localename: Port to MacOS X 10.6.
30729         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
30730         memory layout of the locales in MacOS X 10.6 as well.
30731         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
30732
30733 2010-04-02  Bruno Haible  <bruno@clisp.org>
30734
30735         gnulib-tool: Ensure that long-running tests are executed last.
30736         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
30737         running tests after the one for the other tests.
30738
30739 2010-04-02  Bruno Haible  <bruno@clisp.org>
30740
30741         gnulib-tool: Ensure the tests in the main directory are executed first.
30742         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
30743         start with the current directory.
30744
30745 2010-04-02  Bruno Haible  <bruno@clisp.org>
30746
30747         Tests for module 'havelib', moved here from GNU gettext.
30748         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
30749         modifications.
30750         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
30751         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
30752         with modifications.
30753         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
30754         modifications.
30755         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
30756         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
30757         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
30758         with modifications.
30759         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
30760         with modifications.
30761         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
30762         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
30763         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
30764         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
30765         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
30766         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
30767         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
30768         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
30769         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
30770         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
30771         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
30772         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
30773         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
30774         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
30775         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
30776         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
30777         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
30778         with modifications.
30779         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
30780         with modifications.
30781         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
30782         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
30783         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
30784         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
30785         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
30786         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
30787         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
30788         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
30789         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
30790         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
30791         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
30792         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
30793         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
30794         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
30795         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
30796         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
30797         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
30798         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
30799         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
30800         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
30801         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
30802         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
30803         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
30804         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
30805         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
30806         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
30807         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
30808         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
30809         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
30810         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
30811         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
30812         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
30813         * tests/havelib/rpathx/rpathx.c: New file, from
30814         gettext/autoconf-lib-link.
30815         * tests/havelib/rpathx/Makefile.am: New file, from
30816         gettext/autoconf-lib-link.
30817         * tests/havelib/rpathx/configure.ac: New file, from
30818         gettext/autoconf-lib-link with modifications.
30819         * tests/havelib/rpathy/rpathy.c: New file, from
30820         gettext/autoconf-lib-link.
30821         * tests/havelib/rpathy/Makefile.am: New file, from
30822         gettext/autoconf-lib-link.
30823         * tests/havelib/rpathy/configure.ac: New file, from
30824         gettext/autoconf-lib-link with modifications.
30825         * tests/havelib/rpathz/rpathz.c: New file, from
30826         gettext/autoconf-lib-link.
30827         * tests/havelib/rpathz/Makefile.am: New file, from
30828         gettext/autoconf-lib-link.
30829         * tests/havelib/rpathz/configure.ac: New file, from
30830         gettext/autoconf-lib-link with modifications.
30831         * tests/havelib/rpathlx/usex.c: New file, from
30832         gettext/autoconf-lib-link.
30833         * tests/havelib/rpathlx/Makefile.am: New file, from
30834         gettext/autoconf-lib-link.
30835         * tests/havelib/rpathlx/configure.ac: New file, from
30836         gettext/autoconf-lib-link with modifications.
30837         * tests/havelib/rpathly/usey.c: New file, from
30838         gettext/autoconf-lib-link.
30839         * tests/havelib/rpathly/Makefile.am: New file, from
30840         gettext/autoconf-lib-link.
30841         * tests/havelib/rpathly/configure.ac: New file, from
30842         gettext/autoconf-lib-link with modifications.
30843         * tests/havelib/rpathlz/usez.c: New file, from
30844         gettext/autoconf-lib-link.
30845         * tests/havelib/rpathlz/Makefile.am: New file, from
30846         gettext/autoconf-lib-link.
30847         * tests/havelib/rpathlz/configure.ac: New file, from
30848         gettext/autoconf-lib-link with modifications.
30849         * tests/havelib/rpathlyx/usey.c: New file, from
30850         gettext/autoconf-lib-link.
30851         * tests/havelib/rpathlyx/Makefile.am: New file, from
30852         gettext/autoconf-lib-link.
30853         * tests/havelib/rpathlyx/configure.ac: New file, from
30854         gettext/autoconf-lib-link with modifications.
30855         * tests/havelib/rpathlzyx/usez.c: New file, from
30856         gettext/autoconf-lib-link.
30857         * tests/havelib/rpathlzyx/Makefile.am: New file, from
30858         gettext/autoconf-lib-link.
30859         * tests/havelib/rpathlzyx/configure.ac: New file, from
30860         gettext/autoconf-lib-link with modifications.
30861         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
30862         with modifications.
30863
30864 2010-04-02  Bruno Haible  <bruno@clisp.org>
30865
30866         gnulib-tool: Create distributed built sources also for the tests.
30867         * gnulib-tool (func_create_testdir): Also generate distributed built
30868         sources in the tests directory.
30869
30870 2010-04-02  Bruno Haible  <bruno@clisp.org>
30871
30872         gnulib-tool: Obey user's environment variables.
30873         * gnulib-tool (func_create_testdir): When creating built sources,
30874         respect the environment variables for autoconf, automake, etc. given by
30875         the user.
30876
30877 2010-04-02  Bruno Haible  <bruno@clisp.org>
30878
30879         gnulib-tool: Provide the value of --m4-base to modules.
30880         * gnulib-tool (func_import, func_create_testdir): Emit a definition
30881         of gl_m4_base.
30882
30883 2010-04-02  Eric Blake  <eblake@redhat.com>
30884
30885         maint.mk: fix some fallout
30886         * NEWS: Document the incompatible change, and its effect on cfg.mk.
30887         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
30888
30889 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30890
30891         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
30892         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
30893         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
30894         (sc_cast_of_x_alloc_return_value): Likewise.
30895         (sc_cast_of_alloca_return_value): Likewise.
30896         (sc_space_tab): Likewise.
30897         (sc_prohibit_atoi_atof): Likewise.
30898         (sc_prohibit_magic_number_exit): Likewise.
30899         (sc_error_exit_success): Likewise.
30900         (sc_file_system): Likewise.
30901         (sc_prohibit_have_config_h): Likewise.
30902         (sc_require_config_h): Likewise.
30903         (sc_prohibit_HAVE_MBRTOWC): Likewise.
30904         (sc_obsolete_symbols): Likewise.
30905         (sc_changelog): Likewise.
30906         (sc_program_name): Likewise.
30907         (sc_the_the): Likewise.
30908         (sc_trailing_blank): Likewise.
30909         (sc_two_space_separator_in_usage): Likewise.
30910         (sc_useless_cpp_parens): Likewise.
30911         (sc_GPL_version): Likewise.
30912         (sc_GFDL_version): Likewise.
30913         (sc_texinfo_acronym): Likewise.
30914         (sc_prohibit_cvs_keyword): Likewise.
30915         (sc_prohibit_stat_st_blocks): Likewise.
30916         (sc_prohibit_S_IS_definition): Likewise.
30917         (sc_redundant_const): Likewise.
30918         (sc_makefile_TAB_only_indentation): Likewise.
30919         (sc_m4_quote_check): Likewise.
30920         (sc_makefile_path_separator_check): Likewise.
30921         (sc_copyright_check): Likewise.
30922         (sc_Wundef_boolean): Likewise.
30923         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30924
30925         maint.mk: match 0 or more whitespace-before-function-call '('
30926         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
30927         that have zero or two-and-more spaces between the function name
30928         and the open parenthesis.
30929         (sc_error_message_warn_fatal): Likewise.
30930         (sc_error_message_uppercase): Likewise.
30931         (sc_error_message_period): Likewise.
30932
30933 2010-03-31  Eric Blake  <eblake@redhat.com>
30934
30935         maint.mk: check for [ as well as test
30936         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
30937         Based on a libvirt report by Matthias Bolte.
30938
30939         gnumakefile: don't squelch _version output
30940         * top/GNUmakefile (_version): Create one-shot dependency rather
30941         than using $(shell) when version must be regenerated.
30942         (_autoreconf): Run verbosely, by default.
30943
30944         sys_time: avoid compiler warnings
30945         * lib/sys_time.in.h (includes): Ensure gcc pragma is
30946         unconditional, fixing regression from 2010-03-29.
30947         Reported by Simon Josefsson.
30948
30949 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
30950
30951         maint.mk: s/_header_without_use/_sc_header_without_use/
30952         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
30953         (sc_prohibit_assert_without_use): Use the new name.
30954         (sc_prohibit_close_stream_without_use): Likewise.
30955         (sc_prohibit_getopt_without_use): Likewise.
30956         (sc_prohibit_quotearg_without_use): Likewise.
30957         (sc_prohibit_quote_without_use): Likewise.
30958         (sc_prohibit_long_options_without_use): Likewise.
30959         (sc_prohibit_inttostr_without_use): Likewise.
30960         (sc_prohibit_ignore_value_without_use): Likewise.
30961         (sc_prohibit_error_without_use): Likewise.
30962         (sc_prohibit_xalloc_without_use): Likewise.
30963         (sc_prohibit_hash_without_use): Likewise.
30964         (sc_prohibit_hash_pjw_without_use): Likewise.
30965         (sc_prohibit_safe_read_without_use): Likewise.
30966         (sc_prohibit_argmatch_without_use): Likewise.
30967         (sc_prohibit_canonicalize_without_use): Likewise.
30968         (sc_prohibit_root_dev_ino_without_use): Likewise.
30969         (sc_prohibit_openat_without_use): Likewise.
30970         (sc_prohibit_c_ctype_without_use): Likewise.
30971         (sc_prohibit_signal_without_use): Likewise.
30972         (sc_prohibit_intprops_without_use): Likewise.
30973
30974 2010-03-30  Eric Blake  <eblake@redhat.com>
30975
30976         maint: improve module indicators
30977         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
30978         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
30979         columns, and avoid extra macro expansion.
30980
30981         fdopendir: work around FreeBSD bug
30982         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
30983         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
30984         * modules/dirent (Makefile.am): Substitute it.
30985         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
30986         declaration.
30987         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
30988         fix.
30989         Reported by Christian Weisgerber <naddy@mips.inka.de>.
30990
30991 2010-03-29  Bruno Haible  <bruno@clisp.org>
30992
30993         Emit #pragma system_header after the inclusion guard, not before.
30994         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
30995         guard that spans the entire file, not before. This enables an
30996         optimization in GCC's preprocessor.
30997         * lib/ctype.in.h: Likewise.
30998         * lib/dirent.in.h: Likewise.
30999         * lib/errno.in.h: Likewise.
31000         * lib/float.in.h: Likewise.
31001         * lib/getopt.in.h: Likewise.
31002         * lib/iconv.in.h: Likewise.
31003         * lib/langinfo.in.h: Likewise.
31004         * lib/locale.in.h: Likewise.
31005         * lib/math.in.h: Likewise.
31006         * lib/netdb.in.h: Likewise.
31007         * lib/netinet_in.in.h: Likewise.
31008         * lib/pty.in.h: Likewise.
31009         * lib/sched.in.h: Likewise.
31010         * lib/se-selinux.in.h: Likewise.
31011         * lib/search.in.h: Likewise.
31012         * lib/spawn.in.h: Likewise.
31013         * lib/stdarg.in.h: Likewise.
31014         * lib/stdint.in.h: Likewise.
31015         * lib/string.in.h: Likewise.
31016         * lib/strings.in.h: Likewise.
31017         * lib/sys_file.in.h: Likewise.
31018         * lib/sys_ioctl.in.h: Likewise.
31019         * lib/sys_time.in.h: Likewise.
31020         * lib/sys_times.in.h: Likewise.
31021         * lib/sys_utsname.in.h: Likewise.
31022         * lib/sys_wait.in.h: Likewise.
31023         * lib/sysexits.in.h: Likewise.
31024         * lib/wctype.in.h: Likewise.
31025
31026 2010-03-28  James Youngman  <jay@gnu.org>
31027
31028         save-cwd: don't leak a file descriptor when the caller execs.
31029         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
31030         saved file descriptor.
31031         * modules/save-cwd (Depends-on): Depend on cloexec.
31032
31033 2010-03-29  Bruno Haible  <bruno@clisp.org>
31034
31035         Remove vestiges of fts-lgpl module.
31036         * lib/fts_.h: Assume GNULIB_FTS is 1.
31037         * lib/fts.c: Likewise.
31038         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31039
31040 2010-03-28  Bruno Haible  <bruno@clisp.org>
31041
31042         Fix definition of tests witness macro.
31043         * gnulib-tool (func_import): Fix definition of witness macro.
31044
31045 2010-03-28  Bruno Haible  <bruno@clisp.org>
31046
31047         Fix ioctl's protoype on glibc systems.
31048         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
31049         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
31050         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
31051         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
31052         signature. If not, arrange to replace the ioctl function.
31053         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
31054         REPLACE_IOCTL.
31055         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
31056         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
31057         Reported by Ludovic Courtès <ludo@gnu.org>.
31058
31059 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
31060
31061         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
31062         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
31063         made it so grep -r --include=GLOB* ... did not work.
31064
31065 2010-03-26  Jim Meyering  <meyering@redhat.com>
31066             Eric Blake  <eblake@redhat.com>
31067
31068         maint.mk: prohibit use of test's -o and -a operators
31069         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
31070
31071 2010-03-28  Bruno Haible  <bruno@clisp.org>
31072
31073         Remove unused GNULIB_XYZ macro definitions.
31074         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
31075         invocation.
31076
31077 2010-03-28  Bruno Haible  <bruno@clisp.org>
31078
31079         Mark privileged tests modules.
31080         * modules/idpriv-drop-tests (Status): New section.
31081         * modules/idpriv-droptemp-tests (Status): New section.
31082
31083 2010-03-28  Bruno Haible  <bruno@clisp.org>
31084
31085         Split C++ tests into separate tests modules.
31086         * modules/dirent-c++-tests: New file, extracted from
31087         modules/dirent-tests.
31088         * modules/dirent-tests: Depend on it.
31089         * modules/fcntl-h-c++-tests: New file, extracted from
31090         modules/fcntl-h-tests.
31091         * modules/fcntl-h-tests: Depend on it.
31092         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
31093         * modules/glob-tests: Depend on it.
31094         * modules/iconv-h-c++-tests: New file, extracted from
31095         modules/iconv-h-tests.
31096         * modules/iconv-h-tests: Depend on it.
31097         * modules/langinfo-c++-tests: New file, extracted from
31098         modules/langinfo-tests.
31099         * modules/langinfo-tests: Depend on it.
31100         * modules/locale-c++-tests: New file, extracted from
31101         modules/locale-tests.
31102         * modules/locale-tests: Depend on it.
31103         * modules/math-c++-tests: New file, extracted from modules/math-tests.
31104         * modules/math-tests: Depend on it.
31105         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
31106         * modules/pty-tests: Depend on it.
31107         * modules/search-c++-tests: New file, extracted from
31108         modules/search-tests.
31109         * modules/search-tests: Depend on it.
31110         * modules/signal-c++-tests: New file, extracted from
31111         modules/signal-tests.
31112         * modules/signal-tests: Depend on it.
31113         * modules/spawn-c++-tests: New file, extracted from
31114         modules/spawn-tests.
31115         * modules/spawn-tests: Depend on it.
31116         * modules/stdio-c++-tests: New file, extracted from
31117         modules/stdio-tests.
31118         * modules/stdio-tests: Depend on it.
31119         * modules/stdlib-c++-tests: New file, extracted from
31120         modules/stdlib-tests.
31121         * modules/stdlib-tests: Depend on it.
31122         * modules/string-c++-tests: New file, extracted from
31123         modules/string-tests.
31124         * modules/string-tests: Depend on it.
31125         * modules/sys_ioctl-c++-tests: New file, extracted from
31126         modules/sys_ioctl-tests.
31127         * modules/sys_ioctl-tests: Depend on it.
31128         * modules/sys_select-c++-tests: New file, extracted from
31129         modules/sys_select-tests.
31130         * modules/sys_select-tests: Depend on it.
31131         * modules/sys_socket-c++-tests: New file, extracted from
31132         modules/sys_socket-tests.
31133         * modules/sys_socket-tests: Depend on it.
31134         * modules/sys_stat-c++-tests: New file, extracted from
31135         modules/sys_stat-tests.
31136         * modules/sys_stat-tests: Depend on it.
31137         * modules/sys_time-c++-tests: New file, extracted from
31138         modules/sys_time-tests.
31139         * modules/sys_time-tests: Depend on it.
31140         * modules/time-c++-tests: New file, extracted from modules/time-tests.
31141         * modules/time-tests: Depend on it.
31142         * modules/unistd-c++-tests: New file, extracted from
31143         modules/unistd-tests.
31144         * modules/unistd-tests: Depend on it.
31145         * modules/wchar-c++-tests: New file, extracted from
31146         modules/wchar-tests.
31147         * modules/wchar-tests: Depend on it.
31148         * modules/wctype-c++-tests: New file, extracted from
31149         modules/wctype-tests.
31150         * modules/wctype-tests: Depend on it.
31151         Reported by Simon Josefsson.
31152
31153 2010-03-28  Bruno Haible  <bruno@clisp.org>
31154
31155         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
31156         * gnulib-tool (func_exists_module): New function, extracted from
31157         func_verify_module.
31158         (func_verify_module): Use it.
31159         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
31160         'foo' only if 'foo' exists.
31161         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
31162         module.
31163
31164 2010-03-28  Bruno Haible  <bruno@clisp.org>
31165
31166         gnulib-tool: Add support for special categories of tests.
31167         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
31168         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
31169         (func_usage): Document them.
31170         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
31171         inc_unportable_tests, inc_all_tests): New variables.
31172         (func_acceptable): Consider these variables.
31173         (func_modules_transitive_closure): Make it work when the 'Status' field
31174         consists of multiple words.
31175         (func_import): Store and restore the values of inc_cxx_tests,
31176         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
31177         inc_all_tests in gnulib-comp.m4.
31178         (func_create_testdir): Set inc_all_tests to true.
31179         * doc/gnulib.texi (Extra tests modules): New section.
31180         Suggested by Jim Meyering.
31181
31182 2010-03-28  Bruno Haible  <bruno@clisp.org>
31183
31184         ansi-c++-opt: Allow turning off the C++ build by default.
31185         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
31186         gl_CXX_CHOICE_DEFAULT_NO is defined.
31187         Requested by Eric Blake.
31188
31189 2010-03-28  Bruno Haible  <bruno@clisp.org>
31190
31191         unistd: Avoid #define replacements in C++ mode.
31192         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
31193         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
31194         setsockopt, shutdown, select): In C++, attach a warning to the function
31195         if possible, rather than #defining the symbol to a dysfunctional alias.
31196         Reported by John W. Eaton <jwe@gnu.org>.
31197
31198 2010-03-28  Bruno Haible  <bruno@clisp.org>
31199
31200         Fix link errors on mingw.
31201         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
31202         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
31203         $(LIBSOCKET).
31204         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
31205         $(LIBSOCKET).
31206
31207 2010-03-28  Bruno Haible  <bruno@clisp.org>
31208             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31209
31210         lib-ignore: Determine different options for different compilers.
31211         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
31212         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
31213         Add comments.
31214         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
31215         * NEWS: Mention the change.
31216
31217 2010-03-27  Bruno Haible  <bruno@clisp.org>
31218
31219         Remove unused GNULIB_XYZ macro definitions.
31220         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31221         * modules/fseek (configure.ac): Likewise.
31222         * modules/ioctl (configure.ac): Likewise.
31223         * modules/open (configure.ac): Likewise.
31224         * modules/stdlib-safer (configure.ac): Likewise.
31225
31226 2010-03-27  Bruno Haible  <bruno@clisp.org>
31227
31228         Add a remark about certain modules.
31229         * modules/malloc (Comment): New section.
31230         * modules/realloc (Comment): Likewise.
31231         * modules/sigpipe (Comment): Likewise.
31232
31233 2010-03-27  Bruno Haible  <bruno@clisp.org>
31234
31235         Resolve conflict between the two kinds of module indicators.
31236         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
31237         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
31238         * modules/canonicalize (configure.ac): Invoke
31239         gl_MODULE_INDICATOR_FOR_TESTS.
31240         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
31241         GNULIB_XYZ.
31242         * tests/test-dirent-c++.cc: Likewise.
31243         * tests/test-dirent-safer.c: Likewise.
31244         * tests/test-dup2.c: Likewise.
31245         * tests/test-fchdir.c: Likewise.
31246         * tests/test-fcntl-h-c++.cc: Likewise.
31247         * tests/test-getopt.c: Likewise.
31248         * tests/test-getopt.h: Likewise.
31249         * tests/test-langinfo-c++.cc: Likewise.
31250         * tests/test-locale-c++.cc: Likewise.
31251         * tests/test-math-c++.cc: Likewise.
31252         * tests/test-pty-c++.cc: Likewise.
31253         * tests/test-search-c++.cc: Likewise.
31254         * tests/test-signal-c++.cc: Likewise.
31255         * tests/test-spawn-c++.cc: Likewise.
31256         * tests/test-stdio-c++.cc: Likewise.
31257         * tests/test-stdlib-c++.cc: Likewise.
31258         * tests/test-string-c++.cc: Likewise.
31259         * tests/test-sys_ioctl-c++.cc: Likewise.
31260         * tests/test-sys_select-c++.cc: Likewise.
31261         * tests/test-sys_socket-c++.cc: Likewise.
31262         * tests/test-sys_stat-c++.cc: Likewise.
31263         * tests/test-sys_time-c++.cc: Likewise.
31264         * tests/test-time-c++.cc: Likewise.
31265         * tests/test-unistd-c++.cc: Likewise.
31266         * tests/test-wchar-c++.cc: Likewise.
31267         * tests/uninorm/test-u8-nfc.c: Likewise.
31268         * tests/uninorm/test-u8-nfd.c: Likewise.
31269         * tests/uninorm/test-u8-nfkc.c: Likewise.
31270         * tests/uninorm/test-u8-nfkd.c: Likewise.
31271         * tests/uninorm/test-u16-nfc.c: Likewise.
31272         * tests/uninorm/test-u16-nfd.c: Likewise.
31273         * tests/uninorm/test-u16-nfkc.c: Likewise.
31274         * tests/uninorm/test-u16-nfkd.c: Likewise.
31275         * tests/uninorm/test-u32-nfc.c: Likewise.
31276         * tests/uninorm/test-u32-nfc-big.c: Likewise.
31277         * tests/uninorm/test-u32-nfd.c: Likewise.
31278         * tests/uninorm/test-u32-nfd-big.c: Likewise.
31279         * tests/uninorm/test-u32-nfkc.c: Likewise.
31280         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
31281         * tests/uninorm/test-u32-nfkd.c: Likewise.
31282         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
31283         * tests/uninorm/test-u32-normalize-big.c: Likewise.
31284
31285 2010-03-27  Bruno Haible  <bruno@clisp.org>
31286
31287         Distinguish two kinds of module indicators.
31288         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
31289         gl_MODULE_INDICATOR.
31290         (gl_MODULE_INDICATOR): New macro.
31291         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
31292         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
31293         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31294         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31295         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31296         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31297         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31298         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31299         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31300         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31301         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31302         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31303         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31304         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31305         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31306         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31307         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31308         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31309         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31310         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31311         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31312         * modules/cloexec (configure.ac): Likewise.
31313         * modules/getopt-gnu (configure.ac): Likewise.
31314         * modules/uninorm/u8-normalize (configure.ac): Likewise.
31315         * modules/uninorm/u16-normalize (configure.ac): Likewise.
31316         * modules/uninorm/u32-normalize (configure.ac): Likewise.
31317         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
31318
31319 2010-03-27  Bruno Haible  <bruno@clisp.org>
31320
31321         New module description field 'Comment'.
31322         * gnulib-tool: New option --extract-comment.
31323         (func_usage): Document it.
31324         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
31325         (func_get_comment): New function.
31326         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
31327
31328 2010-03-27  Bruno Haible  <bruno@clisp.org>
31329
31330         Addendum to 2010-02-07 commit.
31331         * gnulib-tool (func_usage): Document --extract-applicability option.
31332
31333 2010-03-27  Bruno Haible  <bruno@clisp.org>
31334
31335         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
31336         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
31337         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
31338         rather than link errors.
31339
31340 2010-03-27  Bruno Haible  <bruno@clisp.org>
31341
31342         Avoid side effects from tests-related modules on the compilation of lib.
31343         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
31344         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
31345         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
31346         parameter. Emit into AM_CPPFLAGS a definition of the designated C
31347         macro.
31348         (func_import): Define a witness macro. Assign it a value that depends
31349         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
31350         tests-related modules.
31351         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
31352         Reported by Jim Meyering.
31353
31354 2010-03-27  Bruno Haible  <bruno@clisp.org>
31355
31356         Factorize common .m4 code.
31357         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
31358         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
31359         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
31360         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
31361         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
31362         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
31363         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
31364         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
31365         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
31366         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
31367         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
31368         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
31369         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
31370         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
31371         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
31372         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
31373         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
31374         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
31375         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
31376         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
31377         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
31378         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
31379         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
31380         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
31381         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
31382         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
31383         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
31384         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
31385         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
31386         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
31387         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
31388         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
31389
31390 2010-03-27  Bruno Haible  <bruno@clisp.org>
31391
31392         Fix a compilation error on Cygwin with g++ >= 4.3.
31393         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
31394         if it is undefined or if we alias it to chmod.
31395         (lstat): Don't warn about the use of this function if it is undefined
31396         or if we alias it to stat.
31397         Reported by Simon Josefsson.
31398
31399 2010-03-27  Bruno Haible  <bruno@clisp.org>
31400
31401         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
31402         * modules/getlogin (configure.ac): Update.
31403
31404         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
31405         * modules/getlogin_r (configure.ac): Update.
31406
31407         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
31408         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
31409         * modules/inet_ntop (configure.ac): Update.
31410
31411         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
31412         * modules/inet_pton (configure.ac): Update.
31413
31414         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
31415         * modules/mbslen (configure.ac): Update.
31416
31417         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
31418         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
31419         * modules/forkpty (configure.ac): Update.
31420         * modules/openpty (configure.ac): Update.
31421
31422 2010-03-26  Simon Josefsson  <simon@josefsson.org>
31423
31424         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
31425         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
31426
31427 2010-03-25  Eric Blake  <eblake@redhat.com>
31428
31429         maint: use pragma consistently across replacement headers
31430         * lib/ctype.in.h (system_header): Hoist for consistent placement.
31431         * lib/dirent.in.h (system_header): Likewise.
31432         * lib/errno.in.h (system_header): Likewise.
31433         * lib/float.in.h (system_header): Likewise.
31434         * lib/getopt.in.h (system_header): Likewise.
31435         * lib/iconv.in.h (system_header): Likewise.
31436         * lib/inttypes.in.h (system_header): Likewise.
31437         * lib/langinfo.in.h (system_header): Likewise.
31438         * lib/locale.in.h (system_header): Likewise.
31439         * lib/math.in.h (system_header): Likewise.
31440         * lib/netdb.in.h (system_header): Likewise.
31441         * lib/netinet_in.in.h (system_header): Likewise.
31442         * lib/pty.in.h (system_header): Likewise.
31443         * lib/sched.in.h (system_header): Likewise.
31444         * lib/se-selinux.in.h (system_header): Likewise.
31445         * lib/search.in.h (system_header): Likewise.
31446         * lib/spawn.in.h (system_header): Likewise.
31447         * lib/stdarg.in.h (system_header): Likewise.
31448         * lib/stdint.in.h (system_header): Likewise.
31449         * lib/string.in.h (system_header): Likewise.
31450         * lib/strings.in.h (system_header): Likewise.
31451         * lib/sys_file.in.h (system_header): Likewise.
31452         * lib/sys_ioctl.in.h (system_header): Likewise.
31453         * lib/sys_socket.in.h (system_header): Likewise.
31454         * lib/sys_times.in.h (system_header): Likewise.
31455         * lib/sys_utsname.in.h (system_header): Likewise.
31456         * lib/sys_wait.in.h (system_header): Likewise.
31457         * lib/sysexits.in.h (system_header): Likewise.
31458         * lib/unistd.in.h (system_header): Likewise.
31459         * lib/wctype.in.h (system_header): Likewise.
31460
31461         arpa/inet: fix mingw compilation warning
31462         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
31463         Reported by Matthew Bolte.
31464
31465 2010-03-25  Bruno Haible  <bruno@clisp.org>
31466
31467         Avoid collision between gnulib wrapper and libintl wrapper.
31468         * lib/printf.c (printf): Don't define if a printf wrapper is already
31469         defined in intl/printf.c.
31470         Reported by Michel Boaventura <michel@michelboaventura.com>.
31471
31472 2010-03-25  Bruno Haible  <bruno@clisp.org>
31473
31474         Use ANSI C.
31475         * lib/readutmp.h (getutent): Provide ANSI C prototype.
31476
31477 2010-03-25  Bruno Haible  <bruno@clisp.org>
31478
31479         Minor formatting changes.
31480         * lib/acosl.c: Insert space before function argument list.
31481         * lib/argz.c: Likewise.
31482         * lib/asinl.c: Likewise.
31483         * lib/expl.c: Likewise.
31484         * lib/gen-uni-tables.c: Likewise.
31485         * lib/gettext.h: Likewise.
31486         * lib/glthread/lock.h: Likewise.
31487         * lib/tanl.c: Likewise.
31488         * lib/uniname/uniname.c: Likewise.
31489         * tests/test-idpriv-drop.c: Likewise.
31490         * tests/test-idpriv-droptemp.c: Likewise.
31491         * tests/test-lock.c: Likewise.
31492         * tests/test-tls.c: Likewise.
31493         * lib/argp-help.c: Insert space before function-like macro argument
31494         list.
31495         * lib/memcmp.c: Likewise.
31496         * tests/test-base64.c: Likewise.
31497         * lib/localename.c: Insert space before sizeof's argument list.
31498         * lib/safe-alloc.h: Likewise.
31499         * lib/file-set.h: Insert space before macro argument list.
31500         * tests/test-argp.c: Likewise.
31501         * lib/argp-namefrob.h: Insert space before function parameter list.
31502         * lib/getaddrinfo.c: Likewise.
31503         * lib/netdb.in.h: Likewise.
31504         * lib/parse-duration.h: Likewise.
31505         * lib/parse-duration.c: Likewise.
31506         * lib/poll.c: Likewise.
31507         * lib/select.c: Likewise.
31508         * lib/trim.h: Likewise.
31509         * tests/test-usleep.c: Likewise.
31510         * lib/ldexpl.c: Insert space before function parameter list and before
31511         function argument list.
31512         * lib/logl.c: Likewise.
31513         * lib/sqrtl.c: Likewise.
31514         * lib/trim.c: Likewise.
31515         * lib/cosl.c: Use GNU style indentation. Insert space before function
31516         argument list.
31517         * lib/sinl.c: Likewise.
31518         * lib/tsearch.c: Insert space after 'for'.
31519         Reported by Jim Meyering.
31520
31521 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
31522
31523         * maint.mk (sc_Wundef_boolean): Check for the presence of the
31524         config header before grepping, as it's not present before
31525         autoreconf/configure are run.  Reported by Simon Josefsson.
31526
31527 2010-03-23  Bruno Haible  <bruno@clisp.org>
31528
31529         pt_chown: Make it work with automake < 1.11.
31530         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
31531         Reported by Simon Josefsson.
31532
31533 2010-03-23  Bruno Haible  <bruno@clisp.org>
31534
31535         pt_chown: Don't depend on GPLed modules.
31536         * lib/pt_chown.c: Don't include idpriv.h.
31537         (main): Don't drop privileges.
31538         * modules/pt_chown (Depends-on): Remove idpriv-drop.
31539         Reported by Simon Josefsson.
31540
31541 2010-03-24  Simon Josefsson  <simon@josefsson.org>
31542
31543         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
31544         suggestions from karl@freefriends.org (Karl Berry).
31545
31546 2010-03-22  Eric Blake  <eblake@redhat.com>
31547
31548         gethostname: further tweaks
31549         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
31550         are overriding gethostname.
31551         Suggested by Bruno Haible.
31552
31553 2010-03-21  Bruno Haible  <bruno@clisp.org>
31554
31555         Fix comments.
31556         * lib/forkpty.c (rpl_forkpty): Fix comment.
31557         * lib/openpty.c (rpl_openpty): Likewise.
31558         Reported by Eric Blake.
31559
31560 2010-03-22  Eric Blake  <eblake@redhat.com>
31561
31562         gethostname: fix build on mingw
31563         * lib/unistd.in.h (includes): Work around fact that mingw
31564         <winsock2.h> re-includes <unistd.h>, by avoiding any
31565         redeclarations if we are being included by <winsock2.h>.
31566         Reported by Matthias Bolte.
31567
31568 2010-03-21  Bruno Haible  <bruno@clisp.org>
31569
31570         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31571         * lib/forkpty.c (forkpty): New replacement function, from glibc with
31572         modifications.
31573         * lib/pty.in.h (forkpty): Update declaration. Add comments.
31574         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
31575         provide the replacement.
31576         * modules/forkpty (Depends-on): Add openpty, login_tty.
31577         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
31578         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
31579         * doc/glibc-functions/forkpty.texi: More supported platforms.
31580         * config/srclist.txt: Add forkpty.c (commented).
31581
31582 2010-03-21  Bruno Haible  <bruno@clisp.org>
31583
31584         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
31585         (Makefile.am): Verify that PTY_LIB is defined.
31586
31587         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
31588
31589 2010-03-21  Bruno Haible  <bruno@clisp.org>
31590
31591         Tests for module 'login_tty'.
31592         * modules/login_tty-tests: New file.
31593         * tests/test-login_tty.c: New file.
31594
31595         New module 'login_tty'.
31596         * lib/login_tty.c: New file.
31597         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
31598         * modules/login_tty: New file.
31599         * doc/glibc-functions/login_tty.texi: Mention the new module.
31600
31601 2010-03-21  Bruno Haible  <bruno@clisp.org>
31602
31603         login_tty: Documentation.
31604         * doc/glibc-functions/login_tty.texi: New file.
31605         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
31606
31607 2010-03-21  Bruno Haible  <bruno@clisp.org>
31608
31609         pty: Consistent macro naming.
31610         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
31611         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
31612         * modules/pty (configure.ac): Update.
31613
31614 2010-03-21  Bruno Haible  <bruno@clisp.org>
31615
31616         Tests for openpty: Make stricter.
31617         * tests/test-openpty.c (main): Add test of canonical processing and
31618         erase.
31619         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
31620
31621         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
31622         * lib/openpty.c (openpty): New replacement function.
31623         * lib/pty.in.h: Include <termios.h>.
31624         (openpty): Update declaration. Add comments.
31625         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
31626         is not declared, arrange to provide the replacement. Check for _getpty
31627         and posix_openpt.
31628         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
31629         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
31630         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
31631         * modules/pty-tests (test_pty_c___LDADD): New variable.
31632         * doc/glibc-functions/openpty.texi: More supported platforms.
31633
31634 2010-03-21  Bruno Haible  <bruno@clisp.org>
31635
31636         setenv: Tweaks.
31637         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
31638         the test program.
31639         * doc/posix-functions/setenv.texi: Update platforms list.
31640
31641 2010-03-21  Bruno Haible  <bruno@clisp.org>
31642
31643         New module 'unlockpt'.
31644         * lib/unlockpt.c: New file, from glibc with modifications.
31645         * m4/unlockpt.m4: New file.
31646         * modules/unlockpt: New file.
31647         * lib/stdlib.in.h (unlockpt): New declaration.
31648         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
31649         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
31650         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
31651         HAVE_UNLOCKPT.
31652         * doc/posix-functions/unlockpt.texi: Mention the new module.
31653         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
31654         * config/srclist.txt: Add unlockpt.c (commented).
31655
31656 2010-03-21  Jim Meyering  <meyering@redhat.com>
31657
31658         maint.mk: prohibit inclusion of "intprops.h" without use
31659         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
31660
31661 2010-03-21  Bruno Haible  <bruno@clisp.org>
31662
31663         New module 'grantpt'.
31664         * lib/grantpt.c: New file, from glibc with modifications.
31665         * m4/grantpt.m4: New file.
31666         * modules/grantpt: New file.
31667         * lib/stdlib.in.h (grantpt): New declaration.
31668         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
31669         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
31670         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
31671         HAVE_GRANTPT.
31672         * doc/posix-functions/grantpt.texi: Mention the new module.
31673         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
31674         * config/srclist.txt: Add grantpt.c (commented).
31675
31676 2010-03-21  Bruno Haible  <bruno@clisp.org>
31677
31678         New module 'pt_chown'.
31679         * lib/pt_chown.c: New file, from glibc with modifications.
31680         * lib/pty-private.h: New file, from glibc with modifications.
31681         * modules/pt_chown: New file.
31682         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
31683
31684 2010-03-21  Bruno Haible  <bruno@clisp.org>
31685
31686         Tests for module 'ptsname'.
31687         * modules/ptsname-tests: New file.
31688         * tests/test-ptsname.c: New file.
31689
31690         New module 'ptsname'.
31691         * lib/ptsname.c: New file, from glibc with modifications.
31692         * m4/ptsname.m4: New file.
31693         * modules/ptsname: New file.
31694         * lib/stdlib.in.h (ptsname): New declaration.
31695         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
31696         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
31697         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
31698         HAVE_PTSNAME.
31699         * doc/posix-functions/ptsname.texi: Mention the new module.
31700         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
31701         * config/srclist.txt: Add ptsname.c (commented).
31702
31703 2010-03-21  Bruno Haible  <bruno@clisp.org>
31704
31705         Tests for module 'ttyname_r'.
31706         * modules/ttyname_r-tests: New file.
31707         * tests/test-ttyname_r.c: New file.
31708
31709         New module 'ttyname_r'.
31710         * lib/ttyname_r.c: New file.
31711         * m4/ttyname_r.m4: New file.
31712         * modules/ttyname_r: New file.
31713         * lib/unistd.in.h (ttyname_r): New declaration.
31714         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
31715         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
31716         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
31717         HAVE_TTYNAME_R.
31718         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
31719         * doc/posix-functions/ttyname_r.texi: Mention the new module.
31720
31721 2010-03-20  Bruno Haible  <bruno@clisp.org>
31722
31723         signal: Undefine macro definitions in C++ mode.
31724         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
31725         sigfillset): Undefine macro definitions from the system header in C++
31726         mode.
31727         Reported by John W. Eaton <jwe@gnu.org>.
31728
31729 2010-03-20  Bruno Haible  <bruno@clisp.org>
31730
31731         Ensure no #include statements inside extern "C" { ... }.
31732         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
31733         contain #include statements.
31734         * lib/time.in.h: Likewise.
31735
31736 2010-03-20  Bruno Haible  <bruno@clisp.org>
31737
31738         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
31739         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
31740         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
31741         Reported by John W. Eaton <jwe@gnu.org>.
31742
31743 2010-03-20  Bruno Haible  <bruno@clisp.org>
31744
31745         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
31746         Reported by Jim Meyering.
31747
31748 2010-03-20  Bruno Haible  <bruno@clisp.org>
31749
31750         pipe: Set errno upon failure.
31751         * lib/pipe.h: Specify that when -1 is returned, errno is set.
31752         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
31753         errno value in error message.
31754
31755 2010-03-20  Bruno Haible  <bruno@clisp.org>
31756             Jim Meyering  <meyering@redhat.com>
31757
31758         lchown: Avoid "unused variable" warning.
31759         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
31760
31761 2010-03-20  Bruno Haible  <bruno@clisp.org>
31762
31763         Work around unlink() bug on MacOS X 10.5.6.
31764         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
31765         attempting to unlink a parent directory.
31766         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
31767         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
31768         activate for the replacement function.
31769         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
31770
31771 2010-03-20  Bruno Haible  <bruno@clisp.org>
31772
31773         Fix link errors on Solaris 8.
31774         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
31775         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
31776
31777 2010-03-19  Jim Meyering  <meyering@redhat.com>
31778
31779         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
31780         The _LIBC implementation of build_range_exp correctly honors the
31781         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
31782         However, the non-_LIBC implementation would ignore that syntax-bit
31783         flag and return REG_ERANGE unconditionally.
31784         This change makes it honor that flag.
31785         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
31786         Make two pointer parameters "const".
31787         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
31788         (parse_bracket_exp): Update caller.
31789
31790         regex.m4: correct the reversed range endpoint ([b-a]) test
31791         * m4/regex.m4: When requiring that [b-a] evoke failure,
31792         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
31793         test pass once again for x86-based systems.
31794
31795 2010-03-19  Bruno Haible  <bruno@clisp.org>
31796
31797         scandir: Fix link error on Solaris 8.
31798         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
31799         macros.
31800
31801 2010-03-19  Bruno Haible  <bruno@clisp.org>
31802
31803         getusershell: Fix documentation.
31804         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
31805         module.
31806         * doc/glibc-functions/setusershell.texi: Likewise.
31807
31808         getusershell: Provide declaration, missing on Solaris 9.
31809         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
31810         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
31811         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
31812         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
31813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31814         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
31815         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
31816         HAVE_GETUSERSHELL.
31817         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
31818
31819 2010-03-19  Bruno Haible  <bruno@clisp.org>
31820
31821         wctype: Provide iswblank function.
31822         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
31823         exists and is fine.
31824         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
31825         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
31826         * tests/test-wctype.c (main): Re-enable the iswblank tests.
31827         * doc/posix-functions/iswblank.texi: Update.
31828
31829 2010-03-19  Bruno Haible  <bruno@clisp.org>
31830
31831         Tests of module 'pty' in C++ mode.
31832         * modules/pty-tests: New file.
31833         * tests/test-pty-c++.cc: New file.
31834         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
31835
31836 2010-03-19  Eric Blake  <eblake@redhat.com>
31837
31838         logb: fix documentation
31839         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
31840         1.5 declaration bug.
31841
31842         forkpty, openpty: prefer glibc's const-safe prototype
31843         * lib/forkpty.c (rpl_forkpty): New file.
31844         * lib/openpty.c (rpl_openpty): Likewise.
31845         * modules/forkpty (Files): Distribute it.
31846         * modules/openpty (Files): Likewise.
31847         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
31848         check...
31849         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
31850         replacement for for non-const BSD signature.
31851         * modules/pty (Makefile.am): Substitute witnesses.
31852         * lib/pty.in.h (forkpty, openpty): Declare replacements.
31853         * tests/test-forkpty.c: Update signature check.
31854         * tests/test-openpty.c: Likewise.
31855         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
31856         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31857
31858         forkpty, openpty: split functions into new modules
31859         * modules/pty (Makefile.am): Substitute new witnesses.
31860         (Libraries): Move library detection...
31861         * modules/forkpty: ...into new module.
31862         * modules/openpty: Another new module.
31863         * modules/pty-tests: Rename and split...
31864         * modules/forkpty-tests: ...to this...
31865         * modules/openpty-tests: ...and this.
31866         * tests/test-pty.c: Rename and split...
31867         * tests/test-forkpty.c: ...to this...
31868         * tests/test-openpty.c: ...and this.
31869         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
31870         (gl_PTY): Split library searching...
31871         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
31872         (gl_FORKPTY, gl_OPENPTY): New macros.
31873         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
31874         * NEWS: Mention the split.
31875         * MODULES.html.sh (Misc): Document the modules.
31876         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
31877         * doc/glibc-functions/openpty.texi (openpty): Likewise.
31878
31879         pty: improve replacement header
31880         * lib/pty.in.h: New file.
31881         * modules/pty (Files): Ship it.
31882         (Makefile.am): Always build replacement.
31883         * m4/pty.m4: Rename...
31884         * m4/pty_h.m4: ...to this.
31885         (gl_PTY): Modernize setting of witness macros; update check of
31886         forkpty to take proper advantage of cache.
31887         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
31888
31889         getopt: avoid compiler warning
31890         * lib/getopt.c (attribute_hidden): Remove unused macro.
31891
31892 2010-03-18  Bruno Haible  <bruno@clisp.org>
31893
31894         Fix link errors on Solaris 8.
31895         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
31896         * modules/search-tests (test_search_c___LDADD): Likewise.
31897         * modules/signal-tests (test_signal_c___LDADD): Likewise.
31898         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
31899         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
31900         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
31901         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
31902         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
31903         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
31904
31905 2010-03-18  Bruno Haible  <bruno@clisp.org>
31906
31907         Fix bug introduced on 2010-03-14.
31908         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
31909         (gl_SPAWN_H): Require it.
31910         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
31911         Reported by Simon Josefsson.
31912
31913 2010-03-18  Bruno Haible  <bruno@clisp.org>
31914
31915         Fix typo introduced on 2009-12-31.
31916         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
31917         posix_spawn_file_actions_adddup2.
31918
31919 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
31920         and Eric Blake  <eblake@redhat.com>
31921
31922         test-vc-list-files-git: make more robust
31923         * tests/test-vc-list-files-git.sh: Unset problematic environment
31924         variables.  Chain commands together.
31925
31926 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
31927
31928         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
31929         `AC_CHECK_DECL' invocation.
31930
31931 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
31932
31933         * lib/inttostr.c (inttostr): Make sure the invocation of verify
31934         appears before executable statements. Suggested by Petr Sumbera
31935         <Petr.Sumbera@Sun.COM>.
31936
31937 2010-03-14  Bruno Haible  <bruno@clisp.org>
31938
31939         * tests/test-flock.c (test_exclusive): Comment out a test that causes
31940         portability problems. Instead use a simpler test.
31941         (main): Check that invalid arguments are rejected only on Linux.
31942
31943 2010-03-14  Bruno Haible  <bruno@clisp.org>
31944
31945         Fix bug introduced on 2009-12-31.
31946         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
31947         gl_PREREQ_SYS_H_WINSOCK2 always.
31948         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
31949         SYS_SOCKET_H variable.
31950         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
31951         Update comments.
31952         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
31953         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31954         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31955         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31956         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
31957
31958 2010-03-14  Bruno Haible  <bruno@clisp.org>
31959
31960         Fix values returned by sinl, cosl.
31961         * lib/trigl.h: Add specification comments.
31962         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
31963         that combines the values from the precomputed table with the values of
31964         the Chebyshev polynomials.
31965
31966 2010-03-14  Bruno Haible  <bruno@clisp.org>
31967
31968         Fix compilation error when modules 'posix_spawn[p]' are not used.
31969         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
31970         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
31971
31972 2010-03-14  Bruno Haible  <bruno@clisp.org>
31973
31974         Fix compilation error on mingw when module 'time_r' is not used.
31975         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
31976         is 1.
31977         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
31978         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
31979         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
31980         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
31981
31982 2010-03-14  Bruno Haible  <bruno@clisp.org>
31983
31984         Fix compilation error with Sun C.
31985         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
31986         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
31987         instead of GCC specific ULONG_LONG_MAX.
31988         * lib/xstrtoll.c: Likewise.
31989         * lib/xstrtoull.c: Likewise.
31990
31991 2010-03-13  Bruno Haible  <bruno@clisp.org>
31992
31993         Allow the user to disable C++ code and tests.
31994         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
31995         (gl_PROG_ANSI_CXX): Require it.
31996
31997 2010-03-13  Bruno Haible  <bruno@clisp.org>
31998
31999         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
32000         cases.
32001
32002 2010-03-13  Bruno Haible  <bruno@clisp.org>
32003
32004         Test that gnulib does not break the standard C++ headers.
32005         * tests/test-locale-c++2.cc: New file.
32006         * modules/locale-tests (Files): Add it.
32007         (Makefile.am): Compile it for test-locale-c++.
32008         * tests/test-math-c++2.cc: New file.
32009         * modules/math-tests (Files): Add it.
32010         (Makefile.am): Compile it for test-math-c++.
32011         * tests/test-signal-c++2.cc: New file.
32012         * modules/signal-tests (Files): Add it.
32013         (Makefile.am): Compile it for test-signal-c++.
32014         * tests/test-stdio-c++2.cc: New file.
32015         * modules/stdio-tests (Files): Add it.
32016         (Makefile.am): Compile it for test-stdio-c++.
32017         * tests/test-stdlib-c++2.cc: New file.
32018         * modules/stdlib-tests (Files): Add it.
32019         (Makefile.am): Compile it for test-stdlib-c++.
32020         * tests/test-string-c++2.cc: New file.
32021         * modules/string-tests (Files): Add it.
32022         (Makefile.am): Compile it for test-string-c++.
32023         * tests/test-time-c++2.cc: New file.
32024         * modules/time-tests (Files): Add it.
32025         (Makefile.am): Compile it for test-time-c++.
32026         Reported by John W. Eaton <jwe@gnu.org>.
32027
32028 2010-03-13  Bruno Haible  <bruno@clisp.org>
32029
32030         * gnulib-tool (func_usage): Clarify which options are available for
32031         --create-testdir and --create-megatestdir.
32032
32033 2010-03-13  Bruno Haible  <bruno@clisp.org>
32034
32035         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
32036         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
32037         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
32038         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
32039         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
32040         when appropriate.
32041         Reported by Jim Meyering.
32042
32043 2010-03-12  Simon Josefsson  <simon@josefsson.org>
32044
32045         * gnulib-tool (func_import): Explain origin of code.
32046
32047 2010-03-12  Bruno Haible  <bruno@clisp.org>
32048
32049         Fix problem with automake's definition of CXXLINK.
32050         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
32051         Reported by Simon Josefsson and Ludovic Courtès.
32052
32053 2010-03-12  Bruno Haible  <bruno@clisp.org>
32054
32055         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
32056         stable releases.
32057
32058 2010-03-11  Bruno Haible  <bruno@clisp.org>
32059
32060         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
32061         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
32062         whether the system provides one variant or multiple variants of the
32063         function.
32064         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
32065         C++ compilers.
32066         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
32067         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
32068         Reported by Jim Meyering.
32069
32070 2010-03-09  Simon Josefsson  <simon@josefsson.org>
32071
32072         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
32073
32074 2010-03-08  Bruno Haible  <bruno@clisp.org>
32075
32076         gnulib-tool: Add support for --libtool in --create-testdir.
32077         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
32078         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
32079
32080 2010-03-08  Eric Blake  <eblake@redhat.com>
32081
32082         gnulib-tool.texi: mention possibility of git submodule
32083         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
32084         submodules.
32085         * doc/.gitignore: Ignore another generated file.
32086
32087 2010-03-08  Karl Berry  <karl@gnu.org>
32088
32089         * doc/gnulib-tool.texi (VCS Issues): Mention third option
32090         of committing gnulib files while skipping others.
32091
32092 2010-03-07  Bruno Haible  <bruno@clisp.org>
32093
32094         Tests of module 'wctype' in C++ mode.
32095         * tests/test-wctype-c++.cc: New file.
32096         * modules/wctype-tests (Files): Add it and tests/signature.h.
32097         (Depends-on): Add ansi-c++-opt.
32098         (Makefile.am): Arrange to compile and run test-wctype-c++.
32099
32100         Tests of module 'wchar' in C++ mode.
32101         * tests/test-wchar-c++.cc: New file.
32102         * modules/wchar-tests (Files): Add it and tests/signature.h.
32103         (Depends-on): Add ansi-c++-opt.
32104         (Makefile.am): Arrange to compile and run test-wchar-c++.
32105         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
32106         gl_MODULE_INDICATOR.
32107
32108         Tests of module 'unistd' in C++ mode.
32109         * tests/test-unistd-c++.cc: New file.
32110         * modules/unistd-tests (Files): Add it and tests/signature.h.
32111         (Depends-on): Add ansi-c++-opt.
32112         (Makefile.am): Arrange to compile and run test-unistd-c++.
32113         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
32114         gl_MODULE_INDICATOR.
32115
32116         Tests of module 'time' in C++ mode.
32117         * tests/test-time-c++.cc: New file.
32118         * modules/time-tests (Files): Add it and tests/signature.h.
32119         (Depends-on): Add ansi-c++-opt.
32120         (Makefile.am): Arrange to compile and run test-time-c++.
32121         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32122
32123         Tests of module 'sys_time' in C++ mode.
32124         * tests/test-sys_time-c++.cc: New file.
32125         * modules/sys_time-tests (Files): Add it and tests/signature.h.
32126         (Depends-on): Add ansi-c++-opt.
32127         (Makefile.am): Arrange to compile and run test-sys_time-c++.
32128         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
32129         gl_MODULE_INDICATOR.
32130
32131         Tests of module 'sys_stat' in C++ mode.
32132         * tests/test-sys_stat-c++.cc: New file.
32133         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
32134         (Depends-on): Add ansi-c++-opt.
32135         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
32136         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
32137         gl_MODULE_INDICATOR.
32138
32139         Tests of module 'sys_socket' in C++ mode.
32140         * tests/test-sys_socket-c++.cc: New file.
32141         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
32142         (Depends-on): Add ansi-c++-opt.
32143         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
32144         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
32145         gl_MODULE_INDICATOR.
32146
32147         Tests of module 'sys_select' in C++ mode.
32148         * tests/test-sys_select-c++.cc: New file.
32149         * modules/sys_select-tests (Files): Add it and tests/signature.h.
32150         (Depends-on): Add ansi-c++-opt.
32151         (Makefile.am): Arrange to compile and run test-sys_select-c++.
32152         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
32153         gl_MODULE_INDICATOR.
32154
32155         Tests of module 'sys_ioctl' in C++ mode.
32156         * tests/test-sys_ioctl-c++.cc: New file.
32157         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
32158         (Depends-on): Add ansi-c++-opt.
32159         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
32160         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
32161         gl_MODULE_INDICATOR.
32162
32163         Tests of module 'string' in C++ mode.
32164         * tests/test-string-c++.cc: New file.
32165         * modules/string-tests (Files): Add it and tests/signature.h.
32166         (Depends-on): Add ansi-c++-opt.
32167         (Makefile.am): Arrange to compile and run test-string-c++.
32168         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
32169         gl_MODULE_INDICATOR.
32170
32171         Tests of module 'stdlib' in C++ mode.
32172         * tests/test-stdlib-c++.cc: New file.
32173         * modules/stdlib-tests (Files): Add it and tests/signature.h.
32174         (Depends-on): Add ansi-c++-opt.
32175         (Makefile.am): Arrange to compile and run test-stdlib-c++.
32176         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
32177         gl_MODULE_INDICATOR.
32178
32179         Tests of module 'stdio' in C++ mode.
32180         * tests/test-stdio-c++.cc: New file.
32181         * modules/stdio-tests (Files): Add it and tests/signature.h.
32182         (Depends-on): Add ansi-c++-opt.
32183         (Makefile.am): Arrange to compile and run test-stdio-c++.
32184         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
32185         gl_MODULE_INDICATOR.
32186
32187         Tests of module 'spawn' in C++ mode.
32188         * tests/test-spawn-c++.cc: New file.
32189         * modules/spawn-tests (Files): Add it and tests/signature.h.
32190         (Depends-on): Add ansi-c++-opt.
32191         (Makefile.am): Arrange to compile and run test-spawn-c++.
32192         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
32193         gl_MODULE_INDICATOR.
32194
32195         Tests of module 'signal' in C++ mode.
32196         * tests/test-signal-c++.cc: New file.
32197         * modules/signal-tests (Files): Add it and tests/signature.h.
32198         (Depends-on): Add ansi-c++-opt.
32199         (Makefile.am): Arrange to compile and run test-signal-c++.
32200         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
32201         gl_MODULE_INDICATOR.
32202
32203         Tests of module 'search' in C++ mode.
32204         * tests/test-search-c++.cc: New file.
32205         * modules/search-tests (Files): Add it and tests/signature.h.
32206         (Depends-on): Add ansi-c++-opt.
32207         (Makefile.am): Arrange to compile and run test-search-c++.
32208         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
32209         gl_MODULE_INDICATOR.
32210
32211         Tests of module 'math' in C++ mode.
32212         * tests/test-math-c++.cc: New file.
32213         * modules/math-tests (Files): Add it and tests/signature.h.
32214         (Depends-on): Add ansi-c++-opt.
32215         (Makefile.am): Arrange to compile and run test-math-c++.
32216         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32217
32218         Tests of module 'locale' in C++ mode.
32219         * tests/test-locale-c++.cc: New file.
32220         * modules/locale-tests (Files): Add it and tests/signature.h.
32221         (Depends-on): Add ansi-c++-opt.
32222         (Makefile.am): Arrange to compile and run test-locale-c++.
32223         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
32224         gl_MODULE_INDICATOR.
32225
32226         Tests of module 'langinfo' in C++ mode.
32227         * tests/test-langinfo-c++.cc: New file.
32228         * modules/langinfo-tests (Files): Add it and tests/signature.h.
32229         (Depends-on): Add ansi-c++-opt.
32230         (Makefile.am): Arrange to compile and run test-langinfo-c++.
32231         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
32232         gl_MODULE_INDICATOR.
32233
32234         Tests of module 'iconv-h' in C++ mode.
32235         * tests/test-iconv-h-c++.cc: New file.
32236         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
32237         (Depends-on): Add ansi-c++-opt.
32238         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
32239
32240         Tests of module 'glob' in C++ mode.
32241         * tests/test-glob-c++.cc: New file.
32242         * modules/glob-tests (Files): Add it.
32243         (Depends-on): Add ansi-c++-opt.
32244         (Makefile.am): Arrange to compile and run test-glob-c++.
32245
32246         Tests of module 'fcntl-h' in C++ mode.
32247         * tests/test-fcntl-h-c++.cc: New file.
32248         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
32249         (Depends-on): Add ansi-c++-opt.
32250         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
32251         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
32252         gl_MODULE_INDICATOR.
32253
32254         Tests of module 'dirent' in C++ mode.
32255         * tests/test-dirent-c++.cc: New file.
32256         * modules/dirent-tests (Files): Add it and tests/signature.h.
32257         (Depends-on): Add ansi-c++-opt.
32258         (Makefile.am): Arrange to compile and run test-dirent-c++.
32259         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32260         gl_MODULE_INDICATOR.
32261
32262         New module 'ansi-c++-opt'.
32263         * modules/ansi-c++-opt: New file.
32264         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
32265
32266         Document C++ namespace mode.
32267         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
32268
32269         wctype: Avoid #define replacements in C++ mode.
32270         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
32271         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
32272         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
32273         In C++, define a namespaced alias symbol.
32274         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
32275         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
32276         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
32277         rule.
32278
32279         wchar: Avoid #define replacements in C++ mode.
32280         * lib/wchar.in.h: Include c++defs.h.
32281         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
32282         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
32283         symbol.
32284         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
32285         * modules/wchar (Depends-on): Add c++defs.
32286         (Makefile.am): Update wchar.h rule.
32287
32288         unistd: Avoid #define replacements in C++ mode.
32289         * lib/unistd.in.h: Include c++defs.h.
32290         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
32291         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
32292         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
32293         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
32294         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
32295         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
32296         symbol.
32297         (environ): Update.
32298         * modules/unistd (Depends-on): Add c++defs.
32299         (Makefile.am): Update unistd.h rule.
32300
32301         time: Avoid #define replacements in C++ mode.
32302         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
32303         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
32304         define a namespaced alias symbol.
32305         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
32306         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
32307         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
32308         * modules/time (Depends-on): Add c++defs, warn-on-use.
32309         (Makefile.am): Update time.h rule.
32310         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32311         * modules/nanosleep (configure.ac): Likewise.
32312         * modules/strptime (configure.ac): Likewise.
32313         * modules/timegm (configure.ac): Likewise.
32314
32315         sys_time: Avoid #define replacements in C++ mode.
32316         * lib/sys_time.in.h: Include c++defs.h.
32317         (gettimeofday): In C++, define a namespaced alias symbol.
32318         * modules/sys_time (Depends-on): Add c++defs.
32319         (Makefile.am): Update sys/time.h rule.
32320
32321         sys_stat: Avoid #define replacements in C++ mode.
32322         * lib/sys_stat.in.h: Include c++defs.h.
32323         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
32324         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
32325         namespaced alias symbol.
32326         In C++, define a namespaced alias symbol.
32327         * modules/sys_stat (Depends-on): Add c++defs.
32328         (Makefile.am): Update sys/stat.h rule.
32329
32330         sys_socket: Avoid #define replacements in C++ mode.
32331         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
32332         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
32333         definitions also when the system has a <sys/socket.h>.
32334         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
32335         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
32336         In C++, define a namespaced alias symbol.
32337         * modules/sys_socket (Depends-on): Add c++defs.
32338         (Makefile.am): Update sys/socket.h rule.
32339
32340         sys_select: Avoid #define replacements in C++ mode.
32341         * lib/sys_select.in.h: Include c++defs.h. Enable the function
32342         definitions also when the system has a <sys/select.h>.
32343         (select): In C++, define a namespaced alias symbol.
32344         * modules/sys_select (Depends-on): Add c++defs.
32345         (Makefile.am): Update sys/select.h rule.
32346
32347         sys_ioctl: Avoid #define replacements in C++ mode.
32348         * lib/sys_ioctl.in.h: Include c++defs.h.
32349         (ioctl): In C++, define a namespaced alias symbol.
32350         * modules/sys_ioctl (Depends-on): Add c++defs.
32351         (Makefile.am): Update sys/ioctl.h rule.
32352
32353         string: Avoid #define replacements in C++ mode.
32354         * lib/string.in.h: Include c++defs.h.
32355         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
32356         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
32357         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
32358         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
32359         strsignal, strverscmp): In C++, define a namespaced alias symbol.
32360         * modules/string (Depends-on): Add c++defs.
32361         (Makefile.am): Update string.h rule.
32362
32363         stdlib: Avoid #define replacements in C++ mode.
32364         * lib/stdlib.in.h: Include c++defs.h.
32365         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
32366         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
32367         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
32368         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
32369         symbol.
32370         * modules/stdlib (Depends-on): Add c++defs.
32371         (Makefile.am): Update stdlib.h rule.
32372
32373         stdio: Avoid #define replacements in C++ mode.
32374         * lib/stdio.in.h: Include c++defs.h.
32375         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
32376         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
32377         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
32378         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
32379         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
32380         namespaced alias symbol.
32381         * modules/stdio (Depends-on): Add c++defs.
32382         (Makefile.am): Update stdio.h rule.
32383
32384         spawn: Avoid #define replacements in C++ mode.
32385         * lib/spawn.in.h: Include c++defs.h.
32386         (posix_spawn, posix_spawnp, posix_spawnattr_init,
32387         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
32388         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
32389         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
32390         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
32391         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
32392         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
32393         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
32394         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
32395         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
32396         In C++, define a namespaced alias symbol.
32397         * modules/spawn (Depends-on): Add c++defs.
32398         (Makefile.am): Update spawn.h rule.
32399
32400         signal: Avoid #define replacements in C++ mode.
32401         * lib/signal.in.h: Include c++defs.h.
32402         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
32403         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
32404         namespaced alias symbol.
32405         * modules/signal (Depends-on): Add c++defs.
32406         (Makefile.am): Update signal.h rule.
32407
32408         search: Avoid #define replacements in C++ mode.
32409         * lib/search.in.h: Include c++defs.h.
32410         (_gl_search_compar_fn, _gl_search_action_fn): New types.
32411         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
32412         symbol.
32413         * modules/search (Depends-on): Add c++defs.
32414         (Makefile.am): Update search.h rule.
32415
32416         math: Avoid #define replacements in C++ mode.
32417         * lib/math.in.h: Include c++defs.h.
32418         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
32419         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
32420         trunc, truncl): In C++, define a namespaced alias symbol.
32421         * modules/math (Depends-on): Add c++defs.
32422         (Makefile.am): Update math.h rule.
32423
32424         locale: Avoid #define replacements in C++ mode.
32425         * lib/locale.in.h: Include c++defs.h.
32426         (duplocale): In C++, define a namespaced alias symbol.
32427         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
32428         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
32429         * modules/locale (Depends-on): Add c++defs.
32430         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
32431
32432         langinfo: Avoid #define replacements in C++ mode.
32433         * lib/langinfo.in.h: Include c++defs.h.
32434         (nl_langinfo): In C++, define a namespaced alias symbol.
32435         * modules/langinfo (Depends-on): Add c++defs.
32436         (Makefile.am): Update langinfo.h rule.
32437
32438         iconv-h: Avoid #define replacements in C++ mode.
32439         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
32440         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
32441         symbol.
32442         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
32443         whenever iconv is present.
32444         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
32445         (Makefile.am): Update iconv.h rule.
32446
32447         glob: Avoid #define replacements in C++ mode.
32448         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
32449         (_gl_glob_errfunc_fn): New type.
32450         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
32451         symbol.
32452         * modules/glob (Depends-on): Add c++defs, warn-on-use.
32453         (Makefile.am): Update glob.h rule.
32454
32455         fcntl-h: Avoid #define replacements in C++ mode.
32456         * lib/fcntl.in.h: Include c++defs.h.
32457         (fcntl, open, openat): In C++, define a namespaced alias symbol.
32458         * modules/fcntl-h (Depends-on): Add c++defs.
32459         (Makefile.am): Update fcntl.h rule.
32460
32461         dirent: Avoid #define replacements in C++ mode.
32462         * lib/dirent.in.h: Include c++defs.h.
32463         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
32464         namespaced alias symbol.
32465         (dirfd): Update declaration.
32466         * modules/dirent (Depends-on): Add c++defs.
32467         (Makefile.am): Update dirent.h rule.
32468
32469         ctype: Make it usable in C++ code.
32470         * lib/ctype.in.h: Include c++defs.h.
32471         (isblank): Declare as extern "C".
32472         * modules/ctype (Depends-on): Add c++defs.
32473         (Makefile.am): Update ctype.h rule.
32474
32475         New module 'c++defs'.
32476         * modules/c++defs: New file.
32477         * build-aux/c++defs.h: New file.
32478         Reported by John W. Eaton <jwe@gnu.org>.
32479
32480 2010-03-07  Bruno Haible  <bruno@clisp.org>
32481
32482         logb: Provide missing declaration for Cygwin.
32483         * lib/math.in.h (logb): New declaration.
32484         * m4/logb.m4: New file.
32485         * modules/logb (Files): Add m4/logb.m4.
32486         (Depends-on): Add math.
32487         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
32488         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
32489         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
32490         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
32491         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
32492
32493 2010-03-07  Bruno Haible  <bruno@clisp.org>
32494
32495         Fix test-cond link error.
32496         * tests/test-cond.c: Include <stdio.h>.
32497
32498 2010-03-07  Bruno Haible  <bruno@clisp.org>
32499
32500         Fix test-dirent-safer link error.
32501         * modules/dirent-safer-tests (Makefile.am): Define
32502         test_dirent_safer_LDADD.
32503
32504 2010-03-07  Bruno Haible  <bruno@clisp.org>
32505
32506         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
32507         among default module list.
32508
32509 2010-03-07  Bruno Haible  <bruno@clisp.org>
32510
32511         Fix link error on platforms with GNU libiconv.
32512         * modules/unistr/u8-strcoll-tests (Makefile): Define
32513         test_u8_strcoll_LDADD.
32514         * modules/unistr/u16-strcoll-tests (Makefile): Define
32515         test_u16_strcoll_LDADD.
32516         * modules/unistr/u32-strcoll-tests (Makefile): Define
32517         test_u32_strcoll_LDADD.
32518
32519 2010-03-07  Bruno Haible  <bruno@clisp.org>
32520
32521         Use POSIX declarations for socket functions.
32522         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
32523         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
32524         rpl_sendto): Change declaration to match POSIX.
32525         * lib/connect.c (rpl_connect): Likewise.
32526         * lib/accept.c (rpl_accept): Likewise.
32527         * lib/bind.c (rpl_bind): Likewise.
32528         * lib/getpeername.c (rpl_getpeername): Likewise.
32529         * lib/getsockname.c (rpl_getsockname): Likewise.
32530         * lib/recv.c (rpl_recv): Likewise.
32531         * lib/send.c (rpl_send): Likewise.
32532         * lib/recvfrom.c (rpl_recvfrom): Likewise.
32533         * lib/sendto.c (rpl_sendto): Likewise.
32534
32535 2010-03-06  Bruno Haible  <bruno@clisp.org>
32536
32537         Clarify access, euidaccess, faccessat.
32538         * doc/posix-functions/faccessat.texi: Mention security problem under
32539         "Other problems", not "Portability problems".
32540         * doc/posix-functions/access.texi: Likewise. Mention a related security
32541         problem.
32542         * doc/glibc-functions/euidaccess.texi: Mention security problems.
32543         * lib/euidaccess.c: Add comments about platforms.
32544         * lib/unistd.in.h (access, euidaccess): Add warnings.
32545
32546 2010-03-07  Bruno Haible  <bruno@clisp.org>
32547
32548         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
32549         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
32550         (POSIX_SPAWN_SETSCHEDULER): Likewise.
32551         (POSIX_SPAWN_USEVFORK): Define in a way that works when
32552         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32553         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
32554         declare when POSIX_SPAWN_SETSCHEDULER is zero.
32555         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
32556         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
32557         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
32558         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
32559         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
32560         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
32561         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
32562         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
32563         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
32564         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
32565         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
32566         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
32567         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
32568         Likewise.
32569         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
32570         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
32571         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
32572         Likewise.
32573         * tests/test-spawn.c (main): Make it work when
32574         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
32575
32576 2010-03-07  Bruno Haible  <bruno@clisp.org>
32577
32578         Fix incorrect Makefile.am generation in German locale.
32579         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32580         Execute sed command with character range in C locale.
32581
32582 2010-03-06  Bruno Haible  <bruno@clisp.org>
32583
32584         Tests for module 'iconv-h'.
32585         * modules/iconv-h-tests: New file.
32586         * tests/test-iconv-h.c: New file.
32587
32588         New module 'iconv-h'.
32589         * modules/iconv-h: New file.
32590         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
32591         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
32592         (configure.ac): Remove gl_ICONV_H.
32593         (Makefile.am): Remove rule for iconv.h.
32594
32595 2010-03-06  Bruno Haible  <bruno@clisp.org>
32596
32597         More consistent naming of *.m4 files.
32598         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
32599         * modules/wctype (Files): Update.
32600
32601         More consistent naming of *.m4 files.
32602         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
32603         * modules/wchar (Files): Update.
32604
32605 2010-03-06  Jim Meyering  <meyering@redhat.com>
32606
32607         euidaccess: relax license to LGPLv2+
32608         * modules/euidaccess (License): Relax to LGPLv2+.
32609
32610 2010-03-06  Bruno Haible  <bruno@clisp.org>
32611
32612         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
32613         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
32614         (Makefile.am): Augment lib_SOURCES instead.
32615
32616 2010-03-04  Jim Meyering  <meyering@redhat.com>
32617
32618         utime: remove obsolete module
32619         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
32620         unnecessary for years, and has been marked as obsolete for 10 months.
32621         * modules/utime: Remove file.
32622         * lib/utime.c: Remove file.
32623         * m4/utime.m4: Remove file.
32624         * m4/utimes-null.m4: Remove file.
32625         * doc/posix-functions/utime.texi (utime): Remove reference to
32626         the module.  Move the sole "fixed by gnulib" item into the
32627         "problems not fixed by Gnulib" list.
32628         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
32629
32630 2010-03-05  Simon Josefsson  <simon@josefsson.org>
32631
32632         * modules/exit (License): Relax license to LGPLv2+.
32633         (Status): Mark as obsolete.
32634         * NEWS: Mention deprecated 'exit' module.
32635         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
32636         of now obsolete 'exit'.
32637
32638 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32639
32640         fts-lgpl: remove unused module
32641         * modules/fts-lgpl: Remove.
32642         * MODULES.html.sh (func_all_modules): Adjust.
32643         * check-module (find_included_lib_files): Adjust.
32644         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
32645
32646 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
32647
32648         copy-acl: enhance Solaris ACL error handling
32649         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
32650         * lib/set-mode-acl.c (qset_acl): Likewise.
32651
32652 2010-03-02  Bruno Haible  <bruno@clisp.org>
32653
32654         spawn: Don't override the system defined values on FreeBSD 8.
32655         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
32656         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
32657         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
32658         if HAVE_POSIX_SPAWN is 1.
32659         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
32660
32661 2010-03-01  Bruno Haible  <bruno@clisp.org>
32662
32663         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
32664         regarding Automake.
32665
32666 2010-02-25  Bruno Haible  <bruno@clisp.org>
32667
32668         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
32669         * gnulib-tool: Define 'echo' as a function only before the ksh alias
32670         setting, not afterwards.
32671         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
32672
32673 2010-02-24  Eric Blake  <eblake@redhat.com>
32674
32675         bootstrap, git-version-gen: use timestamp
32676         * build-aux/git-version-gen (scriptversion): Force UTC.
32677         * build-aux/bootstrap (scriptversion): New variable.
32678
32679         bootstrap: allow older git
32680         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
32681         older than 1.6.4.  Requested by the libvirt project.
32682
32683 2010-02-23  Eric Blake  <eblake@redhat.com>
32684
32685         warn-on-use: work with old autoconf
32686         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
32687         AS_VAR semantics of autoconf 2.60.
32688         Reported by Bruno Haible.
32689
32690         bootstrap: improve some comments
32691         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
32692         clarification comments.
32693
32694         gettimeofday: provide correct function
32695         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
32696         when replacement is declared, otherwise provide gettimeofday.
32697         Reported by Michael Goffioul.
32698
32699 2010-02-23  Jim Meyering  <meyering@redhat.com>
32700
32701         lib-ignore: relax license to "unlimited", not LGPLv2+
32702         * modules/lib-ignore (License): Relax to "unlimited".
32703
32704 2010-02-23  Jim Meyering  <meyering@redhat.com>
32705
32706         lib-ignore: relax license to LGPLv2+
32707         * modules/lib-ignore (License): Relax to LGPLv2+.
32708
32709 2010-02-22  Eric Blake  <eblake@redhat.com>
32710
32711         lseek: avoid bash 3.2 broken pipe bug
32712         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
32713         warning from bash 3.2.
32714         Reported by Ben Pfaff, with analysis from Bruno Haible.
32715
32716         bootstrap: support non-FSF copyright holder
32717         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
32718         bootstrap.conf override of COPYRIGHT_HOLDER.
32719         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
32720
32721         bootstrap: interoperate with gettext 0.14.1
32722         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
32723
32724         bootstrap: allow for alternate submodule location
32725         * build-aux/bootstrap (gnulib_path): New variable; use instead of
32726         hardcoding submodule location.
32727         (gnulib_mk): Allow direct use of Makefile.am.
32728
32729         bootstrap: use GNULIB_SRCDIR to reduce disk usage
32730         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
32731         rather than reconfiguring where the submodule points.
32732
32733         gettimeofday: restore support for platforms that lack function
32734         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
32735         replacement if function is missing.
32736         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
32737         * modules/sys_time (Makefile.am): Substitute it.
32738         * lib/sys_time.in.h (gettimeofday): Check it.
32739         Reported by Michael Goffioul.
32740
32741 2010-02-21  Bruno Haible  <bruno@clisp.org>
32742
32743         * lib/stdio.in.h (obstack_printf): Fix typo.
32744
32745 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
32746
32747         vc-list-files: use bzr ls's -R option
32748         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
32749         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
32750
32751 2010-02-21  Jim Meyering  <meyering@redhat.com>
32752
32753         init.sh: fix EXEEXT shims to work also for names like test-prog
32754         * tests/init.sh: Re-exec a better shell, when needed.
32755         If the current shell lacks support for posix $(...), an init.sh-using
32756         test will now try to find a shell that supports that.  If EXEEXT is
32757         nonempty, we also require support for hyphen-in-alias-name and shell
32758         substitutions like ${var#glob}.  Failure to find such a shell results
32759         in a skipped test.
32760
32761 2010-02-21  Bruno Haible  <bruno@clisp.org>
32762
32763         Really work around around "broken pipe" error message from bash 3.2.
32764         * gnulib-tool (func_reset_sigpipe): Remove function.
32765         (echo): In bash 3.2, define to a function that uses printf.
32766         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
32767
32768 2010-02-20  Bruno Haible  <bruno@clisp.org>
32769
32770         Restore support for automake 1.9.6 with autoconf 2.61.
32771         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
32772         Reported by James Youngman <jay@gnu.org>.
32773
32774 2010-02-20  Bruno Haible  <bruno@clisp.org>
32775
32776         Improve *printf warning condition.
32777         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
32778         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
32779         and the function is overridden due to SIGPIPE emulation.
32780
32781 2010-02-20  Bruno Haible  <bruno@clisp.org>
32782
32783         * lib/stdio.in.h: Tweak comments.
32784
32785 2010-02-19  Bruno Haible  <bruno@clisp.org>
32786
32787         Make it easier to find modules. New gnulib-tool option '--find'.
32788         * gnulib-tool: New option --find.
32789         (func_usage): Document it.
32790         (func_sanitize_modulelist): New function, extracted from
32791         func_all_modules.
32792         (func_all_modules): Invoke it.
32793         * doc/gnulib-tool.texi (Which modules?): New node.
32794
32795 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
32796
32797         * lib/sys_select.in.h: Provide select replacement even if
32798         sys/select.h exists on a system, for Interix.
32799
32800 2010-02-18  Jim Meyering  <meyering@redhat.com>
32801
32802         init.sh: don't use $(...) just yet
32803         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
32804         to accommodate e.g., Solaris' /bin/sh.
32805
32806 2010-02-17  Bruno Haible  <bruno@clisp.org>
32807
32808         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
32809         Reported by Ludovic Courtès <ludo@gnu.org>.
32810
32811 2010-02-16  Simon Josefsson  <simon@josefsson.org>
32812
32813         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
32814         linking with -lintl.
32815
32816 2010-02-17  Simon Josefsson  <simon@josefsson.org>
32817
32818         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
32819         if not provided by the system's netdb.h.  Reported by
32820         ludo@gnu.org (Ludovic Courtès).
32821
32822 2010-02-15  Jim Meyering  <meyering@redhat.com>
32823
32824         init.sh: improve portability and efficiency
32825         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
32826         "dummy" in a for loop.
32827         Use '!', not '^' to select the complement of a character set used
32828         in a "case" statement.
32829         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
32830         Suggestions from Eric Blake.
32831
32832         init.sh: automatically accommodate programs with the .exe suffix
32833         Automatically arrange for an invocation of "prog" to execute the
32834         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
32835         may use the simpler "prog", yet still work when built on a system
32836         that requires specifying the added suffix.
32837         Do this by constructing a function named "prog" that invokes
32838         "prog.exe" for each .exe file in selected directories.
32839         * tests/init.sh (find_exe_basenames_): New function.
32840         (create_exe_shim_functions_): New function.
32841         (path_prepend_): Use it.
32842
32843         maint.mk: mark syntax-check sc_*.m rules as .PHONY
32844         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
32845         "make -t syntax-check" doesn't create a ton of sc_*.m files.
32846
32847 2010-02-14  Jim Meyering  <meyering@redhat.com>
32848
32849         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
32850         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
32851         (sc_prohibit_hash_pjw_without_use): New rule.
32852
32853         maint.mk: allow the default upload destination dir to be overridden
32854         * top/maint.mk (upload_dest_dir_): Define with a default that
32855         preserves the status quo.
32856         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
32857         Reported by Peter Simons.
32858
32859         maint.mk: prohibit inclusion of "hash.h" without_use
32860         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
32861
32862 2010-02-10  Jim Meyering  <meyering@redhat.com>
32863
32864         maint.mk: prohibit inclusion of "ignore-value.h" without_use
32865         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
32866
32867 2010-02-09  Eric Blake  <ebb9@byu.net>
32868         and Bruno Haible  <bruno@clisp.org>
32869
32870         obstack-printf-posix: ensure declaration
32871         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
32872         extracted from gl_FUNC_OBSTACK_PRINTF.
32873         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
32874         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
32875         Likewise.
32876         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
32877         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
32878         0.
32879
32880 2010-02-08  Bruno Haible  <bruno@clisp.org>
32881
32882         gnulib-tool: Fix typo in 2010-02-07 commit.
32883         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
32884         Reported by Eric Blake.
32885
32886 2010-02-07  Bruno Haible  <bruno@clisp.org>
32887
32888         gnulib-tool: Fix up caching patches.
32889         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
32890         option --no-cache. Use associative arrays when supported by the shell.
32891         (sed_comments): New variable.
32892         (modcache): Renamed from do_cache.
32893         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
32894         abbreviate unnecessarily.
32895         (have_associative): New variable.
32896         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
32897         way also for ksh and zsh.
32898         (func_init_sed_convert_to_cache_statements): New function, extracted
32899         from func_cache_lookup_module. Add support for associative arrays.
32900         Don't set the c_MODULE_cached variable here. Ignore all lines before
32901         the first field header. Remove only the final newline, not all trailing
32902         newlines. Support empty fields correctly. Limit the use of 'eval' to
32903         assignments.
32904         (func_get_description, func_get_status, func_get_notice,
32905         func_get_applicability, func_get_filelist, func_get_dependencies,
32906         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
32907         func_get_automake_snippet, func_get_include_directive,
32908         func_get_link_directive, func_get_license, func_get_maintainer):
32909         Update documentation. List the unoptimized code first. Add support for
32910         associative arrays. Limit the use of 'eval' to assignments.
32911         (func_get_applicability): Undo stylistic pessimisations.
32912         (func_get_automake_snippet, func_get_include_directive): Reduce code
32913         duplication.
32914         (func_modules_transitive_closure, func_modules_add_dummy,
32915         func_modules_notice, func_modules_to_filelist, func_add_file,
32916         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
32917         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
32918         func_create_testdir, func_create_megatestdir): Update documentation.
32919
32920 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32921
32922         * gnulib-tool (func_cache_lookup_module): Store the module name
32923         belonging to the cache variable; error out if two different
32924         module names map to the same cache variable name.
32925
32926 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32927
32928         gnulib-tool: Make caching optional.
32929         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
32930         Update matching short versions of --no-changelog.
32931         (func_usage): Update.
32932         (sed_extract_cache_prog): Renamed from ...
32933         (sed_extract_prog): ... this; revert to old extraction script.
32934         (func_get_description, func_get_status)
32935         (func_get_notice, func_get_applicability, func_get_filelist)
32936         (func_get_dependencies, func_get_autoconf_early_snippet)
32937         (func_get_autoconf_snippet, func_get_automake_snippet)
32938         (func_get_include_directive, func_get_link_directive)
32939         (func_get_license, func_get_maintainer): If $do_cache is false,
32940         use old, non-caching extraction scripts.
32941         Suggestion by Bruno Haible.
32942
32943 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32944
32945         gnulib-tool: cache module metainformation.
32946         * gnulib-tool (sed_extract_prog): Match newline before each
32947         header, and rewrite header to a shell variable suffix.
32948         (func_cache_var, func_cache_lookup_module): New functions,
32949         to turn a module name into a cache variable prefix, and to
32950         look up and cache module metainformation.
32951         (func_get_description, func_get_status)
32952         (func_get_notice, func_get_applicability, func_get_filelist)
32953         (func_get_dependencies, func_get_autoconf_early_snippet)
32954         (func_get_autoconf_snippet, func_get_automake_snippet)
32955         (func_get_include_directive, func_get_link_directive)
32956         (func_get_license, func_get_maintainer): Use
32957         func_cache_lookup_module.
32958
32959 2010-02-07  Bruno Haible  <bruno@clisp.org>
32960
32961         fnctl: Fix missing dependency.
32962         * modules/fcntl (Depends-on): Add getdtablesize.
32963         Reported by John W. Eaton <jwe@gnu.org>.
32964
32965 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32966
32967         Argp: fix recognition of short alias options.
32968
32969         * lib/argp-parse.c (convert_options): Fix improper use of
32970         `|' between character values.
32971         * tests/test-argp.c (group1_option): New alias option
32972         --read (-r).
32973         (group1_parser): Special handling for 'r'.
32974         (test15): New test case.
32975         (test_fun): Add test15.
32976         * tests/test-argp-2.sh: Update expected --help and --usage
32977         outputs.
32978
32979 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
32980
32981         * tests/test-argp.c: Fix indentation.
32982
32983 2010-02-04  Eric Blake  <ebb9@byu.net>
32984
32985         gettimeofday: expose type of second argument
32986         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
32987         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
32988         * tests/test-gettimeofday.c: Use it to silence warning.
32989         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
32990         the issue.
32991
32992 2010-02-03  Jim Meyering  <meyering@redhat.com>
32993
32994         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
32995         * lib/regcomp.c (TYPE_SIGNED): Define.
32996         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
32997
32998         regcomp.c: avoid a new -Wshadow warning
32999         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
33000
33001 2010-02-01  Jim Meyering  <meyering@redhat.com>
33002
33003         removing useless parentheses in cpp #define directives
33004         For motivation, see commit c0221df4, "define STREQ(a,b)
33005         consistently, removing useless parentheses"
33006         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
33007         * lib/mountlist.c (MNT_IGNORE): Likewise.
33008         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
33009
33010 2010-02-01  Eric Blake  <ebb9@byu.net>
33011
33012         sys_time: use link-warning
33013         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
33014         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
33015         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
33016         * modules/sys_time (Depends-on): Add warn-on-use.
33017         (Makefile.am): Always build replacement.
33018         (configure.ac): Update substitutions.
33019         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
33020         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
33021         bother with SYS_TIME_H.
33022         * modules/gettimeofday (configure.ac): Declare indicator.
33023         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
33024         in use.
33025
33026         closein-tests: silence compiler warning
33027         * tests/test-closein.c (main): Ignore fread result.
33028         * modules/closein-tests (Depends-on): Add ignore-value.
33029
33030         tests: silence warning about system return
33031         * tests/test-areadlink-with-size.c (main): Ignore system result.
33032         * tests/test-areadlink.c (main): Likewise.
33033         * tests/test-areadlinkat-with-size.c (main): Likewise.
33034         * tests/test-areadlinkat.c (main): Likewise.
33035         * tests/test-canonicalize-lgpl.c (main): Likewise.
33036         * tests/test-canonicalize.c (main): Likewise.
33037         * tests/test-chown.c (main): Likewise.
33038         * tests/test-fchownat.c (main): Likewise.
33039         * tests/test-fdutimensat.c (main): Likewise.
33040         * tests/test-fstatat.c (main): Likewise.
33041         * tests/test-futimens.c (main): Likewise.
33042         * tests/test-lchown.c (main): Likewise.
33043         * tests/test-link.c (main): Likewise.
33044         * tests/test-linkat.c (main): Likewise.
33045         * tests/test-lstat.c (main): Likewise.
33046         * tests/test-mkdir.c (main): Likewise.
33047         * tests/test-mkdirat.c (main): Likewise.
33048         * tests/test-mkfifo.c (main): Likewise.
33049         * tests/test-mkfifoat.c (main): Likewise.
33050         * tests/test-mknod.c (main): Likewise.
33051         * tests/test-readlink.c (main): Likewise.
33052         * tests/test-remove.c (main): Likewise.
33053         * tests/test-rename.c (main): Likewise.
33054         * tests/test-renameat.c (main): Likewise.
33055         * tests/test-rmdir.c (main): Likewise.
33056         * tests/test-symlink.c (main): Likewise.
33057         * tests/test-symlinkat.c (main): Likewise.
33058         * tests/test-unlink.c (main): Likewise.
33059         * tests/test-unlinkat.c (main): Likewise.
33060         * tests/test-utimens.c (main): Likewise.
33061         * tests/test-utimensat.c (main): Likewise.
33062         * modules/areadlink-tests (Depends-on): Add ignore-value.
33063         * modules/areadlink-with-size-tests (Depends-on): Likewise.
33064         * modules/areadlinkat-tests (Depends-on): Likewise.
33065         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
33066         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
33067         * modules/canonicalize-tests (Depends-on): Likewise.
33068         * modules/chown-tests (Depends-on): Likewise.
33069         * modules/fdutimensat-tests (Depends-on): Likewise.
33070         * modules/futimens-tests (Depends-on): Likewise.
33071         * modules/lchown-tests (Depends-on): Likewise.
33072         * modules/link-tests (Depends-on): Likewise.
33073         * modules/linkat-tests (Depends-on): Likewise.
33074         * modules/lstat-tests (Depends-on): Likewise.
33075         * modules/mkdir-tests (Depends-on): Likewise.
33076         * modules/mkfifo-tests (Depends-on): Likewise.
33077         * modules/mkfifoat-tests (Depends-on): Likewise.
33078         * modules/mknod-tests (Depends-on): Likewise.
33079         * modules/openat-tests (Depends-on): Likewise.
33080         * modules/readlink-tests (Depends-on): Likewise.
33081         * modules/remove-tests (Depends-on): Likewise.
33082         * modules/rename-tests (Depends-on): Likewise.
33083         * modules/renameat-tests (Depends-on): Likewise.
33084         * modules/rmdir-tests (Depends-on): Likewise.
33085         * modules/symlink-tests (Depends-on): Likewise.
33086         * modules/symlinkat-tests (Depends-on): Likewise.
33087         * modules/unlink-tests (Depends-on): Likewise.
33088         * modules/utimens-tests (Depends-on): Likewise.
33089         * modules/utimensat-tests (Depends-on): Likewise.
33090
33091 2010-01-31  Bruno Haible  <bruno@clisp.org>
33092
33093         Perform the same test for many <math.h> functions.
33094         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
33095         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
33096         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
33097         of gl_MATHFUNC.
33098         * modules/acos (configure.ac): Likewise.
33099         * modules/asin (configure.ac): Likewise.
33100         * modules/atan (configure.ac): Likewise.
33101         * modules/atan2 (configure.ac): Likewise.
33102         * modules/cbrt (configure.ac): Likewise.
33103         * modules/copysign (configure.ac): Likewise.
33104         * modules/cos (configure.ac): Likewise.
33105         * modules/cosh (configure.ac): Likewise.
33106         * modules/erf (configure.ac): Likewise.
33107         * modules/erfc (configure.ac): Likewise.
33108         * modules/exp (configure.ac): Likewise.
33109         * modules/fmod (configure.ac): Likewise.
33110         * modules/hypot (configure.ac): Likewise.
33111         * modules/j0 (configure.ac): Likewise.
33112         * modules/j1 (configure.ac): Likewise.
33113         * modules/jn (configure.ac): Likewise.
33114         * modules/lgamma (configure.ac): Likewise.
33115         * modules/log (configure.ac): Likewise.
33116         * modules/log10 (configure.ac): Likewise.
33117         * modules/log1p (configure.ac): Likewise.
33118         * modules/pow (configure.ac): Likewise.
33119         * modules/remainder (configure.ac): Likewise.
33120         * modules/sin (configure.ac): Likewise.
33121         * modules/sinh (configure.ac): Likewise.
33122         * modules/tan (configure.ac): Likewise.
33123         * modules/tanh (configure.ac): Likewise.
33124         * modules/y0 (configure.ac): Likewise.
33125         * modules/y1 (configure.ac): Likewise.
33126         * modules/yn (configure.ac): Likewise.
33127         Suggested by Paolo Bonzini.
33128
33129 2010-01-31  Bruno Haible  <bruno@clisp.org>
33130
33131         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
33132
33133 2010-01-31  Bruno Haible  <bruno@clisp.org>
33134
33135         Work around getdelim() bug on FreeBSD 8.0.
33136         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
33137         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
33138         not work.
33139         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
33140         is 1.
33141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
33142         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
33143         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
33144         a non-zero size.
33145         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
33146
33147 2010-01-31  Bruno Haible  <bruno@clisp.org>
33148
33149         Work around getline() bug on FreeBSD 8.0.
33150         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
33151         and a non-zero size.
33152         * tests/test-getline.c (main): Likewise.
33153         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
33154         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
33155
33156 2010-01-28  Eric Blake  <ebb9@byu.net>
33157
33158         regex: fix build failure
33159         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
33160         platforms.
33161
33162 2010-01-28  Jim Meyering  <meyering@redhat.com>
33163
33164         regex: do not ignore memory allocation failure
33165         * lib/regex_internal.c (create_cd_newstate): Detect
33166         re_node_set_init_copy failure.   Extracted from glibc commit
33167         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33168
33169         regex: sync more white-space changes from libc
33170         * lib/regex_internal.c: White-space only changes.
33171         * lib/regexec.c: Likewise.
33172
33173         regex: add many uses of __attribute_warn_unused_result__
33174         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
33175         * lib/regexec.c: Likewise.
33176         Extracted from a messy glibc commit.
33177
33178         regcomp.c: spelling and merge-artifact from glibc
33179         * lib/regcomp.c: Merge remainder of glibc's
33180         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33181
33182         regcomp.c: sync white-space changes from glibc
33183         * lib/regcomp.c: Merge to accommodate white space
33184         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33185
33186         regcomp.c: do not ignore internal return values
33187         * lib/regcomp.c: Do not ignore internal return values.
33188         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
33189         but without its white-space changes and spelling fixes.
33190
33191         regex_internal.h: define __attribute_warn_unused_result__
33192         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
33193
33194         maint: add a syntax-check rule to check for vulnerable Makefile.in
33195         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
33196
33197 2010-01-27  Jim Meyering  <meyering@redhat.com>
33198
33199         ncftpput-ftp: clean up spaces
33200         * build-aux/ncftpput-ftp: Make Copyright line consistent.
33201         Remove trailing blanks.
33202
33203 2010-01-27  Simon Josefsson  <simon@josefsson.org>
33204
33205         * build-aux/git-version-gen: Fix copyright statement.
33206         * build-aux/gnupload: Likewise.
33207         * tests/test-arcfour.c: Likewise.
33208         * tests/test-arctwo.c: Likewise.
33209         * tests/test-count-one-bits.c: Likewise.
33210         * tests/test-crc.c: Likewise.
33211         * tests/test-des.c: Likewise.
33212         * tests/test-gc-arcfour.c: Likewise.
33213         * tests/test-gc-arctwo.c: Likewise.
33214         * tests/test-gc-des.c: Likewise.
33215         * tests/test-gc-hmac-md5.c: Likewise.
33216         * tests/test-gc-hmac-sha1.c: Likewise.
33217         * tests/test-gc-md2.c: Likewise.
33218         * tests/test-gc-md4.c: Likewise.
33219         * tests/test-gc-md5.c: Likewise.
33220         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33221         * tests/test-gc-rijndael.c: Likewise.
33222         * tests/test-gc-sha1.c: Likewise.
33223         * tests/test-gc.c: Likewise.
33224         * tests/test-gethostname.c: Likewise.
33225         * tests/test-gettimeofday.c: Likewise.
33226         * tests/test-hash.c: Likewise.
33227         * tests/test-hmac-md5.c: Likewise.
33228         * tests/test-hmac-sha1.c: Likewise.
33229         * tests/test-md2.c: Likewise.
33230         * tests/test-md4.c: Likewise.
33231         * tests/test-md5.c: Likewise.
33232         * tests/test-memchr.c: Likewise.
33233         * tests/test-memchr2.c: Likewise.
33234         * tests/test-memcmp.c: Likewise.
33235         * tests/test-memmem.c: Likewise.
33236         * tests/test-memrchr.c: Likewise.
33237         * tests/test-rawmemchr.c: Likewise.
33238         * tests/test-read-file.c: Likewise.
33239         * tests/test-rijndael.c: Likewise.
33240         * tests/test-sockets.c: Likewise.
33241         * tests/test-strchrnul.c: Likewise.
33242         * tests/test-strstr.c: Likewise.
33243         * tests/test-strtod.c: Likewise.
33244         * build-aux/ncftpput-ftp: Likewise.
33245
33246 2010-01-26  Eric Blake  <ebb9@byu.net>
33247
33248         ignore-value: update recommended header name
33249         * modules/ignore-value (Include): Only use <> for headers that
33250         exist in glibc.
33251
33252 2010-01-26  Jim Meyering  <meyering@redhat.com>
33253
33254         test-userspec.c: avoid compiler warnings
33255         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
33256         and "initialization discards qualifiers..." warnings.
33257         Put the first "uid" in its own scope, and make char* members "const".
33258
33259 2010-01-25  Bruno Haible  <bruno@clisp.org>
33260
33261         gnulib-tool: Make warning diagnostics consistent.
33262         * gnulib-tool (func_warning): New function.
33263         Use it everywhere where gnulib-tool produces output to stderr and it is
33264         not a fatal error.
33265
33266 2010-01-25  Bruno Haible  <bruno@clisp.org>
33267
33268         Fix test dependencies.
33269         * modules/xstrtol-tests (Depends-on): Add inttypes.
33270         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
33271
33272 2010-01-25 Pádraig Brady <P@draigBrady.com>
33273
33274         syntax-check: detect incorrect boolean macro values in config.h
33275         * modules/maintainer-makefile (configure.ac): Parameterize the location
33276         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
33277         The logic is from Eric Blake and the location indicated by Jim Meyering.
33278         Note the more natural CONFIG_HEADER name is prohibited by automake
33279         for backwards compatibility reasons.
33280         * top/maint.mk (sc_Wundef_boolean): New rule.
33281
33282 2010-01-25  Jim Meyering  <meyering@redhat.com>
33283
33284         bootstrap: detect MacOS 10.6's shasum, too
33285         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
33286         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
33287
33288 2010-01-23  Jim Meyering  <meyering@redhat.com>
33289
33290         xstrtoll: new module
33291         * modules/xstrtoll: New file.
33292         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
33293         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
33294         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
33295         ./configure fails if you use this module and lack "long long".
33296         * modules/xstrtoll-tests: New module.
33297         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
33298         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
33299         new init.sh-based test framework.
33300
33301 2010-01-24  Bruno Haible  <bruno@clisp.org>
33302
33303         Tests for module 'yn'.
33304         * modules/yn-tests: New file.
33305         * tests/test-yn.c: New file.
33306
33307         Tests for module 'y1'.
33308         * modules/y1-tests: New file.
33309         * tests/test-y1.c: New file.
33310
33311         Tests for module 'y0'.
33312         * modules/y0-tests: New file.
33313         * tests/test-y0.c: New file.
33314
33315         Tests for module 'tanh'.
33316         * modules/tanh-tests: New file.
33317         * tests/test-tanh.c: New file.
33318
33319         Tests for module 'tan'.
33320         * modules/tan-tests: New file.
33321         * tests/test-tan.c: New file.
33322
33323         Tests for module 'sqrt'.
33324         * modules/sqrt-tests: New file.
33325         * tests/test-sqrt.c: New file.
33326
33327         Tests for module 'sinh'.
33328         * modules/sinh-tests: New file.
33329         * tests/test-sinh.c: New file.
33330
33331         Tests for module 'sin'.
33332         * modules/sin-tests: New file.
33333         * tests/test-sin.c: New file.
33334
33335         Tests for module 'rint'.
33336         * modules/rint-tests: New file.
33337         * tests/test-rint.c: New file.
33338
33339         Tests for module 'remainder'.
33340         * modules/remainder-tests: New file.
33341         * tests/test-remainder.c: New file.
33342
33343         Tests for module 'pow'.
33344         * modules/pow-tests: New file.
33345         * tests/test-pow.c: New file.
33346
33347         Tests for module 'nextafter'.
33348         * modules/nextafter-tests: New file.
33349         * tests/test-nextafter.c: New file.
33350
33351         Tests for module 'modf'.
33352         * modules/modf-tests: New file.
33353         * tests/test-modf.c: New file.
33354
33355         Tests for module 'logb'.
33356         * modules/logb-tests: New file.
33357         * tests/test-logb.c: New file.
33358
33359         Tests for module 'log1p'.
33360         * modules/log1p-tests: New file.
33361         * tests/test-log1p.c: New file.
33362
33363         Tests for module 'log10'.
33364         * modules/log10-tests: New file.
33365         * tests/test-log10.c: New file.
33366
33367         Tests for module 'log'.
33368         * modules/log-tests: New file.
33369         * tests/test-log.c: New file.
33370
33371         Tests for module 'lgamma'.
33372         * modules/lgamma-tests: New file.
33373         * tests/test-lgamma.c: New file.
33374
33375         Tests for module 'ldexp'.
33376         * modules/ldexp-tests: New file.
33377         * tests/test-ldexp.c: New file.
33378
33379         Tests for module 'jn'.
33380         * modules/jn-tests: New file.
33381         * tests/test-jn.c: New file.
33382
33383         Tests for module 'j1'.
33384         * modules/j1-tests: New file.
33385         * tests/test-j1.c: New file.
33386
33387         Tests for module 'j0'.
33388         * modules/j0-tests: New file.
33389         * tests/test-j0.c: New file.
33390
33391         Tests for module 'hypot'.
33392         * modules/hypot-tests: New file.
33393         * tests/test-hypot.c: New file.
33394
33395         Tests for module 'fmod'.
33396         * modules/fmod-tests: New file.
33397         * tests/test-fmod.c: New file.
33398
33399         Tests for module 'fabs'.
33400         * modules/fabs-tests: New file.
33401         * tests/test-fabs.c: New file.
33402
33403         Tests for module 'exp'.
33404         * modules/exp-tests: New file.
33405         * tests/test-exp.c: New file.
33406
33407         Tests for module 'erfc'.
33408         * modules/erfc-tests: New file.
33409         * tests/test-erfc.c: New file.
33410
33411         Tests for module 'erf'.
33412         * modules/erf-tests: New file.
33413         * tests/test-erf.c: New file.
33414
33415         Tests for module 'cosh'.
33416         * modules/cosh-tests: New file.
33417         * tests/test-cosh.c: New file.
33418
33419         Tests for module 'cos'.
33420         * modules/cos-tests: New file.
33421         * tests/test-cos.c: New file.
33422
33423         Tests for module 'copysign'.
33424         * modules/copysign-tests: New file.
33425         * tests/test-copysign.c: New file.
33426
33427         Tests for module 'cbrt'.
33428         * modules/cbrt-tests: New file.
33429         * tests/test-cbrt.c: New file.
33430
33431         Tests for module 'atan2'.
33432         * modules/atan2-tests: New file.
33433         * tests/test-atan2.c: New file.
33434
33435         Tests for module 'atan'.
33436         * modules/atan-tests: New file.
33437         * tests/test-atan.c: New file.
33438
33439         Tests for module 'asin'.
33440         * modules/asin-tests: New file.
33441         * tests/test-asin.c: New file.
33442
33443         Tests for module 'acos'.
33444         * modules/acos-tests: New file.
33445         * tests/test-acos.c: New file.
33446
33447 2010-01-24  Bruno Haible  <bruno@clisp.org>
33448
33449         Fix tests for common <math.h> functions.
33450         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
33451         code snippet that references the function pointer, rather than merely
33452         calling the function. Substitute the FUNC_LIBM variable.
33453         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
33454         * modules/acos (configure.ac): Likewise.
33455         * modules/asin (configure.ac): Likewise.
33456         * modules/atan (configure.ac): Likewise.
33457         * modules/atan2 (configure.ac): Likewise.
33458         * modules/cbrt (configure.ac): Likewise.
33459         * modules/copysign (configure.ac): Likewise.
33460         * modules/cos (configure.ac): Likewise.
33461         * modules/cosh (configure.ac): Likewise.
33462         * modules/erf (configure.ac): Likewise.
33463         * modules/erfc (configure.ac): Likewise.
33464         * modules/exp (configure.ac): Likewise.
33465         * modules/fabs (configure.ac): Likewise.
33466         * modules/fmod (configure.ac): Likewise.
33467         * modules/hypot (configure.ac): Likewise.
33468         * modules/j0 (configure.ac): Likewise.
33469         * modules/j1 (configure.ac): Likewise.
33470         * modules/jn (configure.ac): Likewise.
33471         * modules/ldexp (configure.ac): Likewise.
33472         * modules/lgamma (configure.ac): Likewise.
33473         * modules/log (configure.ac): Likewise.
33474         * modules/log10 (configure.ac): Likewise.
33475         * modules/log1p (configure.ac): Likewise.
33476         * modules/logb (configure.ac): Likewise.
33477         * modules/modf (configure.ac): Likewise.
33478         * modules/nextafter (configure.ac): Likewise.
33479         * modules/pow (configure.ac): Likewise.
33480         * modules/remainder (configure.ac): Likewise.
33481         * modules/rint (configure.ac): Likewise.
33482         * modules/sin (configure.ac): Likewise.
33483         * modules/sinh (configure.ac): Likewise.
33484         * modules/tan (configure.ac): Likewise.
33485         * modules/tanh (configure.ac): Likewise.
33486         * modules/y0 (configure.ac): Likewise.
33487         * modules/y1 (configure.ac): Likewise.
33488         * modules/yn (configure.ac): Likewise.
33489
33490 2010-01-24  Bruno Haible  <bruno@clisp.org>
33491
33492         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
33493         * tests/test-acosl.c (x): New variable.
33494         (main): Store argument in x and fetch it from x.
33495         * tests/test-asinl.c (x): New variable.
33496         (main): Store argument in x and fetch it from x.
33497         * tests/test-atanl.c (x): New variable.
33498         (main): Store argument in x and fetch it from x.
33499         * tests/test-cosl.c (x): New variable.
33500         (main): Store argument in x and fetch it from x.
33501         * tests/test-expl.c (x): New variable.
33502         (main): Store argument in x and fetch it from x.
33503         * tests/test-logl.c (x): New variable.
33504         (main): Store argument in x and fetch it from x.
33505         * tests/test-sinl.c (x): New variable.
33506         (main): Store argument in x and fetch it from x.
33507         * tests/test-sqrtl.c (x): New variable.
33508         (main): Store argument in x and fetch it from x.
33509         * tests/test-tanl.c (x): New variable.
33510         (main): Store argument in x and fetch it from x.
33511
33512 2010-01-24  Bruno Haible  <bruno@clisp.org>
33513
33514         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
33515         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
33516         assignments to the initial TESTS_ENVIRONMENT.
33517         * doc/gnulib.texi (Unit test modules): Document it.
33518         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
33519         TESTS_ENVIRONMENT.
33520         * modules/btowc-tests (Makefile.am): Likewise.
33521         * modules/c-stack-tests (Makefile.am): Likewise.
33522         * modules/c-strcase-tests (Makefile.am): Likewise.
33523         * modules/copy-file-tests (Makefile.am): Likewise.
33524         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
33525         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
33526         * modules/mbrtowc-tests (Makefile.am): Likewise.
33527         * modules/mbscasecmp-tests (Makefile.am): Likewise.
33528         * modules/mbscasestr-tests (Makefile.am): Likewise.
33529         * modules/mbschr-tests (Makefile.am): Likewise.
33530         * modules/mbscspn-tests (Makefile.am): Likewise.
33531         * modules/mbsinit-tests (Makefile.am): Likewise.
33532         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
33533         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
33534         * modules/mbspbrk-tests (Makefile.am): Likewise.
33535         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
33536         * modules/mbsrchr-tests (Makefile.am): Likewise.
33537         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
33538         * modules/mbsspn-tests (Makefile.am): Likewise.
33539         * modules/mbsstr-tests (Makefile.am): Likewise.
33540         * modules/nl_langinfo-tests (Makefile.am): Likewise.
33541         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
33542         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
33543         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
33544         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
33545         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
33546         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
33547         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
33548         * modules/wcrtomb-tests (Makefile.am): Likewise.
33549         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
33550         * modules/wcsrtombs-tests (Makefile.am): Likewise.
33551         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
33552         assignments from TESTS_ENVIRONMENT.
33553         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
33554         augmentation.
33555         * modules/argp-version-etc-tests (Makefile.am): Likewise.
33556         * modules/atexit-tests (Makefile.am): Likewise.
33557         * modules/binary-io-tests (Makefile.am): Likewise.
33558         * modules/closein-tests (Makefile.am): Likewise.
33559         * modules/dprintf-posix-tests (Makefile.am): Likewise.
33560         * modules/exclude-tests (Makefile.am): Likewise.
33561         * modules/fflush-tests (Makefile.am): Likewise.
33562         * modules/fpending-tests (Makefile.am): Likewise.
33563         * modules/fprintf-posix-tests (Makefile.am): Likewise.
33564         * modules/freadahead-tests (Makefile.am): Likewise.
33565         * modules/freadptr-tests (Makefile.am): Likewise.
33566         * modules/freadseek-tests (Makefile.am): Likewise.
33567         * modules/fseek-tests (Makefile.am): Likewise.
33568         * modules/fseeko-tests (Makefile.am): Likewise.
33569         * modules/ftell-tests (Makefile.am): Likewise.
33570         * modules/ftello-tests (Makefile.am): Likewise.
33571         * modules/idpriv-drop-tests (Makefile.am): Likewise.
33572         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
33573         * modules/lseek-tests (Makefile.am): Likewise.
33574         * modules/parse-duration-tests (Makefile.am): Likewise.
33575         * modules/perror-tests (Makefile.am): Likewise.
33576         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
33577         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
33578         * modules/pipe-tests (Makefile.am): Likewise.
33579         * modules/pread-tests (Makefile.am): Likewise.
33580         * modules/printf-posix-tests (Makefile.am): Likewise.
33581         * modules/select-tests (Makefile.am): Likewise.
33582         * modules/sigpipe-tests (Makefile.am): Likewise.
33583         * modules/tsearch-tests (Makefile.am): Likewise.
33584         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
33585         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
33586         * modules/uniname/uniname-tests (Makefile.am): Likewise.
33587         * modules/uniwidth/width-tests (Makefile.am): Likewise.
33588         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
33589         * modules/version-etc-tests (Makefile.am): Likewise.
33590         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
33591         * modules/vprintf-posix-tests (Makefile.am): Likewise.
33592         * modules/xalloc-die-tests (Makefile.am): Likewise.
33593         * modules/xprintf-posix-tests (Makefile.am): Likewise.
33594         * modules/xstrtoimax-tests (Makefile.am): Likewise.
33595         * modules/xstrtol-tests (Makefile.am): Likewise.
33596         * modules/xstrtoumax-tests (Makefile.am): Likewise.
33597         * modules/yesno-tests (Makefile.am): Likewise.
33598         Suggested by Jim Meyering.
33599
33600 2010-01-24  Bruno Haible  <bruno@clisp.org>
33601
33602         More documentation.
33603         * doc/gnulib.texi (Writing modules): New chapter.
33604         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
33605         the new chapter.
33606
33607 2010-01-24  Jim Meyering  <meyering@redhat.com>
33608
33609         maint.mk: do not prepend "./" after filtering
33610         * top/maint.mk (_prepend_srcdir_prefix): New variable
33611         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
33612         "./" when $(srcdir) is ".".
33613
33614         define STREQ(a,b) consistently, removing useless parentheses
33615         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
33616         since the only risk is that "a" or "b" contains an unparenthesized
33617         comma, but if either did that, STREQ would have 3 or more arguments.
33618         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
33619         * lib/fts.c (STREQ): Remove unnecessary parentheses.
33620         * lib/hash-triple.c (STREQ): Likewise.
33621         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
33622         * lib/getugroups.c (STREQ): Likewise.
33623
33624 2010-01-23  Jim Meyering  <meyering@redhat.com>
33625
33626         maint.mk: fix syntax-check in a non-srcdir build directory
33627         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
33628         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
33629
33630 2010-01-22  Jim Meyering  <meyering@redhat.com>
33631
33632         userspec: add unit tests
33633         * tests/test-userspec.c: New file.
33634         * modules/userspec-tests: Likewise.
33635
33636 2010-01-21  Jim Meyering  <meyering@redhat.com>
33637
33638         maint.mk: handle source file names containing "." robustly
33639         * top/maint.mk (_dot_escaped_srcdir): Define.
33640         (VC_LIST): Use it in LHS of sed substitution.
33641
33642 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
33643
33644         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
33645         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
33646         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
33647         from a non-srcdir build.
33648
33649 2010-01-20  Eric Blake  <ebb9@byu.net>
33650
33651         warn-on-use: use instead of link-warning
33652         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
33653         * modules/unistd (Depends-on, Makefile.am): Likewise.
33654         * modules/arpa_inet (Depends-on): Replace link-warning with
33655         warn-on-use.
33656         (Makefile.am): Update rules accordingly.
33657         * modules/ctype (Depends-on, Makefile.am): Likewise.
33658         * modules/dirent (Depends-on, Makefile.am): Likewise.
33659         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
33660         * modules/inttypes (Depends-on, Makefile.am): Likewise.
33661         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33662         * modules/locale (Depends-on, Makefile.am): Likewise.
33663         * modules/math (Depends-on, Makefile.am): Likewise.
33664         * modules/search (Depends-on, Makefile.am): Likewise.
33665         * modules/signal (Depends-on, Makefile.am): Likewise.
33666         * modules/spawn (Depends-on, Makefile.am): Likewise.
33667         * modules/stdlib (Depends-on, Makefile.am): Likewise.
33668         * modules/string (Depends-on, Makefile.am): Likewise.
33669         * modules/strings (Depends-on, Makefile.am): Likewise.
33670         * modules/sys_file (Depends-on, Makefile.am): Likewise.
33671         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
33672         * modules/sys_select (Depends-on, Makefile.am): Likewise.
33673         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
33674         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
33675         * modules/sys_times (Depends-on, Makefile.am): Likewise.
33676         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33677         * modules/wchar (Depends-on, Makefile.am): Likewise.
33678         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
33679         should be poisoned.
33680         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
33681         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
33682         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
33683         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33684         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33685         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
33686         * m4/math_h.m4 (gl_MATH_H): Likewise.
33687         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33688         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
33689         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
33690         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
33691         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
33692         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
33693         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33694         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
33695         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
33696         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33697         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
33698         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
33699         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33700         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33701         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
33702         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33703         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
33704         GL_LINK_WARNING.
33705         * lib/ctype.in.h: Likewise.
33706         * lib/dirent.in.h: Likewise.
33707         * lib/fcntl.in.h: Likewise.
33708         * lib/inttypes.in.h: Likewise.
33709         * lib/langinfo.in.h: Likewise.
33710         * lib/locale.in.h: Likewise.
33711         * lib/math.in.h: Likewise.
33712         * lib/search.in.h: Likewise.
33713         * lib/signal.in.h: Likewise.
33714         * lib/spawn.in.h: Likewise.
33715         * lib/stdio.in.h: Likewise.
33716         * lib/stdlib.in.h: Likewise.
33717         * lib/string.in.h: Likewise.
33718         * lib/strings.in.h: Likewise.
33719         * lib/sys_file.in.h: Likewise.
33720         * lib/sys_ioctl.in.h: Likewise.
33721         * lib/sys_select.in.h: Likewise.
33722         * lib/sys_socket.in.h: Likewise.
33723         * lib/sys_stat.in.h: Likewise.
33724         * lib/sys_times.in.h: Likewise.
33725         * lib/sys_utsname.in.h: Likewise.
33726         * lib/unistd.in.h: Likewise.
33727         * lib/wchar.in.h: Likewise.
33728
33729 2010-01-20  Bruno Haible  <bruno@clisp.org>
33730
33731         Avoid duplicate -lm.
33732         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
33733         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
33734         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
33735         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
33736         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
33737         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
33738         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
33739         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
33740         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
33741         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
33742         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
33743         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
33744         Reported by Paolo Bonzini.
33745
33746 2010-01-19  Bruno Haible  <bruno@clisp.org>
33747
33748         langinfo, nl_langinfo: Relicense under LGPLv2+.
33749         * modules/langinfo (License): Change to LGPLv2+.
33750         * modules/nl_langinfo (License): Likewise.
33751         Patch by David Lutterkort <lutter@redhat.com>.
33752
33753 2010-01-19  Bruno Haible  <bruno@clisp.org>
33754
33755         Avoid compilation error with cc on OSF/1 5.1.
33756         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
33757         statement, not before.
33758         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33759
33760 2010-01-18  Bruno Haible  <bruno@clisp.org>
33761
33762         Avoid a link error due to the __printf__ symbol.
33763         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
33764         and 2.6.x.
33765         (__format__, __printf__): Remove definitions.
33766         * lib/argp-fmtstream.h: Likewise.
33767         * lib/argp.h: Likewise.
33768         * lib/error.h: Likewise.
33769         * lib/vasnprintf.h: Likewise.
33770         * lib/xprintf.h: Likewise.
33771         * lib/xvasprintf.h: Likewise.
33772         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33773
33774 2010-01-18  Bruno Haible  <bruno@clisp.org>
33775
33776         Tests for module 'tanl'.
33777         * modules/tanl-tests: New file.
33778         * tests/test-tanl.c: New file.
33779
33780         Tests for module 'sqrtl'.
33781         * modules/sqrtl-tests: New file.
33782         * tests/test-sqrtl.c: New file.
33783
33784         Tests for module 'sinl'.
33785         * modules/sinl-tests: New file.
33786         * tests/test-sinl.c: New file.
33787
33788         Tests for module 'logl'.
33789         * modules/logl-tests: New file.
33790         * tests/test-logl.c: New file.
33791
33792         Tests for module 'expl'.
33793         * modules/expl-tests: New file.
33794         * tests/test-expl.c: New file.
33795
33796         Tests for module 'cosl'.
33797         * modules/cosl-tests: New file.
33798         * tests/test-cosl.c: New file.
33799
33800         Tests for module 'atanl'.
33801         * modules/atanl-tests: New file.
33802         * tests/test-atanl.c: New file.
33803
33804         Tests for module 'asinl'.
33805         * modules/asinl-tests: New file.
33806         * tests/test-asinl.c: New file.
33807
33808         Tests for module 'acosl'.
33809         * modules/acosl-tests: New file.
33810         * tests/test-acosl.c: New file.
33811
33812         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33813         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
33814         tanl): Use the standard gnulib idiom.
33815         * lib/cosl.c: Don't include trigl.c and sincosl.c.
33816         * lib/sinl.c: Likewise.
33817         * lib/tanl.c: Don't include trigl.c.
33818         (kernel_tanl): Make static.
33819         * lib/sincosl.c: Include trigl.h first.
33820         * lib/trigl.c: Likewise.
33821         * m4/acosl.m4: New file.
33822         * m4/asinl.m4: New file.
33823         * m4/atanl.m4: New file.
33824         * m4/cosl.m4: New file.
33825         * m4/expl.m4: New file.
33826         * m4/logl.m4: New file.
33827         * m4/sinl.m4: New file.
33828         * m4/sqrtl.m4: New file.
33829         * m4/tanl.m4: New file.
33830         * m4/mathl.m4: Remove file.
33831         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
33832         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
33833         Don't initialize GNULIB_MATHL.
33834         * modules/acosl: New file.
33835         * modules/asinl: New file.
33836         * modules/atanl: New file.
33837         * modules/cosl: New file.
33838         * modules/expl: New file.
33839         * modules/logl: New file.
33840         * modules/sinl: New file.
33841         * modules/sqrtl: New file.
33842         * modules/tanl: New file.
33843         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
33844         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
33845         substitute GNULIB_MATHL.
33846         * modules/mathl: Rewritten.
33847         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
33848         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
33849         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
33850         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
33851         * doc/posix-functions/expl.texi: Mention the 'expl' module.
33852         * doc/posix-functions/logl.texi: Mention the 'logl' module.
33853         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
33854         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
33855         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
33856
33857 2010-01-18  Bruno Haible  <bruno@clisp.org>
33858
33859         sqrt: Make gl_FUNC_SQRT requirable.
33860         * m4/sqrt.m4: New file.
33861         * modules/sqrt (Files): Add it.
33862         (configure.ac): Invoke gl_FUNC_SQRT.
33863
33864 2010-01-18  Bruno Haible  <bruno@clisp.org>
33865
33866         New modules for common <math.h> functions.
33867         * m4/mathfunc.m4: New file.
33868         * modules/acos: New file.
33869         * modules/asin: New file.
33870         * modules/atan: New file.
33871         * modules/atan2: New file.
33872         * modules/cbrt: New file.
33873         * modules/copysign: New file.
33874         * modules/cos: New file.
33875         * modules/cosh: New file.
33876         * modules/erf: New file.
33877         * modules/erfc: New file.
33878         * modules/exp: New file.
33879         * modules/fabs: New file.
33880         * modules/fmod: New file.
33881         * modules/hypot: New file.
33882         * modules/j0: New file.
33883         * modules/j1: New file.
33884         * modules/jn: New file.
33885         * modules/ldexp: New file.
33886         * modules/lgamma: New file.
33887         * modules/log: New file.
33888         * modules/log10: New file.
33889         * modules/log1p: New file.
33890         * modules/logb: New file.
33891         * modules/modf: New file.
33892         * modules/nextafter: New file.
33893         * modules/pow: New file.
33894         * modules/remainder: New file.
33895         * modules/rint: New file.
33896         * modules/sin: New file.
33897         * modules/sinh: New file.
33898         * modules/sqrt: New file.
33899         * modules/tan: New file.
33900         * modules/tanh: New file.
33901         * modules/y0: New file.
33902         * modules/y1: New file.
33903         * modules/yn: New file.
33904         * doc/posix-functions/acos.texi: Mention the 'acos' module.
33905         * doc/posix-functions/asin.texi: Mention the 'asin' module.
33906         * doc/posix-functions/atan.texi: Mention the 'atan' module.
33907         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
33908         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
33909         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
33910         * doc/posix-functions/cos.texi: Mention the 'cos' module.
33911         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
33912         * doc/posix-functions/erf.texi: Mention the 'erf' module.
33913         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
33914         * doc/posix-functions/exp.texi: Mention the 'exp' module.
33915         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
33916         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
33917         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
33918         * doc/posix-functions/j0.texi: Mention the 'j0' module.
33919         * doc/posix-functions/j1.texi: Mention the 'j1' module.
33920         * doc/posix-functions/jn.texi: Mention the 'jn' module.
33921         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
33922         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
33923         * doc/posix-functions/log.texi: Mention the 'log' module.
33924         * doc/posix-functions/log10.texi: Mention the 'log10' module.
33925         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
33926         * doc/posix-functions/logb.texi: Mention the 'logb' module.
33927         * doc/posix-functions/modf.texi: Mention the 'modf' module.
33928         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
33929         * doc/posix-functions/pow.texi: Mention the 'pow' module.
33930         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
33931         * doc/posix-functions/rint.texi: Mention the 'rint' module.
33932         * doc/posix-functions/sin.texi: Mention the 'sin' module.
33933         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
33934         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
33935         * doc/posix-functions/tan.texi: Mention the 'tan' module.
33936         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
33937         * doc/posix-functions/y0.texi: Mention the 'y0' module.
33938         * doc/posix-functions/y1.texi: Mention the 'y1' module.
33939         * doc/posix-functions/yn.texi: Mention the 'yn' module.
33940
33941 2010-01-18  Jim Meyering  <meyering@redhat.com>
33942
33943         ignore-value: relax license to LGPLv2+
33944         * modules/ignore-value (License): Relax to LGPLv2+.
33945
33946         getdate: don't leak when TZ contains two or more '"'s
33947         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
33948         double quote in TZ after the first one.
33949
33950         readtokens: do not leak internal token_lengths buffer
33951         * lib/readtokens.c (readtokens): Free the local, lengths,
33952         when the supplied "token_lengths" parameter is NULL.
33953
33954 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33955
33956         Fix a couple of missing LIBTHREAD link failures on AIX.
33957         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
33958         $(LIBTHREAD).
33959         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
33960
33961         Link test-poll against INET_PTON_LIB.
33962         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
33963         for inet_pton on Solaris 10.
33964
33965 2010-01-17  Bruno Haible  <bruno@clisp.org>
33966
33967         unistdio/*-sprintf: Fix typo in module description.
33968         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
33969         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
33970         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
33971         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
33972         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
33973         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
33974         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
33975         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33976
33977 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33978
33979         gnulib-tool: fix filelist for AIX, HP-UX ksh.
33980         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
33981         variables in shell case patterns, for AIX and HP-UX ksh.
33982
33983         Split large sed scripts, for HP-UX sed.
33984         * modules/stdio: Split sed scripts around 50 sed commands,
33985         to avoid HP-UX limit of 99 commands, in the near future.
33986         * modules/string: Likewise.
33987         * modules/unistd: Likewise.
33988
33989         gnulib-tool: avoid writing in the current directory.
33990         * gnulib-tool (func_emit_lib_Makefile_am)
33991         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
33992         not in the current directory, so concurrent gnulib-tool
33993         instances do not interfere.
33994
33995 2010-01-16  Jim Meyering  <meyering@redhat.com>
33996
33997         doc: update users.txt
33998         * users.txt: Add grep.
33999         (diffutils, gzip): Update URLs.
34000
34001 2010-01-12  Bruno Haible  <bruno@clisp.org>
34002
34003         posix_spawn: Avoid test failure on Cygwin.
34004         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
34005         characters.
34006         Reported by Simon Josefsson.
34007
34008 2010-01-12  Bruno Haible  <bruno@clisp.org>
34009
34010         * tests/test-cond.c (main): When skipping the test, show the reason.
34011
34012 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34013
34014         * lib/striconv.c (str_cd_iconv): Avoid if before free.
34015
34016 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34017
34018         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
34019         VC_LIST_ALWAYS_EXCLUDE_REGEX.
34020
34021 2010-01-12  Eric Blake  <ebb9@byu.net>
34022
34023         build: guarantee AS_VAR_IF
34024         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
34025         (gl_AS_VAR_IF): Move...
34026         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
34027         Reported by Simon Josefsson.
34028
34029 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34030
34031         * lib/stdio.in.h: Fix typo.
34032
34033 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34034
34035         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
34036         libgpg-error.
34037
34038 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34039
34040         * tests/test-xalloc-die.sh: Use $EXEEXT.
34041
34042 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34043             Bruno Haible  <bruno@clisp.org>
34044
34045         getlogin, getlogin_r: Avoid test failure.
34046         * tests/test-getlogin.c: Include <stdio.h>.
34047         (main): Skip the test when the function fails because stdin is not a
34048         tty.
34049         * tests/test-getlogin_r.c: Include <stdio.h>.
34050         (main): Skip the test when the function fails because stdin is not a
34051         tty.
34052
34053 2010-01-11  Eric Blake  <ebb9@byu.net>
34054
34055         tests: avoid more large file warnings
34056         * tests/test-fflush.c: Avoid warning about ftell use.
34057         * tests/test-fseek.c: Avoid warning about fseek use.
34058
34059 2010-01-10  Bruno Haible  <bruno@clisp.org>
34060
34061         nproc: Work better on Linux when /proc and /sys are not mounted.
34062         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
34063         as lower bound when, on glibc/Linux systems,
34064         sysconf (_SC_NPROCESSORS_CONF) returns 1.
34065         Suggested by Pádraig Brady <P@draigbrady.com>.
34066         Reported by Dmitry V. Levin <ldv@altlinux.org>.
34067
34068         nproc: Refactor.
34069         * lib/nproc.c (num_processors_via_affinity_mask): New function,
34070         extracted from num_processors.
34071         (num_processors): Call it.
34072
34073 2010-01-11  Jim Meyering  <meyering@redhat.com>
34074
34075         utimecmp: avoid new warning from upcoming gcc-4.5.0
34076         * lib/utimecmp.c (BILLION): Define using #define rather than an
34077         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
34078
34079 2010-01-11  Eric Blake  <ebb9@byu.net>
34080
34081         math: add portability warnings for classification macros
34082         * modules/math (Depends-on): Add warn-on-use.
34083         (Makefile.am): Provide new substitutions.
34084         * m4/math_h.m4 (gl_MATH_H): Require inline.
34085         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
34086         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
34087         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
34088         implement warnings.
34089
34090         unistd: warn on use of environ without module
34091         * modules/unistd (Depends-on): Add warn-on-use.
34092         (Makefile.am): Provide new substitutions.
34093         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
34094         * lib/unistd.in.h (environ): Wrap with a warning helper function.
34095
34096         stdio: warn on suspicious uses
34097         * modules/stdio (Depends-on): Add warn-on-use.
34098         (Makefile.am): Provide new substitutions.
34099         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
34100         fseeko.
34101         * lib/stdio.in.h (gets): Always warn on use.
34102         (fseek, ftell): Adjust when warnings are issued, and honor
34103         _GL_NO_LARGE_FILES as a way to silence the warning.
34104         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
34105         any warning about large file offsets.
34106         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
34107         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
34108         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
34109         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
34110         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
34111         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
34112         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
34113         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
34114
34115         warn-on-use: new module
34116         * modules/warn-on-use: New file.
34117         * build-aux/warn-on-use.h: Likewise.
34118         * m4/warn-on-use.m4: Likewise.
34119         * MODULES.html.sh (Support for building): Mention it.
34120
34121 2010-01-10  Bruno Haible  <bruno@clisp.org>
34122
34123         Tests for module 'unistr/u32-strdup'.
34124         * modules/unistr/u32-strdup-tests: New file.
34125         * tests/unistr/test-u32-strdup.c: New file.
34126
34127         Tests for module 'unistr/u16-strdup'.
34128         * modules/unistr/u16-strdup-tests: New file.
34129         * tests/unistr/test-u16-strdup.c: New file.
34130
34131         Tests for module 'unistr/u8-strdup'.
34132         * modules/unistr/u8-strdup-tests: New file.
34133         * tests/unistr/test-u8-strdup.c: New file.
34134         * tests/unistr/test-strdup.h: New file.
34135
34136         Tests for module 'unistr/u32-strncmp'.
34137         * modules/unistr/u32-strncmp-tests: New file.
34138         * tests/unistr/test-u32-strncmp.c: New file.
34139
34140         Tests for module 'unistr/u16-strncmp'.
34141         * modules/unistr/u16-strncmp-tests: New file.
34142         * tests/unistr/test-u16-strncmp.c: New file.
34143
34144         Tests for module 'unistr/u8-strncmp'.
34145         * modules/unistr/u8-strncmp-tests: New file.
34146         * tests/unistr/test-u8-strncmp.c: New file.
34147         * tests/unistr/test-strncmp.h: New file.
34148
34149         Tests for module 'unistr/u32-strcoll'.
34150         * modules/unistr/u32-strcoll-tests: New file.
34151         * tests/unistr/test-u32-strcoll.c: New file.
34152
34153         Tests for module 'unistr/u16-strcoll'.
34154         * modules/unistr/u16-strcoll-tests: New file.
34155         * tests/unistr/test-u16-strcoll.c: New file.
34156
34157         Tests for module 'unistr/u8-strcoll'.
34158         * modules/unistr/u8-strcoll-tests: New file.
34159         * tests/unistr/test-u8-strcoll.c: New file.
34160
34161         Tests for module 'unistr/u32-strcmp'.
34162         * modules/unistr/u32-strcmp-tests: New file.
34163         * tests/unistr/test-u32-strcmp.c: New file.
34164         * tests/unistr/test-u32-strcmp.h: New file.
34165
34166         Tests for module 'unistr/u16-strcmp'.
34167         * modules/unistr/u16-strcmp-tests: New file.
34168         * tests/unistr/test-u16-strcmp.c: New file.
34169         * tests/unistr/test-u16-strcmp.h: New file.
34170
34171         Tests for module 'unistr/u8-strcmp'.
34172         * modules/unistr/u8-strcmp-tests: New file.
34173         * tests/unistr/test-u8-strcmp.c: New file.
34174         * tests/unistr/test-u8-strcmp.h: New file.
34175         * tests/unistr/test-strcmp.h: New file.
34176
34177         Tests for module 'unistr/u32-strncat'.
34178         * modules/unistr/u32-strncat-tests: New file.
34179         * tests/unistr/test-u32-strncat.c: New file.
34180
34181         Tests for module 'unistr/u16-strncat'.
34182         * modules/unistr/u16-strncat-tests: New file.
34183         * tests/unistr/test-u16-strncat.c: New file.
34184
34185         Tests for module 'unistr/u8-strncat'.
34186         * modules/unistr/u8-strncat-tests: New file.
34187         * tests/unistr/test-u8-strncat.c: New file.
34188         * tests/unistr/test-strncat.h: New file.
34189
34190         Tests for module 'unistr/u32-strcat'.
34191         * modules/unistr/u32-strcat-tests: New file.
34192         * tests/unistr/test-u32-strcat.c: New file.
34193
34194         Tests for module 'unistr/u16-strcat'.
34195         * modules/unistr/u16-strcat-tests: New file.
34196         * tests/unistr/test-u16-strcat.c: New file.
34197
34198         Tests for module 'unistr/u8-strcat'.
34199         * modules/unistr/u8-strcat-tests: New file.
34200         * tests/unistr/test-u8-strcat.c: New file.
34201         * tests/unistr/test-strcat.h: New file.
34202
34203         Tests for module 'unistr/u32-stpncpy'.
34204         * modules/unistr/u32-stpncpy-tests: New file.
34205         * tests/unistr/test-u32-stpncpy.c: New file.
34206
34207         Tests for module 'unistr/u16-stpncpy'.
34208         * modules/unistr/u16-stpncpy-tests: New file.
34209         * tests/unistr/test-u16-stpncpy.c: New file.
34210
34211         Tests for module 'unistr/u8-stpncpy'.
34212         * modules/unistr/u8-stpncpy-tests: New file.
34213         * tests/unistr/test-u8-stpncpy.c: New file.
34214         * tests/unistr/test-stpncpy.h: New file.
34215
34216         Tests for module 'unistr/u32-strncpy'.
34217         * modules/unistr/u32-strncpy-tests: New file.
34218         * tests/unistr/test-u32-strncpy.c: New file.
34219
34220         Tests for module 'unistr/u16-strncpy'.
34221         * modules/unistr/u16-strncpy-tests: New file.
34222         * tests/unistr/test-u16-strncpy.c: New file.
34223
34224         Tests for module 'unistr/u8-strncpy'.
34225         * modules/unistr/u8-strncpy-tests: New file.
34226         * tests/unistr/test-u8-strncpy.c: New file.
34227         * tests/unistr/test-strncpy.h: New file.
34228
34229         Tests for module 'unistr/u32-stpcpy'.
34230         * modules/unistr/u32-stpcpy-tests: New file.
34231         * tests/unistr/test-u32-stpcpy.c: New file.
34232
34233         Tests for module 'unistr/u16-stpcpy'.
34234         * modules/unistr/u16-stpcpy-tests: New file.
34235         * tests/unistr/test-u16-stpcpy.c: New file.
34236
34237         Tests for module 'unistr/u8-stpcpy'.
34238         * modules/unistr/u8-stpcpy-tests: New file.
34239         * tests/unistr/test-u8-stpcpy.c: New file.
34240         * tests/unistr/test-stpcpy.h: New file.
34241
34242         Tests for module 'unistr/u32-strcpy'.
34243         * modules/unistr/u32-strcpy-tests: New file.
34244         * tests/unistr/test-u32-strcpy.c: New file.
34245
34246         Tests for module 'unistr/u16-strcpy'.
34247         * modules/unistr/u16-strcpy-tests: New file.
34248         * tests/unistr/test-u16-strcpy.c: New file.
34249
34250         Tests for module 'unistr/u8-strcpy'.
34251         * modules/unistr/u8-strcpy-tests: New file.
34252         * tests/unistr/test-u8-strcpy.c: New file.
34253         * tests/unistr/test-strcpy.h: New file.
34254
34255         Tests for module 'unistr/u32-strnlen'.
34256         * modules/unistr/u32-strnlen-tests: New file.
34257         * tests/unistr/test-u32-strnlen.c: New file.
34258
34259         Tests for module 'unistr/u16-strnlen'.
34260         * modules/unistr/u16-strnlen-tests: New file.
34261         * tests/unistr/test-u16-strnlen.c: New file.
34262
34263         Tests for module 'unistr/u8-strnlen'.
34264         * modules/unistr/u8-strnlen-tests: New file.
34265         * tests/unistr/test-u8-strnlen.c: New file.
34266         * tests/unistr/test-strnlen.h: New file.
34267
34268         Tests for module 'unistr/u32-strlen'.
34269         * modules/unistr/u32-strlen-tests: New file.
34270         * tests/unistr/test-u32-strlen.c: New file.
34271
34272         Tests for module 'unistr/u16-strlen'.
34273         * modules/unistr/u16-strlen-tests: New file.
34274         * tests/unistr/test-u16-strlen.c: New file.
34275
34276         Tests for module 'unistr/u8-strlen'.
34277         * modules/unistr/u8-strlen-tests: New file.
34278         * tests/unistr/test-u8-strlen.c: New file.
34279
34280         Tests for module 'unistr/u32-prev'.
34281         * modules/unistr/u32-prev-tests: New file.
34282         * tests/unistr/test-u32-prev.c: New file.
34283
34284         Tests for module 'unistr/u16-prev'.
34285         * modules/unistr/u16-prev-tests: New file.
34286         * tests/unistr/test-u16-prev.c: New file.
34287
34288         Tests for module 'unistr/u8-prev'.
34289         * modules/unistr/u8-prev-tests: New file.
34290         * tests/unistr/test-u8-prev.c: New file.
34291
34292         Tests for module 'unistr/u32-next'.
34293         * modules/unistr/u32-next-tests: New file.
34294         * tests/unistr/test-u32-next.c: New file.
34295
34296         Tests for module 'unistr/u16-next'.
34297         * modules/unistr/u16-next-tests: New file.
34298         * tests/unistr/test-u16-next.c: New file.
34299
34300         Tests for module 'unistr/u8-next'.
34301         * modules/unistr/u8-next-tests: New file.
34302         * tests/unistr/test-u8-next.c: New file.
34303
34304         Tests for module 'unistr/u32-strmbtouc'.
34305         * modules/unistr/u32-strmbtouc-tests: New file.
34306         * tests/unistr/test-u32-strmbtouc.c: New file.
34307
34308         Tests for module 'unistr/u16-strmbtouc'.
34309         * modules/unistr/u16-strmbtouc-tests: New file.
34310         * tests/unistr/test-u16-strmbtouc.c: New file.
34311
34312         Tests for module 'unistr/u8-strmbtouc'.
34313         * modules/unistr/u8-strmbtouc-tests: New file.
34314         * tests/unistr/test-u8-strmbtouc.c: New file.
34315
34316         Tests for module 'unistr/u32-strmblen'.
34317         * modules/unistr/u32-strmblen-tests: New file.
34318         * tests/unistr/test-u32-strmblen.c: New file.
34319
34320         Tests for module 'unistr/u16-strmblen'.
34321         * modules/unistr/u16-strmblen-tests: New file.
34322         * tests/unistr/test-u16-strmblen.c: New file.
34323
34324         Tests for module 'unistr/u8-strmblen'.
34325         * modules/unistr/u8-strmblen-tests: New file.
34326         * tests/unistr/test-u8-strmblen.c: New file.
34327
34328         Tests for module 'unistr/u32-cpy-alloc'.
34329         * modules/unistr/u32-cpy-alloc-tests: New file.
34330         * tests/unistr/test-u32-cpy-alloc.c: New file.
34331
34332         Tests for module 'unistr/u16-cpy-alloc'.
34333         * modules/unistr/u16-cpy-alloc-tests: New file.
34334         * tests/unistr/test-u16-cpy-alloc.c: New file.
34335
34336         Tests for module 'unistr/u8-cpy-alloc'.
34337         * modules/unistr/u8-cpy-alloc-tests: New file.
34338         * tests/unistr/test-u8-cpy-alloc.c: New file.
34339         * tests/unistr/test-cpy-alloc.h: New file.
34340
34341         Tests for module 'unistr/u32-mbsnlen'.
34342         * modules/unistr/u32-mbsnlen-tests: New file.
34343         * tests/unistr/test-u32-mbsnlen.c: New file.
34344
34345         Tests for module 'unistr/u16-mbsnlen'.
34346         * modules/unistr/u16-mbsnlen-tests: New file.
34347         * tests/unistr/test-u16-mbsnlen.c: New file.
34348
34349         Tests for module 'unistr/u8-mbsnlen'.
34350         * modules/unistr/u8-mbsnlen-tests: New file.
34351         * tests/unistr/test-u8-mbsnlen.c: New file.
34352
34353         Tests for module 'unistr/u32-chr'.
34354         * modules/unistr/u32-chr-tests: New file.
34355         * tests/unistr/test-u32-chr.c: New file.
34356
34357         Tests for module 'unistr/u16-chr'.
34358         * modules/unistr/u16-chr-tests: New file.
34359         * tests/unistr/test-u16-chr.c: New file.
34360
34361         Tests for module 'unistr/u8-chr'.
34362         * modules/unistr/u8-chr-tests: New file.
34363         * tests/unistr/test-u8-chr.c: New file.
34364         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
34365
34366         Tests for module 'unistr/u32-cmp2'.
34367         * modules/unistr/u32-cmp2-tests: New file.
34368         * tests/unistr/test-u32-cmp2.c: New file.
34369
34370         Tests for module 'unistr/u16-cmp2'.
34371         * modules/unistr/u16-cmp2-tests: New file.
34372         * tests/unistr/test-u16-cmp2.c: New file.
34373
34374         Tests for module 'unistr/u8-cmp2'.
34375         * modules/unistr/u8-cmp2-tests: New file.
34376         * tests/unistr/test-u8-cmp2.c: New file.
34377         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
34378
34379         Tests for module 'unistr/u32-cmp'.
34380         * modules/unistr/u32-cmp-tests: New file.
34381         * tests/unistr/test-u32-cmp.c: New file.
34382
34383         Tests for module 'unistr/u16-cmp'.
34384         * modules/unistr/u16-cmp-tests: New file.
34385         * tests/unistr/test-u16-cmp.c: New file.
34386
34387         Tests for module 'unistr/u8-cmp'.
34388         * modules/unistr/u8-cmp-tests: New file.
34389         * tests/unistr/test-u8-cmp.c: New file.
34390         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
34391
34392         Tests for module 'unistr/u32-set'.
34393         * modules/unistr/u32-set-tests: New file.
34394         * tests/unistr/test-u32-set.c: New file.
34395
34396         Tests for module 'unistr/u16-set'.
34397         * modules/unistr/u16-set-tests: New file.
34398         * tests/unistr/test-u16-set.c: New file.
34399
34400         Tests for module 'unistr/u8-set'.
34401         * modules/unistr/u8-set-tests: New file.
34402         * tests/unistr/test-u8-set.c: New file.
34403         * tests/unistr/test-set.h: New file.
34404
34405         Tests for module 'unistr/u32-move'.
34406         * modules/unistr/u32-move-tests: New file.
34407         * tests/unistr/test-u32-move.c: New file.
34408
34409         Tests for module 'unistr/u16-move'.
34410         * modules/unistr/u16-move-tests: New file.
34411         * tests/unistr/test-u16-move.c: New file.
34412
34413         Tests for module 'unistr/u8-move'.
34414         * modules/unistr/u8-move-tests: New file.
34415         * tests/unistr/test-u8-move.c: New file.
34416         * tests/unistr/test-move.h: New file.
34417
34418         Tests for module 'unistr/u32-cpy'.
34419         * modules/unistr/u32-cpy-tests: New file.
34420         * tests/unistr/test-u32-cpy.c: New file.
34421
34422         Tests for module 'unistr/u16-cpy'.
34423         * modules/unistr/u16-cpy-tests: New file.
34424         * tests/unistr/test-u16-cpy.c: New file.
34425
34426         Tests for module 'unistr/u8-cpy'.
34427         * modules/unistr/u8-cpy-tests: New file.
34428         * tests/unistr/test-u8-cpy.c: New file.
34429         * tests/unistr/test-cpy.h: New file.
34430
34431 2010-01-09  Bruno Haible  <bruno@clisp.org>
34432
34433         Tests for module 'unistr/u32-uctomb'.
34434         * modules/unistr/u32-uctomb-tests: New file.
34435         * tests/unistr/test-u32-uctomb.c: New file.
34436
34437         Tests for module 'unistr/u16-uctomb'.
34438         * modules/unistr/u16-uctomb-tests: New file.
34439         * tests/unistr/test-u16-uctomb.c: New file.
34440
34441         Tests for module 'unistr/u8-uctomb'.
34442         * modules/unistr/u8-uctomb-tests: New file.
34443         * tests/unistr/test-u8-uctomb.c: New file.
34444
34445         Tests for module 'unistr/u32-mbtoucr'.
34446         * modules/unistr/u32-mbtoucr-tests: New file.
34447         * tests/unistr/test-u32-mbtoucr.c: New file.
34448
34449         Tests for module 'unistr/u16-mbtoucr'.
34450         * modules/unistr/u16-mbtoucr-tests: New file.
34451         * tests/unistr/test-u16-mbtoucr.c: New file.
34452
34453         Tests for module 'unistr/u8-mbtoucr'.
34454         * modules/unistr/u8-mbtoucr-tests: New file.
34455         * tests/unistr/test-u8-mbtoucr.c: New file.
34456
34457         Tests for module 'unistr/u32-mbtouc'.
34458         * modules/unistr/u32-mbtouc-tests: New file.
34459         * tests/unistr/test-u32-mbtouc.c: New file.
34460
34461         Tests for module 'unistr/u16-mbtouc'.
34462         * modules/unistr/u16-mbtouc-tests: New file.
34463         * tests/unistr/test-u16-mbtouc.c: New file.
34464
34465         Tests for module 'unistr/u8-mbtouc'.
34466         * modules/unistr/u8-mbtouc-tests: New file.
34467         * tests/unistr/test-u8-mbtouc.c: New file.
34468
34469         Tests for module 'unistr/u32-mbtouc-unsafe'.
34470         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
34471         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
34472         * tests/unistr/test-u32-mbtouc.h: New file.
34473
34474         Tests for module 'unistr/u16-mbtouc-unsafe'.
34475         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
34476         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
34477         * tests/unistr/test-u16-mbtouc.h: New file.
34478
34479         Tests for module 'unistr/u8-mbtouc-unsafe'.
34480         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
34481         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
34482         * tests/unistr/test-u8-mbtouc.h: New file.
34483
34484         Tests for module 'unistr/u32-mblen'.
34485         * modules/unistr/u32-mblen-tests: New file.
34486         * tests/unistr/test-u32-mblen.c: New file.
34487
34488         Tests for module 'unistr/u16-mblen'.
34489         * modules/unistr/u16-mblen-tests: New file.
34490         * tests/unistr/test-u16-mblen.c: New file.
34491
34492         Tests for module 'unistr/u8-mblen'.
34493         * modules/unistr/u8-mblen-tests: New file.
34494         * tests/unistr/test-u8-mblen.c: New file.
34495
34496         Tests for module 'unistr/u32-to-u16'.
34497         * modules/unistr/u32-to-u16-tests: New file.
34498         * tests/unistr/test-u32-to-u16.c: New file.
34499
34500         Tests for module 'unistr/u32-to-u8'.
34501         * modules/unistr/u32-to-u8-tests: New file.
34502         * tests/unistr/test-u32-to-u8.c: New file.
34503
34504         Tests for module 'unistr/u16-to-u32'.
34505         * modules/unistr/u16-to-u32-tests: New file.
34506         * tests/unistr/test-u16-to-u32.c: New file.
34507
34508         Tests for module 'unistr/u16-to-u8'.
34509         * modules/unistr/u16-to-u8-tests: New file.
34510         * tests/unistr/test-u16-to-u8.c: New file.
34511
34512         Tests for module 'unistr/u8-to-u32'.
34513         * modules/unistr/u8-to-u32-tests: New file.
34514         * tests/unistr/test-u8-to-u32.c: New file.
34515
34516         Tests for module 'unistr/u8-to-u16'.
34517         * modules/unistr/u8-to-u16-tests: New file.
34518         * tests/unistr/test-u8-to-u16.c: New file.
34519
34520         Tests for module 'unistr/u32-check'.
34521         * modules/unistr/u32-check-tests: New file.
34522         * tests/unistr/test-u32-check.c: New file.
34523
34524         Tests for module 'unistr/u16-check'.
34525         * modules/unistr/u16-check-tests: New file.
34526         * tests/unistr/test-u16-check.c: New file.
34527
34528         Tests for module 'unistr/u8-check'.
34529         * modules/unistr/u8-check-tests: New file.
34530         * tests/unistr/test-u8-check.c: New file.
34531
34532         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
34533         (category_equals): New function.
34534         (main): Add more tests.
34535         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
34536
34537         * tests/unictype/test-bidi_byname.c (main): Add more tests.
34538
34539 2010-01-10  Bruno Haible  <bruno@clisp.org>
34540
34541         unistr/u*-strcoll: Try harder to distinguish different strings.
34542         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
34543         compare s1 and s2 to see if they are different.
34544
34545 2010-01-10  Bruno Haible  <bruno@clisp.org>
34546
34547         unistr/u*-stpncpy: Fix the return value.
34548         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
34549         description of the return value consistent with stpncpy in glibc.
34550         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
34551         written non-NUL unit.
34552
34553 2010-01-10  Bruno Haible  <bruno@clisp.org>
34554
34555         unistr/u*-next: Add missing dependencies.
34556         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
34557         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
34558         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
34559
34560 2010-01-10  Bruno Haible  <bruno@clisp.org>
34561
34562         unistr/u8-mbsnlen: Fix return value for incomplete character.
34563         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
34564         u8_mblen.
34565         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
34566         Remove unistr/u8-mblen.
34567         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
34568         u16_mblen.
34569         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
34570         Remove unistr/u16-mblen.
34571
34572 2010-01-10  Bruno Haible  <bruno@clisp.org>
34573
34574         wchar: Fix compilation error when <wchar.h> is used from coreutils.
34575         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
34576         Reported by Brian Gough <bjg@gnu.org> and
34577         Chris Clayton <chris2553@googlemail.com> via
34578         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
34579
34580 2010-01-09  Bruno Haible  <bruno@clisp.org>
34581
34582         unistr/u16-to-u32: Reject invalid input.
34583         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
34584         u16_mbtouc.
34585         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
34586         Remove unistr/u16-mbtouc.
34587
34588         unistr/u16-to-u8: Reject invalid input.
34589         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
34590         u16_mbtouc.
34591         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
34592         Remove unistr/u16-mbtouc.
34593
34594         unistr/u8-to-u32: Reject invalid input.
34595         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
34596         u8_mbtouc.
34597         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
34598         Remove unistr/u8-mbtouc.
34599
34600         unistr/u8-to-u16: Reject invalid input.
34601         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
34602         u8_mbtouc.
34603         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
34604         Remove unistr/u8-mbtouc.
34605
34606 2010-01-09  Bruno Haible  <bruno@clisp.org>
34607
34608         Tests for module 'getlogin'.
34609         * modules/getlogin-tests: New file.
34610         * tests/test-getlogin.c: New file.
34611
34612         New module 'getlogin'.
34613         * lib/unistd.in.h (getlogin): New declaration.
34614         * lib/getlogin.c: New file.
34615         * m4/getlogin.m4: New file.
34616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
34617         HAVE_GETLOGIN.
34618         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
34619         HAVE_GETLOGIN.
34620         * modules/getlogin: New file.
34621         * doc/posix-functions/getlogin.texi: Mention the new module.
34622         Reported by John W. Eaton <jwe@gnu.org>.
34623
34624 2010-01-09  Bruno Haible  <bruno@clisp.org>
34625
34626         getlogin_r: Support for native Windows.
34627         * lib/getlogin_r.c: Include <windows.h>
34628         (getlogin_r): Implement for native Windows.
34629         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
34630         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
34631         via John W. Eaton <jwe@gnu.org>.
34632
34633 2010-01-09  Bruno Haible  <bruno@clisp.org>
34634
34635         getlogin_r: Small fixes.
34636         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
34637         succeeds.
34638         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
34639         before testing whether getlogin_r is declared. No need to set
34640         HAVE_DECL_GETLOGIN_R to 1.
34641         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
34642
34643 2010-01-09  Bruno Haible  <bruno@clisp.org>
34644
34645         * lib/unistd.in.h (getlogin_r): Add comment.
34646
34647 2010-01-09  Bruno Haible  <bruno@clisp.org>
34648
34649         Tests for module 'getlogin_r'.
34650         * modules/getlogin_r-tests: New file.
34651         * tests/test-getlogin_r.c: New file.
34652
34653 2010-01-09  Jim Meyering  <meyering@redhat.com>
34654
34655         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
34656         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
34657         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
34658
34659 2010-01-08  Simon Josefsson  <simon@josefsson.org>
34660
34661         * lib/dup2.c (rpl_dup2): Improve comment.
34662
34663 2010-01-08  Eric Blake  <ebb9@byu.net>
34664
34665         maint.mk: allow packages to add makefile @@ exceptions
34666         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
34667         (sc_makefile_check): Rename...
34668         (sc_makefile_at_at_check): ...to this, and use hook.
34669
34670         dup2: work around mingw bug
34671         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
34672         Reported by Simon Josefsson.
34673
34674 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
34675
34676         glob: Fix C++ compilation.
34677         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
34678         C++.
34679
34680 2010-01-07  Bruno Haible  <bruno@clisp.org>
34681
34682         Fix indentation of wctype.in.h, broken since 2007-01-06.
34683         * lib/wctype.in.h: Fix indentation of preprocessor directives.
34684
34685 2010-01-07  Bruno Haible  <bruno@clisp.org>
34686
34687         mbslen: Avoid collision with system function.
34688         * lib/string.in.h [MirBSD]: Include <wchar.h>.
34689         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
34690         * m4/mbslen.m4: New file.
34691         * modules/mbslen (Files): Add it.
34692         (configure.ac): Invoke gl_MBSLEN.
34693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
34694         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
34695         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
34696         via Ian Beckwith <ianb@erislabs.net>.
34697
34698 2010-01-07  Bruno Haible  <bruno@clisp.org>
34699
34700         dirent: Document the last fix.
34701         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
34702
34703 2010-01-07  Bruno Haible  <bruno@clisp.org>
34704
34705         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
34706         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
34707         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
34708         va_list are defined.
34709         * doc/posix-headers/stdio.texi: Document the bug of missing types.
34710         Reported by Eric Blake.
34711
34712 2010-01-07  Bruno Haible  <bruno@clisp.org>
34713
34714         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
34715         * modules/xlist (Depends-on): Add 'list',
34716         * modules/xoset (Depends-on): Add 'oset'.
34717         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34718
34719 2010-01-07  Bruno Haible  <bruno@clisp.org>
34720
34721         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
34722         * doc/posix-functions/strncasecmp.texi: Likewise.
34723
34724 2010-01-07  Bruno Haible  <bruno@clisp.org>
34725
34726         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
34727
34728 2010-01-07  John W. Eaton  <jwe@octave.org>
34729
34730         wctype: allow C++ use
34731         * lib/wctype.in.h: Add extern "C" block for C++.
34732
34733 2010-01-06  Eric Blake  <ebb9@byu.net>
34734
34735         maint.mk: detect incorrect GFDL usage
34736         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
34737
34738 2010-01-06  Jim Meyering  <meyering@redhat.com>
34739         and Eric Blake  <ebb9@byu.net>
34740
34741         maint.mk: ignore multi-line copyright in NEWS
34742         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
34743
34744 2010-01-06  Eric Blake  <ebb9@byu.net>
34745
34746         select: add missing dependency
34747         * modules/select-tests (Depends-on): Move sockets dependency...
34748         * modules/select (Depends-on): ...here.
34749         Reported by Ian Beckwith.
34750
34751         doc: regenerate INSTALL
34752         * doc/INSTALL: Reflect recent autoconf update.
34753         * doc/INSTALL.ISO: Likewise.
34754         * doc/INSTALL.UTF-8: Likewise.
34755
34756         pread: fix compilation on glibc
34757         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
34758         Reported by Ralf Wildenhues.
34759
34760         dirent: fix test failure
34761         * lib/dirent.in.h (includes): Guarantee ino_t.
34762         Reported by Ralf Wildenhues.
34763
34764 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
34765
34766         linkat, renameat: avoid bad free
34767         * lib/at-func2.c (at_func2): Fix typo.
34768         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
34769
34770 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34771
34772         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
34773         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
34774         to avoid failure of symlink test later.
34775
34776 2010-01-06  Eric Blake  <ebb9@byu.net>
34777
34778         stdio, unistd: guarantee ssize_t
34779         * lib/unistd.in.h (includes): Ensure that types required by POSIX
34780         2008 are exposed when needed.
34781         * lib/stdio.in.h (includes): Likewise.
34782         Reported by Ralf Wildenhues.
34783
34784 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
34785
34786         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
34787         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
34788         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
34789
34790 2010-01-06  Jim Meyering  <meyering@redhat.com>
34791
34792         readtokens: this module *does* require xalloc.h
34793         It uses only functions that were omitted by the old syntax-check rule.
34794         * lib/readtokens.c: Include "xalloc.h" once again.
34795         * modules/readtokens (Depends-on): Add xalloc.
34796         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
34797
34798 2010-01-05  Eric Blake  <ebb9@byu.net>
34799
34800         maint: support 'make announcement' from a VPATH build
34801         * top/maint.mk (announcement): Look for correct NEWS file.
34802
34803 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
34804
34805         utimens (fdutimens): ignore a negative FD, per contract
34806         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
34807         when we have a valid file descriptor.  Otherwise, using a brand
34808         new glibc (with just-patched futimens that now fails with EBADF)
34809         would cause this function to fail with ENOSYS.
34810         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
34811         See also http://bugzilla.redhat.com/552320.
34812
34813 2010-01-05  Eric Blake  <ebb9@byu.net>
34814
34815         strcase: document what it provides
34816         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
34817         gnulib module.
34818         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
34819         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
34820
34821 2010-01-05  Jim Meyering  <meyering@redhat.com>
34822
34823         maint: remove useless inclusions of "xalloc.h"
34824         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
34825         * lib/readtokens.c: Likewise.
34826         * lib/same.c: Likewise.
34827         * modules/getloadavg (Depends-on): Remove xalloc.
34828         * modules/readtokens: Likewise.
34829         * modules/same: Likewise.
34830
34831         maint.mk: include 4 more function names in alloca.h-checking regexp
34832         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
34833         regexp.  Before, we would give a false-positive (saying alloca.h
34834         is included unnecessarily) when the only uses involved omitted symbols.
34835
34836         xalloc.h: use consistent formatting
34837         * lib/xalloc.h: Move declarations to start in the first column.
34838
34839 2010-01-05  Eric Blake  <ebb9@byu.net>
34840
34841         mkdir: avoid xalloc
34842         * lib/mkdir.c (includes): Drop unused header.
34843         Reported by John W. Eaton.
34844
34845 2010-01-04  Jim Meyering  <meyering@redhat.com>
34846
34847         nl_langinfo: avoid configure-time syntax error
34848         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
34849         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
34850         the empty string.  Don't let that provoke a shell syntax error.
34851
34852         regcomp, regexec, fnmatch: avoid array bounds read error
34853         * lib/regcomp.c (build_equiv_class): From glibc:
34854         Use only the low 24 bits of a findidx return value as an index
34855         into the weights array.  Patch by Ulrich Drepper:
34856         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
34857         * lib/regexec.c (check_node_accept_bytes): Likewise.
34858         * lib/fnmatch_loop.c (FCT): Likewise.
34859
34860         regcomp: skip collseq lookup when there are no rules
34861         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
34862         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
34863
34864         regcomp: recognize ill-formed { } expressions
34865         * lib/regcomp.c (parse_dup_op): From glibc:
34866         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
34867
34868         regcomp: fix typo in comment
34869         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
34870         s/satisfy/satisfies/.
34871
34872         regcomp: sync from glibc: remove dead store
34873         * lib/regcomp.c (duplicate_node_closure): Remove useless
34874         search_duplicated_node call and dead store.
34875
34876         regcomp: sync from glibc; always use nl_langinfo
34877         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
34878         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
34879         * modules/regex (Depends-on): Add nl_langinfo.
34880
34881 2010-01-04  Eric Blake  <ebb9@byu.net>
34882
34883         fdopendir: fix configure test
34884         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
34885
34886 2010-01-01  Bruno Haible  <bruno@clisp.org>
34887
34888         wchar: Remove unused configure check.
34889         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
34890
34891 2010-01-01  Eric Blake  <ebb9@byu.net>
34892
34893         headers: make check of system header explicit
34894         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
34895         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
34896         ourselves.
34897         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34898         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34899         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
34900         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
34901         internals.
34902         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
34903         missing.
34904         Suggested by Bruno Haible.
34905
34906 2010-01-01  Jim Meyering  <meyering@redhat.com>
34907
34908         ChangeLog: tweak to eliminate unnecessary copyright line
34909         * ChangeLog: Remove a copyright line that was mistakenly updated
34910         by today's update-copyright run.  Reported by Eric Blake.
34911
34912         test-update-copyright: don't let envvar setting cause test failure
34913         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34914
34915 2010-01-01  Bruno Haible  <bruno@clisp.org>
34916
34917         localename: Avoid gcc warning.
34918         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
34919         function if it is not used.
34920
34921 2010-01-01  Jim Meyering  <meyering@redhat.com>
34922
34923         update nearly all FSF copyright year lists to include 2010
34924         Use the same procedure as for 2009, outlined in
34925         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
34926
34927         version-etc: set COPYRIGHT_YEAR to 2010
34928         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
34929
34930 2009-12-31  Eric Blake  <ebb9@byu.net>
34931
34932         doc: correct availability of cygwin 1.5.x getopt
34933         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
34934         variables.
34935         * doc/posix-functions/opterr.texi (opterr): Likewise.
34936         * doc/posix-functions/optind.texi (optind): Likewise.
34937         * doc/posix-functions/optopt.texi (optopt): Likewise.
34938         * doc/posix-functions/tzname.texi (tzname): Likewise.
34939
34940         openat: update maintainer
34941         * modules/openat (Maintainer): Add myself.
34942
34943         utimens: avoid shadowing warning
34944         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
34945         buffers into one, to avoid shadowing, as well as avoiding a
34946         redundant stat.
34947         Reported by Jim Meyering.
34948
34949         test-dup2: avoid compiler warning
34950         * tests/test-dup2.c (is_inheritable): Only define if used.
34951
34952 2010-01-01  Bruno Haible  <bruno@clisp.org>
34953
34954         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
34955         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
34956         defined, use wctomb instead of wcrtomb.
34957
34958 2010-01-01  Bruno Haible  <bruno@clisp.org>
34959
34960         iconv: Reject native Solaris iconv.
34961         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
34962         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
34963
34964 2009-12-31  Bruno Haible  <bruno@clisp.org>
34965
34966         * tests/test-signal.c (main): Remove test of 'SIG'.
34967
34968 2009-12-31  Bruno Haible  <bruno@clisp.org>
34969
34970         spawn: Fix incomplete fix.
34971         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
34972         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
34973         warnings for GNULIB_POSIXCHECK again.
34974         Reported by Eric Blake.
34975
34976 2009-12-31  Bruno Haible  <bruno@clisp.org>
34977
34978         Avoid namespace pollution on glibc systems.
34979         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
34980         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
34981         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
34982         glibc systems.
34983
34984 2009-12-31  Bruno Haible  <bruno@clisp.org>
34985
34986         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
34987         (gl_REPLACE_WCHAR_H): Turn into a no-op.
34988         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
34989         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
34990         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
34991         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
34992         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
34993
34994 2009-12-31  Bruno Haible  <bruno@clisp.org>
34995
34996         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
34997         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
34998         afterwards.
34999
35000 2009-12-31  Bruno Haible  <bruno@clisp.org>
35001
35002         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
35003         SYS_UTSNAME_H.
35004
35005 2009-12-31  Bruno Haible  <bruno@clisp.org>
35006
35007         spawn: Fix misapplied patch.
35008         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35009         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35010         warnings for GNULIB_POSIXCHECK.
35011
35012 2009-12-31  Bruno Haible  <bruno@clisp.org>
35013
35014         times: Update after sys_times changed.
35015         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
35016         * modules/times (Files): Add it.
35017         (configure.ac): Invoke gl_FUNC_TIMES.
35018
35019 2009-12-31  Bruno Haible  <bruno@clisp.org>
35020
35021         Use AC_C_INLINE where necessary.
35022         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
35023         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
35024         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
35025         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35026         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35027         * m4/mbiter.m4 (gl_MBITER): Likewise.
35028         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35029         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35030         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
35031         * modules/u64 (configure.ac): Likewise.
35032
35033 2009-12-31  Bruno Haible  <bruno@clisp.org>
35034
35035         Use AC_C_INLINE instead of module 'inline' where possible.
35036         * modules/inline (Description): Clarify purpose.
35037         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
35038         * modules/count-one-bits (Depends-on): Remove inline.
35039         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
35040         * modules/openat (Depends-on): Remove inline.
35041         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
35042         instead of depending on module 'inline'.
35043         * modules/filevercmp (Depends-on, configure.ac): Likewise.
35044         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
35045         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
35046         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
35047         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
35048         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
35049         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
35050         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
35051         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
35052         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
35053         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
35054         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
35055         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
35056         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
35057         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
35058         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
35059         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
35060         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
35061         Likewise.
35062         * modules/unictype/property-ascii-hex-digit (Depends-on,
35063         configure.ac): Likewise.
35064         * modules/unictype/property-bidi-arabic-digit (Depends-on,
35065         configure.ac): Likewise.
35066         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
35067         configure.ac): Likewise.
35068         * modules/unictype/property-bidi-block-separator (Depends-on,
35069         configure.ac): Likewise.
35070         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
35071         configure.ac): Likewise.
35072         * modules/unictype/property-bidi-common-separator (Depends-on,
35073         configure.ac): Likewise.
35074         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
35075         Likewise.
35076         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
35077         configure.ac): Likewise.
35078         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
35079         configure.ac): Likewise.
35080         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
35081         configure.ac): Likewise.
35082         * modules/unictype/property-bidi-european-digit (Depends-on,
35083         configure.ac): Likewise.
35084         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
35085         configure.ac): Likewise.
35086         * modules/unictype/property-bidi-left-to-right (Depends-on,
35087         configure.ac): Likewise.
35088         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
35089         configure.ac): Likewise.
35090         * modules/unictype/property-bidi-other-neutral (Depends-on,
35091         configure.ac): Likewise.
35092         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
35093         Likewise.
35094         * modules/unictype/property-bidi-segment-separator (Depends-on,
35095         configure.ac): Likewise.
35096         * modules/unictype/property-bidi-whitespace (Depends-on,
35097         configure.ac): Likewise.
35098         * modules/unictype/property-combining (Depends-on, configure.ac):
35099         Likewise.
35100         * modules/unictype/property-composite (Depends-on, configure.ac):
35101         Likewise.
35102         * modules/unictype/property-currency-symbol (Depends-on,
35103         configure.ac): Likewise.
35104         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
35105         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
35106         Likewise.
35107         * modules/unictype/property-default-ignorable-code-point (Depends-on,
35108         configure.ac): Likewise.
35109         * modules/unictype/property-deprecated (Depends-on, configure.ac):
35110         Likewise.
35111         * modules/unictype/property-diacritic (Depends-on, configure.ac):
35112         Likewise.
35113         * modules/unictype/property-extender (Depends-on, configure.ac):
35114         Likewise.
35115         * modules/unictype/property-format-control (Depends-on, configure.ac):
35116         Likewise.
35117         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
35118         Likewise.
35119         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
35120         Likewise.
35121         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
35122         Likewise.
35123         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
35124         Likewise.
35125         * modules/unictype/property-hyphen (Depends-on, configure.ac):
35126         Likewise.
35127         * modules/unictype/property-id-continue (Depends-on, configure.ac):
35128         Likewise.
35129         * modules/unictype/property-id-start (Depends-on, configure.ac):
35130         Likewise.
35131         * modules/unictype/property-ideographic (Depends-on, configure.ac):
35132         Likewise.
35133         * modules/unictype/property-ids-binary-operator (Depends-on,
35134         configure.ac): Likewise.
35135         * modules/unictype/property-ids-trinary-operator (Depends-on,
35136         configure.ac): Likewise.
35137         * modules/unictype/property-ignorable-control (Depends-on,
35138         configure.ac): Likewise.
35139         * modules/unictype/property-iso-control (Depends-on, configure.ac):
35140         Likewise.
35141         * modules/unictype/property-join-control (Depends-on, configure.ac):
35142         Likewise.
35143         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
35144         Likewise.
35145         * modules/unictype/property-line-separator (Depends-on, configure.ac):
35146         Likewise.
35147         * modules/unictype/property-logical-order-exception (Depends-on,
35148         configure.ac): Likewise.
35149         * modules/unictype/property-lowercase (Depends-on, configure.ac):
35150         Likewise.
35151         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
35152         * modules/unictype/property-non-break (Depends-on, configure.ac):
35153         Likewise.
35154         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
35155         Likewise.
35156         * modules/unictype/property-numeric (Depends-on, configure.ac):
35157         Likewise.
35158         * modules/unictype/property-other-alphabetic (Depends-on,
35159         configure.ac): Likewise.
35160         * modules/unictype/property-other-default-ignorable-code-point
35161         (Depends-on, configure.ac): Likewise.
35162         * modules/unictype/property-other-grapheme-extend (Depends-on,
35163         configure.ac): Likewise.
35164         * modules/unictype/property-other-id-continue (Depends-on,
35165         configure.ac): Likewise.
35166         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
35167         Likewise.
35168         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
35169         Likewise.
35170         * modules/unictype/property-other-math (Depends-on, configure.ac):
35171         Likewise.
35172         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
35173         Likewise.
35174         * modules/unictype/property-paired-punctuation (Depends-on,
35175         configure.ac): Likewise.
35176         * modules/unictype/property-paragraph-separator (Depends-on,
35177         configure.ac): Likewise.
35178         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
35179         Likewise.
35180         * modules/unictype/property-pattern-white-space (Depends-on,
35181         configure.ac): Likewise.
35182         * modules/unictype/property-private-use (Depends-on, configure.ac):
35183         Likewise.
35184         * modules/unictype/property-punctuation (Depends-on, configure.ac):
35185         Likewise.
35186         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
35187         Likewise.
35188         * modules/unictype/property-radical (Depends-on, configure.ac):
35189         Likewise.
35190         * modules/unictype/property-sentence-terminal (Depends-on,
35191         configure.ac): Likewise.
35192         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
35193         Likewise.
35194         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
35195         * modules/unictype/property-terminal-punctuation (Depends-on,
35196         configure.ac): Likewise.
35197         * modules/unictype/property-titlecase (Depends-on, configure.ac):
35198         Likewise.
35199         * modules/unictype/property-unassigned-code-value (Depends-on,
35200         configure.ac): Likewise.
35201         * modules/unictype/property-unified-ideograph (Depends-on,
35202         configure.ac): Likewise.
35203         * modules/unictype/property-uppercase (Depends-on, configure.ac):
35204         Likewise.
35205         * modules/unictype/property-variation-selector (Depends-on,
35206         configure.ac): Likewise.
35207         * modules/unictype/property-white-space (Depends-on, configure.ac):
35208         Likewise.
35209         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
35210         Likewise.
35211         * modules/unictype/property-xid-start (Depends-on, configure.ac):
35212         Likewise.
35213         * modules/unictype/property-zero-width (Depends-on, configure.ac):
35214         Likewise.
35215         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
35216         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
35217         Likewise.
35218
35219 2009-12-31  Bruno Haible  <bruno@clisp.org>
35220
35221         Remove unnecessary AC_C_INLINE invocation.
35222         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
35223         since 2009-08-21.
35224
35225 2009-12-31  Jim Meyering  <meyering@redhat.com>
35226
35227         maint.mk: don't require explicit gpg_key_ID in cfg.mk
35228         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
35229         With this change, we can all remove the gpg_key_ID = ... definition
35230         from our respective cfg.mk files.
35231
35232         maint.mk: create announcement template in ~/, not in /tmp
35233         * top/maint.mk (emit_upload_commands): Adjust.
35234         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
35235         Remove temporary file, .ci-msg.
35236
35237 2009-12-31  Eric Blake  <ebb9@byu.net>
35238
35239         link-warning: always build headers with link warnings
35240         * modules/arpa_inet (Makefile.am): Always build replacement
35241         header.
35242         * modules/ctype (Makefile.am): Likewise.
35243         * modules/dirent (Makefile.am): Likewise.
35244         * modules/inttypes (Makefile.am): Likewise.
35245         * modules/langinfo (Makefile.am): Likewise.
35246         * modules/locale (Makefile.am): Likewise.
35247         * modules/spawn (Makefile.am): Likewise.
35248         * modules/sys_file (Makefile.am): Likewise.
35249         * modules/sys_ioctl (Makefile.am): Likewise.
35250         * modules/sys_select (Makefile.am): Likewise.
35251         * modules/sys_socket (Makefile.am): Likewise.
35252         * modules/sys_times (Makefile.am): Likewise.
35253         * modules/sys_utsname (Makefile.am): Likewise.
35254         * modules/sys_wait (Makefile.am): Likewise.
35255         * modules/wchar (Makefile.am): Likewise.
35256         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
35257         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
35258         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
35259         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
35260         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
35261         Likewise.
35262         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35263         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35264         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
35265         Likewise.
35266         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
35267         Likewise.
35268         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
35269         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
35270         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
35271         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35272         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35273         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35274         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35275         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
35276         (gl_WCHAR_H_DEFAULTS): Likewise.
35277
35278 2009-12-31  Eric Blake  <ebb9@byu.net>
35279
35280         signal, spawn: use link warnings
35281         * lib/signal.in.h (sigset_t): Make unconditional.
35282         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
35283         (sigpending, sigprocmask, sigaction): Add link warnings.
35284         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
35285         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
35286         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
35287         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
35288         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
35289         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
35290         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
35291         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
35292         (posix_spawn_file_actions_destroy)
35293         (posix_spawn_file_actions_addopen)
35294         (posix_spawn_file_actions_addclose)
35295         (posix_spawn_file_actions_adddup2): Likewise.
35296         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
35297         * tests/test-signal.c (main): Enhance test.
35298
35299         spawn: improve wrapper support
35300         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
35301         (gl_SPAWN_H_DEFAULTS): New defaults.
35302         * modules/spawn (Makefile.am): Substitute them.
35303         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
35304         Only declare if missing or broken.
35305
35306         sys_times, sys_utsname: use include_next
35307         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
35308         header.
35309         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
35310         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
35311         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
35312         * modules/sys_times (Depends-on): Add include_next.
35313         (Makefile.am): Substitute additional values.
35314         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35315         * lib/sys_times.in.h (includes): Include native header, if
35316         available.
35317         * lib/sys_utsname.in.h (includes): Likewise.
35318         * tests/test-sys_times.c (main): Enhance test.
35319
35320         fdutimensat: revert prior patch
35321         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
35322         utimens.h.
35323         Reported by Bruno Haible.
35324
35325 2009-12-30  Eric Blake  <ebb9@byu.net>
35326
35327         sys_wait: drop link-warning dependency
35328         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
35329         link-warning efforts.
35330         * lib/sys_wait.in.h: Likewise.
35331
35332         fdutimensat: remove bogus dependency
35333         * modules/fdutimensat (Depends-on): Drop inline.
35334
35335         unistd: fix typo
35336         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
35337
35338 2009-12-30  Bruno Haible  <bruno@clisp.org>
35339
35340         Fix compilation error with Solaris cc.
35341         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
35342         * lib/unicase/u16-is-invariant.c: Likewise.
35343         * lib/unicase/u32-is-invariant.c: Likewise.
35344         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
35345
35346 2009-12-30  Bruno Haible  <bruno@clisp.org>
35347
35348         Fix test crash.
35349         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
35350         locales.
35351         Reported by Simon Josefsson <simon@josefsson.org>.
35352
35353 2009-12-30  Bruno Haible  <bruno@clisp.org>
35354
35355         Fix compilation error on most platforms.
35356         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
35357         Reported by Simon Josefsson <simon@josefsson.org>
35358         and Nelson H. F. Beebe <beebe@math.utah.edu>.
35359
35360 2009-12-30  Eric Blake  <ebb9@byu.net>
35361
35362         futimens, utimensat: work around ntfs-3g bug
35363         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
35364         a ctime bug is present, and expand workaround to cover ntfs-3g.
35365         * lib/utimens.c (fdutimens, lutimens): Likewise.
35366         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
35367         (validate_timespec): Adjust return value.
35368         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
35369         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35370         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
35371
35372 2009-12-29  Eric Blake  <ebb9@byu.net>
35373
35374         link-warning: make usage consistent
35375         * modules/ctype (Depends-on): Add link-warning.
35376         (Makefile.am): Update rules accordingly.
35377         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35378         * modules/locale (Depends-on, Makefile.am): Likewise.
35379         * modules/sys_file (Makefile.am): Likewise.
35380         * modules/getopt-posix (Makefile.am): Delete unused link warning
35381         efforts.
35382         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
35383         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
35384         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
35385         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
35386
35387         stdio: remove unused variables
35388         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
35389         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
35390         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
35391
35392         tests: test more substitute headers
35393         * modules/ctype-tests: New file.
35394         * modules/dirent-tests: Likewise.
35395         * modules/spawn-tests: Likewise.
35396         * modules/sys_file-tests: Likewise.
35397         * modules/sys_ioctl-tests: Likewise.
35398         * modules/sys_wait-tests: Likewise.
35399         * tests/test-ctype.c: Likewise.
35400         * tests/test-dirent.c: Likewise.
35401         * tests/test-spawn.c: Likewise.
35402         * tests/test-sys_file.c: Likewise.
35403         * tests/test-sys_ioctl.c: Likewise.
35404         * tests/test-sys_wait.c: Likewise.
35405         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
35406         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
35407         whether or not flock is in use.
35408
35409         tests: remove License section from module
35410         * modules/arpa_inet-tests: Remove unneeded section.
35411         * modules/byteswap-tests: Likewise.
35412         * modules/ceilf-tests: Likewise.
35413         * modules/ceill-tests: Likewise.
35414         * modules/crypto/des-tests: Likewise.
35415         * modules/crypto/gc-arcfour-tests: Likewise.
35416         * modules/crypto/gc-arctwo-tests: Likewise.
35417         * modules/crypto/gc-des-tests: Likewise.
35418         * modules/crypto/gc-hmac-md5-tests: Likewise.
35419         * modules/crypto/gc-hmac-sha1-tests: Likewise.
35420         * modules/crypto/gc-md2-tests: Likewise.
35421         * modules/crypto/gc-md4-tests: Likewise.
35422         * modules/crypto/gc-md5-tests: Likewise.
35423         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
35424         * modules/crypto/gc-rijndael-tests: Likewise.
35425         * modules/crypto/gc-sha1-tests: Likewise.
35426         * modules/crypto/gc-tests: Likewise.
35427         * modules/crypto/md2-tests: Likewise.
35428         * modules/crypto/md4-tests: Likewise.
35429         * modules/fcntl-h-tests: Likewise.
35430         * modules/floorf-tests: Likewise.
35431         * modules/floorl-tests: Likewise.
35432         * modules/frexp-nolibm-tests: Likewise.
35433         * modules/frexp-tests: Likewise.
35434         * modules/frexpl-nolibm-tests: Likewise.
35435         * modules/frexpl-tests: Likewise.
35436         * modules/getaddrinfo-tests: Likewise.
35437         * modules/inttypes-tests: Likewise.
35438         * modules/isfinite-tests: Likewise.
35439         * modules/isinf-tests: Likewise.
35440         * modules/ldexpl-tests: Likewise.
35441         * modules/locale-tests: Likewise.
35442         * modules/math-tests: Likewise.
35443         * modules/netdb-tests: Likewise.
35444         * modules/netinet_in-tests: Likewise.
35445         * modules/printf-frexp-tests: Likewise.
35446         * modules/printf-frexpl-tests: Likewise.
35447         * modules/priv-set-tests: Likewise.
35448         * modules/random_r-tests: Likewise.
35449         * modules/round-tests: Likewise.
35450         * modules/roundf-tests: Likewise.
35451         * modules/roundl-tests: Likewise.
35452         * modules/search-tests: Likewise.
35453         * modules/select-tests: Likewise.
35454         * modules/signal-tests: Likewise.
35455         * modules/stdbool-tests: Likewise.
35456         * modules/stddef-tests: Likewise.
35457         * modules/stdint-tests: Likewise.
35458         * modules/stdio-tests: Likewise.
35459         * modules/stdlib-tests: Likewise.
35460         * modules/string-tests: Likewise.
35461         * modules/strings-tests: Likewise.
35462         * modules/sys_select-tests: Likewise.
35463         * modules/sys_socket-tests: Likewise.
35464         * modules/sys_stat-tests: Likewise.
35465         * modules/sys_time-tests: Likewise.
35466         * modules/sys_utsname-tests: Likewise.
35467         * modules/sysexits-tests: Likewise.
35468         * modules/time-tests: Likewise.
35469         * modules/trunc-tests: Likewise.
35470         * modules/truncf-tests: Likewise.
35471         * modules/truncl-tests: Likewise.
35472         * modules/tsearch-tests: Likewise.
35473         * modules/unistd-tests: Likewise.
35474         * modules/wchar-tests: Likewise.
35475         * modules/wctype-tests: Likewise.
35476
35477         tests: fix license on several tests
35478         * tests/test-des.c: Update to GPLv3+.
35479         * tests/test-flock.c: Likewise.
35480         * tests/test-fsync.c: Likewise.
35481         * tests/test-futimens.h: Likewise.
35482         * tests/test-gc-arcfour.c: Likewise.
35483         * tests/test-gc-arctwo.c: Likewise.
35484         * tests/test-gc-des.c: Likewise.
35485         * tests/test-gc-hmac-md5.c: Likewise.
35486         * tests/test-gc-hmac-sha1.c: Likewise.
35487         * tests/test-gc-md2.c: Likewise.
35488         * tests/test-gc-md4.c: Likewise.
35489         * tests/test-gc-md5.c: Likewise.
35490         * tests/test-gc-pbkdf2-sha1.c: Likewise.
35491         * tests/test-gc-rijndael.c: Likewise.
35492         * tests/test-gc-sha1.c: Likewise.
35493         * tests/test-gc.c: Likewise.
35494         * tests/test-getcwd.c: Likewise.
35495         * tests/test-link.c: Likewise.
35496         * tests/test-link.h: Likewise.
35497         * tests/test-lutimens.h: Likewise.
35498         * tests/test-md2.c: Likewise.
35499         * tests/test-md4.c: Likewise.
35500         * tests/test-mkdir.h: Likewise.
35501         * tests/test-rename.c: Likewise.
35502         * tests/test-rename.h: Likewise.
35503         * tests/test-safe-alloc.c: Likewise.
35504         * tests/test-utimens-common.h: Likewise.
35505         * tests/test-utimens.h: Likewise.
35506
35507         maint: sync license texts
35508         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
35509         * doc/gpl-3.0.texi: Revert copyright year update.
35510         * doc/lgpl-3.0.texi: Likewise.
35511
35512 2009-12-29  Jim Meyering  <meyering@redhat.com>
35513
35514         update nearly all FSF copyright year lists to include 2009
35515         The files named by the following are exempted:
35516             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
35517               test -f "$dst" && { echo "$dst"; continue; }
35518               test -d "$dst" || continue
35519               echo "$dst"/$(basename "$src")
35520             done > exempt
35521             git ls-files tests/unictype >> exempt
35522         In the remaining files, convert to all-interval notation if
35523         - there is already at least one year interval like 2000-2003
35524         - the file is maintained by me
35525         - the file is in lib/uni*/, where that style already prevails
35526         Otherwise, use update-copyright's default.
35527
35528 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35529         and Eric Blake  <ebb9@byu.net>
35530
35531         tests: don't require debug system() to pass
35532         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
35533         * tests/test-rmdir.h (test_rmdir_func): Likewise.
35534         * tests/test-unlink.h (test_unlink_func): Likewise.
35535         * tests/test-fstatat.c (main): ...into callers.
35536         * tests/test-lstat.c (main): Likewise.
35537         * tests/test-rmdir.c (main): Likewise.
35538         * tests/test-unlink.c (main): Likewise.
35539         * tests/test-unlinkat.c (main): Likewise.
35540         * tests/test-areadlink-with-size.c (main): Don't require a
35541         debug-only system call to pass, aiding cross-testing to mingw.
35542         * tests/test-areadlink.c (main): Likewise.
35543         * tests/test-areadlinkat-with-size.c (main): Likewise.
35544         * tests/test-areadlinkat.c (main): Likewise.
35545         * tests/test-canonicalize-lgpl.c (main): Likewise.
35546         * tests/test-canonicalize.c (main): Likewise.
35547         * tests/test-chown.c (main): Likewise.
35548         * tests/test-fchownat.c (main): Likewise.
35549         * tests/test-lchown.c (main): Likewise.
35550         * tests/test-fdutimensat.c (main): Likewise.
35551         * tests/test-futimens.c (main): Likewise.
35552         * tests/test-link.c (main): Likewise.
35553         * tests/test-linkat.c (main): Likewise.
35554         * tests/test-mkdir.c (main): Likewise.
35555         * tests/test-mkdirat.c (main): Likewise.
35556         * tests/test-mkfifo.c (main): Likewise.
35557         * tests/test-mkfifoat.c (main): Likewise.
35558         * tests/test-mknod.c (main): Likewise.
35559         * tests/test-readlink.c (main): Likewise.
35560         * tests/test-remove.c (main): Likewise.
35561         * tests/test-rename.c (main): Likewise.
35562         * tests/test-renameat.c (main): Likewise.
35563         * tests/test-symlink.c (main): Likewise.
35564         * tests/test-symlinkat.c (main): Likewise.
35565         * tests/test-utimens.c (main): Likewise.
35566         * tests/test-utimensat.c (main): Likewise.
35567
35568 2009-12-29  Simon Josefsson  <simon@josefsson.org>
35569
35570         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
35571         on $(UNUSED_PARAMETER_H) to avoid build failure.
35572
35573 2009-12-28  Jim Meyering  <meyering@redhat.com>
35574
35575         update-copyright: you may specify a max. line length other than 72
35576         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
35577
35578         maint: use consistent FSF copyright line syntax
35579         * lib/posixtm.c: Add missing comma in FSF copyright line.
35580         * lib/posixtm.h: Likewise.
35581         * lib/getugroups.c: Add missing ", Inc.".
35582
35583         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
35584         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
35585         FSF copyright line.  Remove trailing blanks.
35586
35587 2009-12-28  Eric Blake  <ebb9@byu.net>
35588
35589         test-dup2: reduce dependencies
35590         * modules/cloexec (Configure.ac): Set witness.
35591         * modules/dup2-tests (Depends-on): Drop cloexec.
35592         * tests/test-dup2.c (main): Skip portion of test if cloexec module
35593         not present.
35594         Suggested by Bruno Haible.
35595
35596 2009-12-26  Bruno Haible  <bruno@clisp.org>
35597
35598         Remove an unneeded dependency.
35599         * modules/fseterr (Depends-on): Remove dup2.
35600
35601 2009-12-26  Eric Blake  <ebb9@byu.net>
35602
35603         tests: use macros.h in more places
35604         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
35605         (ASSERT_STREAM): Provide default of stderr.
35606         * tests/test-dirent-safer.c: Include macros.h, using alternate
35607         stream for assertions.
35608         * tests/test-dup-safer.c: Likewise.
35609         * tests/test-freopen-safer.c: Likewise.
35610         * tests/test-getopt.c: Likewise.
35611         * tests/test-openat-safer.c: Likewise.
35612         * tests/test-pipe.c: Likewise.
35613         * tests/test-popen-safer.c: Likewise.
35614         * modules/dirent-safer-tests (Files): Include macros.h.
35615         * modules/unistd-safer-tests (Files): Likewise.
35616         * modules/freopen-safer-tests (Files): Likewise.
35617         * modules/getopt-posix-tests (Files): Likewise.
35618         * modules/openat-safer-tests (Files): Likewise.
35619         * modules/pipe-tests (Files): Likewise.
35620
35621 2009-12-26  Bruno Haible  <bruno@clisp.org>
35622
35623         javacomp: Portability fix.
35624         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
35625         that it also works on Solaris.
35626
35627 2009-12-26  Bruno Haible  <bruno@clisp.org>
35628
35629         localename: Fix storage allocation of gl_locale_name_thread's result.
35630         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
35631         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
35632         all platforms that have 'uselocale'.
35633         (gl_locale_name_thread_unsafe): New function, extracted from
35634         gl_locale_name_thread.
35635         (gl_locale_name_thread): Call struniq on all platforms that have
35636         'uselocale'.
35637         * tests/test-localename.c (test_locale_name_thread): Check that the
35638         resulting strings are permanently allocated.
35639         * modules/localename-tests (Depends-on): Add strdup.
35640
35641 2009-12-26  Bruno Haible  <bruno@clisp.org>
35642
35643         * tests/test-localename.c (categories): Fill in the strings.
35644
35645 2009-12-26  Jim Meyering  <meyering@redhat.com>
35646
35647         isdir: complete the removal of m4/isdir.m4
35648         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
35649
35650         isdir: clean up, since at least grep still uses it
35651         * lib/isdir.c: Include "isdir.h".
35652         (S_ISDIR): Remove now-unneeded definition.
35653         * modules/isdir (Files): Add lib/isdir.h.
35654         * lib/isdir.h: New file, with declaration.
35655         * m4/isdir.m4: Remove file -- unneeded.
35656
35657 2009-12-25  Bruno Haible  <bruno@clisp.org>
35658
35659         selinux-h: Make generated .h files standalone.
35660         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
35661         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
35662         * lib/se-selinux.in.h: Likewise.
35663         * modules/selinux-h (Depends-on): Add unused-parameter.
35664         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
35665         selinux/selinux.h and selinux/context.h.
35666         Suggested by Eric Blake.
35667
35668 2009-12-25  Bruno Haible  <bruno@clisp.org>
35669
35670         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
35671         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
35672         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
35673         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
35674         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
35675
35676 2009-12-24  Bruno Haible  <bruno@clisp.org>
35677
35678         openat: Fix warning.
35679         * lib/openat-proc.c: Include <unistd.h>.
35680
35681 2009-12-24  Bruno Haible  <bruno@clisp.org>
35682
35683         New module 'unused-parameter'.
35684         * build-aux/unused-parameter.h: New file, extracted from earlier
35685         gnulib-common.m4.
35686         * modules/unused-parameter: New file.
35687         * lib/unistr.h: Include unused-parameter.h.
35688         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
35689         _GL_UNUSED.
35690         * modules/unistr/base (Depends-on): Add unused-parameter.
35691
35692 2009-12-24  Bruno Haible  <bruno@clisp.org>
35693
35694         Add missing dependencies to 'extensions' module.
35695         * m4/extensions.m4: Add comment.
35696         * modules/accept4 (Depends-on): Add extensions.
35697         * modules/dup3 (Depends-on): Likewise.
35698         * modules/fcntl (Depends-on): Likewise.
35699         * modules/futimens (Depends-on): Likewise.
35700         * modules/mknod (Depends-on): Likewise.
35701         * modules/pipe2 (Depends-on): Likewise.
35702         * modules/stat-time (Depends-on): Likewise.
35703         * modules/strcasestr-simple (Depends-on): Likewise.
35704         * modules/strsignal (Depends-on): Likewise.
35705         * modules/utimensat (Depends-on): Likewise.
35706         * modules/localcharset (Depends-on): Likewise. Needed because of
35707         gl_FCNTL_O_FLAGS.
35708         * modules/wcrtomb (Depends-on): Likewise. Needed because of
35709         AC_TYPE_MBSTATE_T.
35710         * modules/wcsnrtombs (Depends-on): Likewise.
35711         * modules/wcsrtombs (Depends-on): Likewise.
35712
35713 2009-12-24  Bruno Haible  <bruno@clisp.org>
35714
35715         binary-io: Avoid gcc warning due to SET_BINARY.
35716         * lib/binary-io.h (SET_BINARY): Cast the result to void.
35717         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
35718
35719 2009-12-24  Bruno Haible  <bruno@clisp.org>
35720
35721         Avoid future namespace pollution on glibc systems.
35722         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
35723         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
35724         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
35725         glibc systems.
35726
35727 2009-12-24  Bruno Haible  <bruno@clisp.org>
35728
35729         Refactor common macros used in tests.
35730         * tests/macros.h: New file.
35731         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
35732         and/or <stdlib.h>, if appropriate.
35733         (ASSERT, SIZEOF): Remove macros.
35734         * tests/test-areadlink-with-size.c: Likewise.
35735         * tests/test-areadlinkat.c: Likewise.
35736         * tests/test-areadlinkat-with-size.c: Likewise.
35737         * tests/test-argmatch.c: Likewise.
35738         * tests/test-argv-iter.c: Likewise.
35739         * tests/test-array-mergesort.c: Likewise.
35740         * tests/test-array_list.c: Likewise.
35741         * tests/test-array_oset.c: Likewise.
35742         * tests/test-avltree_list.c: Likewise.
35743         * tests/test-avltree_oset.c: Likewise.
35744         * tests/test-avltreehash_list.c: Likewise.
35745         * tests/test-base64.c: Likewise.
35746         * tests/test-binary-io.c: Likewise.
35747         * tests/test-bitrotate.c: Likewise.
35748         * tests/test-btowc.c: Likewise.
35749         * tests/test-byteswap.c: Likewise.
35750         * tests/test-c-ctype.c: Likewise.
35751         * tests/test-c-stack.c: Likewise.
35752         * tests/test-c-strcasecmp.c: Likewise.
35753         * tests/test-c-strcasestr.c: Likewise.
35754         * tests/test-c-strncasecmp.c: Likewise.
35755         * tests/test-c-strstr.c: Likewise.
35756         * tests/test-canonicalize-lgpl.c: Likewise.
35757         * tests/test-canonicalize.c: Likewise.
35758         * tests/test-carray_list.c: Likewise.
35759         * tests/test-ceilf1.c: Likewise.
35760         * tests/test-ceilf2.c: Likewise.
35761         * tests/test-ceill.c: Likewise.
35762         * tests/test-chown.c: Likewise.
35763         * tests/test-cloexec.c: Likewise.
35764         * tests/test-copy-acl.c: Likewise.
35765         * tests/test-copy-file.c: Likewise.
35766         * tests/test-count-one-bits.c: Likewise.
35767         * tests/test-dprintf-posix.c: Likewise.
35768         * tests/test-dup2.c: Likewise.
35769         * tests/test-dup3.c: Likewise.
35770         * tests/test-duplocale.c: Likewise.
35771         * tests/test-fbufmode.c: Likewise.
35772         * tests/test-fchdir.c: Likewise.
35773         * tests/test-fchownat.c: Likewise.
35774         * tests/test-fcntl-safer.c: Likewise.
35775         * tests/test-fcntl.c: Likewise.
35776         * tests/test-fdopendir.c: Likewise.
35777         * tests/test-fdutimensat.c: Likewise.
35778         * tests/test-fflush2.c: Likewise.
35779         * tests/test-file-has-acl.c: Likewise.
35780         * tests/test-filevercmp.c: Likewise.
35781         * tests/test-flock.c: Likewise.
35782         * tests/test-floorf1.c: Likewise.
35783         * tests/test-floorf2.c: Likewise.
35784         * tests/test-floorl.c: Likewise.
35785         * tests/test-fnmatch.c: Likewise.
35786         * tests/test-fopen.h: Likewise.
35787         * tests/test-fpending.c: Likewise.
35788         * tests/test-fprintf-posix.c: Likewise.
35789         * tests/test-fpurge.c: Likewise.
35790         * tests/test-freadable.c: Likewise.
35791         * tests/test-freadahead.c: Likewise.
35792         * tests/test-freading.c: Likewise.
35793         * tests/test-freadptr.c: Likewise.
35794         * tests/test-freadptr2.c: Likewise.
35795         * tests/test-freadseek.c: Likewise.
35796         * tests/test-freopen.c: Likewise.
35797         * tests/test-frexp.c: Likewise.
35798         * tests/test-frexpl.c: Likewise.
35799         * tests/test-fseek.c: Likewise.
35800         * tests/test-fseeko.c: Likewise.
35801         * tests/test-fstatat.c: Likewise.
35802         * tests/test-fstrcmp.c: Likewise.
35803         * tests/test-fsync.c: Likewise.
35804         * tests/test-ftell.c: Likewise.
35805         * tests/test-ftello.c: Likewise.
35806         * tests/test-func.c: Likewise.
35807         * tests/test-futimens.c: Likewise.
35808         * tests/test-fwritable.c: Likewise.
35809         * tests/test-fwriting.c: Likewise.
35810         * tests/test-getcwd.c: Likewise.
35811         * tests/test-getdate.c: Likewise.
35812         * tests/test-getdelim.c: Likewise.
35813         * tests/test-getdtablesize.c: Likewise.
35814         * tests/test-getgroups.c: Likewise.
35815         * tests/test-getline.c: Likewise.
35816         * tests/test-getndelim2.c: Likewise.
35817         * tests/test-glob.c: Likewise.
35818         * tests/test-hash.c: Likewise.
35819         * tests/test-i-ring.c: Likewise.
35820         * tests/test-iconv-utf.c: Likewise.
35821         * tests/test-iconv.c: Likewise.
35822         * tests/test-idpriv-drop.c: Likewise.
35823         * tests/test-idpriv-droptemp.c: Likewise.
35824         * tests/test-inet_ntop.c: Likewise.
35825         * tests/test-inet_pton.c: Likewise.
35826         * tests/test-isblank.c: Likewise.
35827         * tests/test-isfinite.c: Likewise.
35828         * tests/test-isinf.c: Likewise.
35829         * tests/test-isnan.c: Likewise.
35830         * tests/test-isnand.h: Likewise.
35831         * tests/test-isnanf.h: Likewise.
35832         * tests/test-isnanl.h: Likewise.
35833         * tests/test-lchown.c: Likewise.
35834         * tests/test-ldexpl.c: Likewise.
35835         * tests/test-link.c: Likewise.
35836         * tests/test-linkat.c: Likewise.
35837         * tests/test-linked_list.c: Likewise.
35838         * tests/test-linkedhash_list.c: Likewise.
35839         * tests/test-localename.c: Likewise.
35840         * tests/test-lseek.c: Likewise.
35841         * tests/test-lstat.c: Likewise.
35842         * tests/test-mbmemcasecmp.c: Likewise.
35843         * tests/test-mbmemcasecoll.c: Likewise.
35844         * tests/test-mbrtowc.c: Likewise.
35845         * tests/test-mbscasecmp.c: Likewise.
35846         * tests/test-mbscasestr1.c: Likewise.
35847         * tests/test-mbscasestr2.c: Likewise.
35848         * tests/test-mbscasestr3.c: Likewise.
35849         * tests/test-mbscasestr4.c: Likewise.
35850         * tests/test-mbschr.c: Likewise.
35851         * tests/test-mbscspn.c: Likewise.
35852         * tests/test-mbsinit.c: Likewise.
35853         * tests/test-mbsncasecmp.c: Likewise.
35854         * tests/test-mbsnrtowcs.c: Likewise.
35855         * tests/test-mbspbrk.c: Likewise.
35856         * tests/test-mbspcasecmp.c: Likewise.
35857         * tests/test-mbsrchr.c: Likewise.
35858         * tests/test-mbsrtowcs.c: Likewise.
35859         * tests/test-mbsspn.c: Likewise.
35860         * tests/test-mbsstr1.c: Likewise.
35861         * tests/test-mbsstr2.c: Likewise.
35862         * tests/test-mbsstr3.c: Likewise.
35863         * tests/test-memchr.c: Likewise.
35864         * tests/test-memchr2.c: Likewise.
35865         * tests/test-memcmp.c: Likewise.
35866         * tests/test-memmem.c: Likewise.
35867         * tests/test-memrchr.c: Likewise.
35868         * tests/test-mkdir.c: Likewise.
35869         * tests/test-mkdirat.c: Likewise.
35870         * tests/test-mkfifo.c: Likewise.
35871         * tests/test-mkfifoat.c: Likewise.
35872         * tests/test-mknod.c: Likewise.
35873         * tests/test-nanosleep.c: Likewise.
35874         * tests/test-nl_langinfo.c: Likewise.
35875         * tests/test-obstack-printf.c: Likewise.
35876         * tests/test-open.c: Likewise.
35877         * tests/test-openat.c: Likewise.
35878         * tests/test-pipe-filter-gi1.c: Likewise.
35879         * tests/test-pipe-filter-gi2-main.c: Likewise.
35880         * tests/test-pipe-filter-ii1.c: Likewise.
35881         * tests/test-pipe-filter-ii2-main.c: Likewise.
35882         * tests/test-pipe2.c: Likewise.
35883         * tests/test-popen.h: Likewise.
35884         * tests/test-posixtm.c: Likewise.
35885         * tests/test-pread.c: Likewise.
35886         * tests/test-printf-frexp.c: Likewise.
35887         * tests/test-printf-frexpl.c: Likewise.
35888         * tests/test-printf-posix.c: Likewise.
35889         * tests/test-priv-set.c: Likewise.
35890         * tests/test-quotearg.c: Likewise.
35891         * tests/test-random_r.c: Likewise.
35892         * tests/test-rawmemchr.c: Likewise.
35893         * tests/test-rbtree_list.c: Likewise.
35894         * tests/test-rbtree_oset.c: Likewise.
35895         * tests/test-rbtreehash_list.c: Likewise.
35896         * tests/test-readlink.c: Likewise.
35897         * tests/test-remove.c: Likewise.
35898         * tests/test-rename.c: Likewise.
35899         * tests/test-renameat.c: Likewise.
35900         * tests/test-rmdir.c: Likewise.
35901         * tests/test-round1.c: Likewise.
35902         * tests/test-roundf1.c: Likewise.
35903         * tests/test-roundl.c: Likewise.
35904         * tests/test-safe-alloc.c: Likewise.
35905         * tests/test-sameacls.c: Likewise.
35906         * tests/test-set-mode-acl.c: Likewise.
35907         * tests/test-setenv.c: Likewise.
35908         * tests/test-sigaction.c: Likewise.
35909         * tests/test-signbit.c: Likewise.
35910         * tests/test-sleep.c: Likewise.
35911         * tests/test-snprintf-posix.c: Likewise.
35912         * tests/test-snprintf.c: Likewise.
35913         * tests/test-sprintf-posix.c: Likewise.
35914         * tests/test-stat-time.c: Likewise.
35915         * tests/test-stat.c: Likewise.
35916         * tests/test-strcasestr.c: Likewise.
35917         * tests/test-strchrnul.c: Likewise.
35918         * tests/test-strerror.c: Likewise.
35919         * tests/test-striconv.c: Likewise.
35920         * tests/test-striconveh.c: Likewise.
35921         * tests/test-striconveha.c: Likewise.
35922         * tests/test-strsignal.c: Likewise.
35923         * tests/test-strstr.c: Likewise.
35924         * tests/test-strtod.c: Likewise.
35925         * tests/test-strverscmp.c: Likewise.
35926         * tests/test-symlink.c: Likewise.
35927         * tests/test-symlinkat.c: Likewise.
35928         * tests/test-trunc1.c: Likewise.
35929         * tests/test-trunc2.c: Likewise.
35930         * tests/test-truncf1.c: Likewise.
35931         * tests/test-truncf2.c: Likewise.
35932         * tests/test-truncl.c: Likewise.
35933         * tests/test-uname.c: Likewise.
35934         * tests/test-unlink.c: Likewise.
35935         * tests/test-unlinkat.c: Likewise.
35936         * tests/test-unsetenv.c: Likewise.
35937         * tests/test-usleep.c: Likewise.
35938         * tests/test-utimens.c: Likewise.
35939         * tests/test-utimensat.c: Likewise.
35940         * tests/test-vasnprintf-posix.c: Likewise.
35941         * tests/test-vasnprintf-posix2.c: Likewise.
35942         * tests/test-vasnprintf.c: Likewise.
35943         * tests/test-vasprintf-posix.c: Likewise.
35944         * tests/test-vasprintf.c: Likewise.
35945         * tests/test-vdprintf-posix.c: Likewise.
35946         * tests/test-vfprintf-posix.c: Likewise.
35947         * tests/test-vprintf-posix.c: Likewise.
35948         * tests/test-vsnprintf-posix.c: Likewise.
35949         * tests/test-vsnprintf.c: Likewise.
35950         * tests/test-vsprintf-posix.c: Likewise.
35951         * tests/test-wcrtomb.c: Likewise.
35952         * tests/test-wcsnrtombs.c: Likewise.
35953         * tests/test-wcsrtombs.c: Likewise.
35954         * tests/test-wctype.c: Likewise.
35955         * tests/test-wcwidth.c: Likewise.
35956         * tests/test-xfprintf-posix.c: Likewise.
35957         * tests/test-xmemdup0.c: Likewise.
35958         * tests/test-xprintf-posix.c: Likewise.
35959         * tests/test-xvasprintf.c: Likewise.
35960         * tests/unicase/test-locale-language.c: Likewise.
35961         * tests/unicase/test-mapping-part1.h: Likewise.
35962         * tests/unicase/test-predicate-part1.h: Likewise.
35963         * tests/unicase/test-u8-casecmp.c: Likewise.
35964         * tests/unicase/test-u8-casecoll.c: Likewise.
35965         * tests/unicase/test-u8-casefold.c: Likewise.
35966         * tests/unicase/test-u8-is-cased.c: Likewise.
35967         * tests/unicase/test-u8-is-casefolded.c: Likewise.
35968         * tests/unicase/test-u8-is-lowercase.c: Likewise.
35969         * tests/unicase/test-u8-is-titlecase.c: Likewise.
35970         * tests/unicase/test-u8-is-uppercase.c: Likewise.
35971         * tests/unicase/test-u8-tolower.c: Likewise.
35972         * tests/unicase/test-u8-totitle.c: Likewise.
35973         * tests/unicase/test-u8-toupper.c: Likewise.
35974         * tests/unicase/test-u16-casecmp.c: Likewise.
35975         * tests/unicase/test-u16-casecoll.c: Likewise.
35976         * tests/unicase/test-u16-casefold.c: Likewise.
35977         * tests/unicase/test-u16-is-cased.c: Likewise.
35978         * tests/unicase/test-u16-is-casefolded.c: Likewise.
35979         * tests/unicase/test-u16-is-lowercase.c: Likewise.
35980         * tests/unicase/test-u16-is-titlecase.c: Likewise.
35981         * tests/unicase/test-u16-is-uppercase.c: Likewise.
35982         * tests/unicase/test-u16-tolower.c: Likewise.
35983         * tests/unicase/test-u16-totitle.c: Likewise.
35984         * tests/unicase/test-u16-toupper.c: Likewise.
35985         * tests/unicase/test-u32-casecmp.c: Likewise.
35986         * tests/unicase/test-u32-casecoll.c: Likewise.
35987         * tests/unicase/test-u32-casefold.c: Likewise.
35988         * tests/unicase/test-u32-is-cased.c: Likewise.
35989         * tests/unicase/test-u32-is-casefolded.c: Likewise.
35990         * tests/unicase/test-u32-is-lowercase.c: Likewise.
35991         * tests/unicase/test-u32-is-titlecase.c: Likewise.
35992         * tests/unicase/test-u32-is-uppercase.c: Likewise.
35993         * tests/unicase/test-u32-tolower.c: Likewise.
35994         * tests/unicase/test-u32-totitle.c: Likewise.
35995         * tests/unicase/test-u32-toupper.c: Likewise.
35996         * tests/unicase/test-ulc-casecmp.c: Likewise.
35997         * tests/unicase/test-ulc-casecoll.c: Likewise.
35998         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35999         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
36000         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
36001         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
36002         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
36003         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
36004         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
36005         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
36006         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
36007         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
36008         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
36009         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
36010         * tests/unictype/test-bidi_byname.c: Likewise.
36011         * tests/unictype/test-bidi_name.c: Likewise.
36012         * tests/unictype/test-bidi_of.c: Likewise.
36013         * tests/unictype/test-bidi_test.c: Likewise.
36014         * tests/unictype/test-block_list.c: Likewise.
36015         * tests/unictype/test-block_of.c: Likewise.
36016         * tests/unictype/test-block_test.c: Likewise.
36017         * tests/unictype/test-categ_and.c: Likewise.
36018         * tests/unictype/test-categ_and_not.c: Likewise.
36019         * tests/unictype/test-categ_byname.c: Likewise.
36020         * tests/unictype/test-categ_name.c: Likewise.
36021         * tests/unictype/test-categ_none.c: Likewise.
36022         * tests/unictype/test-categ_of.c: Likewise.
36023         * tests/unictype/test-categ_or.c: Likewise.
36024         * tests/unictype/test-categ_test_withtable.c: Likewise.
36025         * tests/unictype/test-combining.c: Likewise.
36026         * tests/unictype/test-decdigit.c: Likewise.
36027         * tests/unictype/test-digit.c: Likewise.
36028         * tests/unictype/test-mirror.c: Likewise.
36029         * tests/unictype/test-numeric.c: Likewise.
36030         * tests/unictype/test-pr_byname.c: Likewise.
36031         * tests/unictype/test-pr_test.c: Likewise.
36032         * tests/unictype/test-predicate-part1.h: Likewise.
36033         * tests/unictype/test-scripts.c: Likewise.
36034         * tests/unictype/test-sy_c_ident.c: Likewise.
36035         * tests/unictype/test-sy_java_ident.c: Likewise.
36036         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
36037         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
36038         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
36039         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
36040         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
36041         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
36042         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
36043         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
36044         * tests/uninorm/test-canonical-decomposition.c: Likewise.
36045         * tests/uninorm/test-compat-decomposition.c: Likewise.
36046         * tests/uninorm/test-composition.c: Likewise.
36047         * tests/uninorm/test-decomposing-form.c: Likewise.
36048         * tests/uninorm/test-decomposition.c: Likewise.
36049         * tests/uninorm/test-u8-nfc.c: Likewise.
36050         * tests/uninorm/test-u8-nfd.c: Likewise.
36051         * tests/uninorm/test-u8-nfkc.c: Likewise.
36052         * tests/uninorm/test-u8-nfkd.c: Likewise.
36053         * tests/uninorm/test-u8-normcmp.c: Likewise.
36054         * tests/uninorm/test-u8-normcoll.c: Likewise.
36055         * tests/uninorm/test-u16-nfc.c: Likewise.
36056         * tests/uninorm/test-u16-nfd.c: Likewise.
36057         * tests/uninorm/test-u16-nfkc.c: Likewise.
36058         * tests/uninorm/test-u16-nfkd.c: Likewise.
36059         * tests/uninorm/test-u16-normcmp.c: Likewise.
36060         * tests/uninorm/test-u16-normcoll.c: Likewise.
36061         * tests/uninorm/test-u32-nfc.c: Likewise.
36062         * tests/uninorm/test-u32-nfd.c: Likewise.
36063         * tests/uninorm/test-u32-nfkc.c: Likewise.
36064         * tests/uninorm/test-u32-nfkd.c: Likewise.
36065         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36066         * tests/uninorm/test-u32-normcmp.c: Likewise.
36067         * tests/uninorm/test-u32-normcoll.c: Likewise.
36068         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
36069         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
36070         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
36071         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
36072         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
36073         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
36074         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
36075         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
36076         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
36077         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
36078         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
36079         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
36080         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
36081         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
36082         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
36083         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
36084         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
36085         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
36086         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
36087         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
36088         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
36089         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
36090         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
36091         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
36092         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
36093         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
36094         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
36095         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
36096         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
36097         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
36098         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
36099         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
36100         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
36101         * tests/uniwidth/test-u8-strwidth.c: Likewise.
36102         * tests/uniwidth/test-u8-width.c: Likewise.
36103         * tests/uniwidth/test-u16-strwidth.c: Likewise.
36104         * tests/uniwidth/test-u16-width.c: Likewise.
36105         * tests/uniwidth/test-u32-strwidth.c: Likewise.
36106         * tests/uniwidth/test-u32-width.c: Likewise.
36107         * tests/uniwidth/test-uc_width.c: Likewise.
36108         * tests/uniwidth/test-uc_width2.c: Likewise.
36109         * modules/acl-tests (Files): Add tests/macros.h.
36110         * modules/areadlink-tests (Files): Likewise.
36111         * modules/areadlink-with-size-tests (Files): Likewise.
36112         * modules/areadlinkat-tests (Files): Likewise.
36113         * modules/areadlinkat-with-size-tests (Files): Likewise.
36114         * modules/argmatch-tests (Files): Likewise.
36115         * modules/argv-iter-tests (Files): Likewise.
36116         * modules/array-list-tests (Files): Likewise.
36117         * modules/array-mergesort-tests (Files): Likewise.
36118         * modules/array-oset-tests (Files): Likewise.
36119         * modules/avltree-list-tests (Files): Likewise.
36120         * modules/avltree-oset-tests (Files): Likewise.
36121         * modules/avltreehash-list-tests (Files): Likewise.
36122         * modules/base64-tests (Files): Likewise.
36123         * modules/binary-io-tests (Files): Likewise.
36124         * modules/bitrotate-tests (Files): Likewise.
36125         * modules/btowc-tests (Files): Likewise.
36126         * modules/byteswap-tests (Files): Likewise.
36127         * modules/c-ctype-tests (Files): Likewise.
36128         * modules/c-stack-tests (Files): Likewise.
36129         * modules/c-strcase-tests (Files): Likewise.
36130         * modules/c-strcasestr-tests (Files): Likewise.
36131         * modules/c-strstr-tests (Files): Likewise.
36132         * modules/canonicalize-lgpl-tests (Files): Likewise.
36133         * modules/canonicalize-tests (Files): Likewise.
36134         * modules/carray-list-tests (Files): Likewise.
36135         * modules/ceilf-tests (Files): Likewise.
36136         * modules/ceill-tests (Files): Likewise.
36137         * modules/chown-tests (Files): Likewise.
36138         * modules/cloexec-tests (Files): Likewise.
36139         * modules/copy-file-tests (Files): Likewise.
36140         * modules/count-one-bits-tests (Files): Likewise.
36141         * modules/dprintf-posix-tests (Files): Likewise.
36142         * modules/dup2-tests (Files): Likewise.
36143         * modules/dup3-tests (Files): Likewise.
36144         * modules/duplocale-tests (Files): Likewise.
36145         * modules/fbufmode-tests (Files): Likewise.
36146         * modules/fchdir-tests (Files): Likewise.
36147         * modules/fcntl-safer-tests (Files): Likewise.
36148         * modules/fcntl-tests (Files): Likewise.
36149         * modules/fdopendir-tests (Files): Likewise.
36150         * modules/fdutimensat-tests (Files): Likewise.
36151         * modules/fflush-tests (Files): Likewise.
36152         * modules/filevercmp-tests (Files): Likewise.
36153         * modules/flock-tests (Files): Likewise.
36154         * modules/floorf-tests (Files): Likewise.
36155         * modules/floorl-tests (Files): Likewise.
36156         * modules/fnmatch-tests (Files): Likewise.
36157         * modules/fopen-safer-tests (Files): Likewise.
36158         * modules/fopen-tests (Files): Likewise.
36159         * modules/fpending-tests (Files): Likewise.
36160         * modules/fprintf-posix-tests (Files): Likewise.
36161         * modules/fpurge-tests (Files): Likewise.
36162         * modules/freadable-tests (Files): Likewise.
36163         * modules/freadahead-tests (Files): Likewise.
36164         * modules/freading-tests (Files): Likewise.
36165         * modules/freadptr-tests (Files): Likewise.
36166         * modules/freadseek-tests (Files): Likewise.
36167         * modules/freopen-tests (Files): Likewise.
36168         * modules/frexp-nolibm-tests (Files): Likewise.
36169         * modules/frexp-tests (Files): Likewise.
36170         * modules/frexpl-nolibm-tests (Files): Likewise.
36171         * modules/frexpl-tests (Files): Likewise.
36172         * modules/fseek-tests (Files): Likewise.
36173         * modules/fseeko-tests (Files): Likewise.
36174         * modules/fstrcmp-tests (Files): Likewise.
36175         * modules/fsync-tests (Files): Likewise.
36176         * modules/ftell-tests (Files): Likewise.
36177         * modules/ftello-tests (Files): Likewise.
36178         * modules/func-tests (Files): Likewise.
36179         * modules/futimens-tests (Files): Likewise.
36180         * modules/fwritable-tests (Files): Likewise.
36181         * modules/fwriting-tests (Files): Likewise.
36182         * modules/getcwd-tests (Files): Likewise.
36183         * modules/getdate-tests (Files): Likewise.
36184         * modules/getdelim-tests (Files): Likewise.
36185         * modules/getdtablesize-tests (Files): Likewise.
36186         * modules/getgroups-tests (Files): Likewise.
36187         * modules/getline-tests (Files): Likewise.
36188         * modules/getndelim2-tests (Files): Likewise.
36189         * modules/glob-tests (Files): Likewise.
36190         * modules/hash-tests (Files): Likewise.
36191         * modules/i-ring-tests (Files): Likewise.
36192         * modules/iconv-tests (Files): Likewise.
36193         * modules/iconv_open-utf-tests (Files): Likewise.
36194         * modules/idpriv-drop-tests (Files): Likewise.
36195         * modules/idpriv-droptemp-tests (Files): Likewise.
36196         * modules/inet_ntop-tests (Files): Likewise.
36197         * modules/inet_pton-tests (Files): Likewise.
36198         * modules/isblank-tests (Files): Likewise.
36199         * modules/isfinite-tests (Files): Likewise.
36200         * modules/isinf-tests (Files): Likewise.
36201         * modules/isnan-tests (Files): Likewise.
36202         * modules/isnand-nolibm-tests (Files): Likewise.
36203         * modules/isnand-tests (Files): Likewise.
36204         * modules/isnanf-nolibm-tests (Files): Likewise.
36205         * modules/isnanf-tests (Files): Likewise.
36206         * modules/isnanl-nolibm-tests (Files): Likewise.
36207         * modules/isnanl-tests (Files): Likewise.
36208         * modules/lchown-tests (Files): Likewise.
36209         * modules/ldexpl-tests (Files): Likewise.
36210         * modules/link-tests (Files): Likewise.
36211         * modules/linkat-tests (Files): Likewise.
36212         * modules/linked-list-tests (Files): Likewise.
36213         * modules/linkedhash-list-tests (Files): Likewise.
36214         * modules/localename-tests (Files): Likewise.
36215         * modules/lseek-tests (Files): Likewise.
36216         * modules/lstat-tests (Files): Likewise.
36217         * modules/mbmemcasecmp-tests (Files): Likewise.
36218         * modules/mbmemcasecoll-tests (Files): Likewise.
36219         * modules/mbrtowc-tests (Files): Likewise.
36220         * modules/mbscasecmp-tests (Files): Likewise.
36221         * modules/mbscasestr-tests (Files): Likewise.
36222         * modules/mbschr-tests (Files): Likewise.
36223         * modules/mbscspn-tests (Files): Likewise.
36224         * modules/mbsinit-tests (Files): Likewise.
36225         * modules/mbsncasecmp-tests (Files): Likewise.
36226         * modules/mbsnrtowcs-tests (Files): Likewise.
36227         * modules/mbspbrk-tests (Files): Likewise.
36228         * modules/mbspcasecmp-tests (Files): Likewise.
36229         * modules/mbsrchr-tests (Files): Likewise.
36230         * modules/mbsrtowcs-tests (Files): Likewise.
36231         * modules/mbsspn-tests (Files): Likewise.
36232         * modules/mbsstr-tests (Files): Likewise.
36233         * modules/memchr-tests (Files): Likewise.
36234         * modules/memchr2-tests (Files): Likewise.
36235         * modules/memcmp-tests (Files): Likewise.
36236         * modules/memmem-tests (Files): Likewise.
36237         * modules/memrchr-tests (Files): Likewise.
36238         * modules/mkdir-tests (Files): Likewise.
36239         * modules/mkfifo-tests (Files): Likewise.
36240         * modules/mkfifoat-tests (Files): Likewise.
36241         * modules/mknod-tests (Files): Likewise.
36242         * modules/nanosleep-tests (Files): Likewise.
36243         * modules/nl_langinfo-tests (Files): Likewise.
36244         * modules/obstack-printf-tests (Files): Likewise.
36245         * modules/open-tests (Files): Likewise.
36246         * modules/openat-tests (Files): Likewise.
36247         * modules/pipe-filter-gi-tests (Files): Likewise.
36248         * modules/pipe-filter-ii-tests (Files): Likewise.
36249         * modules/pipe2-tests (Files): Likewise.
36250         * modules/popen-safer-tests (Files): Likewise.
36251         * modules/popen-tests (Files): Likewise.
36252         * modules/posixtm-tests (Files): Likewise.
36253         * modules/pread-tests (Files): Likewise.
36254         * modules/printf-frexp-tests (Files): Likewise.
36255         * modules/printf-frexpl-tests (Files): Likewise.
36256         * modules/printf-posix-tests (Files): Likewise.
36257         * modules/priv-set-tests (Files): Likewise.
36258         * modules/quotearg-tests (Files): Likewise.
36259         * modules/random_r-tests (Files): Likewise.
36260         * modules/rawmemchr-tests (Files): Likewise.
36261         * modules/rbtree-list-tests (Files): Likewise.
36262         * modules/rbtree-oset-tests (Files): Likewise.
36263         * modules/rbtreehash-list-tests (Files): Likewise.
36264         * modules/readlink-tests (Files): Likewise.
36265         * modules/remove-tests (Files): Likewise.
36266         * modules/rename-tests (Files): Likewise.
36267         * modules/renameat-tests (Files): Likewise.
36268         * modules/rmdir-tests (Files): Likewise.
36269         * modules/round-tests (Files): Likewise.
36270         * modules/roundf-tests (Files): Likewise.
36271         * modules/roundl-tests (Files): Likewise.
36272         * modules/safe-alloc-tests (Files): Likewise.
36273         * modules/setenv-tests (Files): Likewise.
36274         * modules/sigaction-tests (Files): Likewise.
36275         * modules/signbit-tests (Files): Likewise.
36276         * modules/sleep-tests (Files): Likewise.
36277         * modules/snprintf-posix-tests (Files): Likewise.
36278         * modules/snprintf-tests (Files): Likewise.
36279         * modules/sprintf-posix-tests (Files): Likewise.
36280         * modules/stat-tests (Files): Likewise.
36281         * modules/stat-time-tests (Files): Likewise.
36282         * modules/strcasestr-tests (Files): Likewise.
36283         * modules/strchrnul-tests (Files): Likewise.
36284         * modules/strerror-tests (Files): Likewise.
36285         * modules/striconv-tests (Files): Likewise.
36286         * modules/striconveh-tests (Files): Likewise.
36287         * modules/striconveha-tests (Files): Likewise.
36288         * modules/strsignal-tests (Files): Likewise.
36289         * modules/strstr-tests (Files): Likewise.
36290         * modules/strtod-tests (Files): Likewise.
36291         * modules/strverscmp-tests (Files): Likewise.
36292         * modules/symlink-tests (Files): Likewise.
36293         * modules/symlinkat-tests (Files): Likewise.
36294         * modules/trunc-tests (Files): Likewise.
36295         * modules/truncf-tests (Files): Likewise.
36296         * modules/truncl-tests (Files): Likewise.
36297         * modules/uname-tests (Files): Likewise.
36298         * modules/unicase/cased-tests (Files): Likewise.
36299         * modules/unicase/ignorable-tests (Files): Likewise.
36300         * modules/unicase/locale-language-tests (Files): Likewise.
36301         * modules/unicase/tolower-tests (Files): Likewise.
36302         * modules/unicase/totitle-tests (Files): Likewise.
36303         * modules/unicase/toupper-tests (Files): Likewise.
36304         * modules/unicase/u8-casecmp-tests (Files): Likewise.
36305         * modules/unicase/u8-casecoll-tests (Files): Likewise.
36306         * modules/unicase/u8-casefold-tests (Files): Likewise.
36307         * modules/unicase/u8-is-cased-tests (Files): Likewise.
36308         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
36309         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
36310         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
36311         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
36312         * modules/unicase/u8-tolower-tests (Files): Likewise.
36313         * modules/unicase/u8-totitle-tests (Files): Likewise.
36314         * modules/unicase/u8-toupper-tests (Files): Likewise.
36315         * modules/unicase/u16-casecmp-tests (Files): Likewise.
36316         * modules/unicase/u16-casecoll-tests (Files): Likewise.
36317         * modules/unicase/u16-casefold-tests (Files): Likewise.
36318         * modules/unicase/u16-is-cased-tests (Files): Likewise.
36319         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
36320         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
36321         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
36322         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
36323         * modules/unicase/u16-tolower-tests (Files): Likewise.
36324         * modules/unicase/u16-totitle-tests (Files): Likewise.
36325         * modules/unicase/u16-toupper-tests (Files): Likewise.
36326         * modules/unicase/u32-casecmp-tests (Files): Likewise.
36327         * modules/unicase/u32-casecoll-tests (Files): Likewise.
36328         * modules/unicase/u32-casefold-tests (Files): Likewise.
36329         * modules/unicase/u32-is-cased-tests (Files): Likewise.
36330         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
36331         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
36332         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
36333         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
36334         * modules/unicase/u32-tolower-tests (Files): Likewise.
36335         * modules/unicase/u32-totitle-tests (Files): Likewise.
36336         * modules/unicase/u32-toupper-tests (Files): Likewise.
36337         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
36338         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
36339         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
36340         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
36341         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
36342         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
36343         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
36344         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
36345         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
36346         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
36347         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
36348         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
36349         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
36350         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
36351         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
36352         * modules/unictype/bidicategory-name-tests (Files): Likewise.
36353         * modules/unictype/bidicategory-of-tests (Files): Likewise.
36354         * modules/unictype/bidicategory-test-tests (Files): Likewise.
36355         * modules/unictype/block-list-tests (Files): Likewise.
36356         * modules/unictype/block-of-tests (Files): Likewise.
36357         * modules/unictype/block-test-tests (Files): Likewise.
36358         * modules/unictype/category-C-tests (Files): Likewise.
36359         * modules/unictype/category-Cc-tests (Files): Likewise.
36360         * modules/unictype/category-Cf-tests (Files): Likewise.
36361         * modules/unictype/category-Cn-tests (Files): Likewise.
36362         * modules/unictype/category-Co-tests (Files): Likewise.
36363         * modules/unictype/category-Cs-tests (Files): Likewise.
36364         * modules/unictype/category-L-tests (Files): Likewise.
36365         * modules/unictype/category-Ll-tests (Files): Likewise.
36366         * modules/unictype/category-Lm-tests (Files): Likewise.
36367         * modules/unictype/category-Lo-tests (Files): Likewise.
36368         * modules/unictype/category-Lt-tests (Files): Likewise.
36369         * modules/unictype/category-Lu-tests (Files): Likewise.
36370         * modules/unictype/category-M-tests (Files): Likewise.
36371         * modules/unictype/category-Mc-tests (Files): Likewise.
36372         * modules/unictype/category-Me-tests (Files): Likewise.
36373         * modules/unictype/category-Mn-tests (Files): Likewise.
36374         * modules/unictype/category-N-tests (Files): Likewise.
36375         * modules/unictype/category-Nd-tests (Files): Likewise.
36376         * modules/unictype/category-Nl-tests (Files): Likewise.
36377         * modules/unictype/category-No-tests (Files): Likewise.
36378         * modules/unictype/category-P-tests (Files): Likewise.
36379         * modules/unictype/category-Pc-tests (Files): Likewise.
36380         * modules/unictype/category-Pd-tests (Files): Likewise.
36381         * modules/unictype/category-Pe-tests (Files): Likewise.
36382         * modules/unictype/category-Pf-tests (Files): Likewise.
36383         * modules/unictype/category-Pi-tests (Files): Likewise.
36384         * modules/unictype/category-Po-tests (Files): Likewise.
36385         * modules/unictype/category-Ps-tests (Files): Likewise.
36386         * modules/unictype/category-S-tests (Files): Likewise.
36387         * modules/unictype/category-Sc-tests (Files): Likewise.
36388         * modules/unictype/category-Sk-tests (Files): Likewise.
36389         * modules/unictype/category-Sm-tests (Files): Likewise.
36390         * modules/unictype/category-So-tests (Files): Likewise.
36391         * modules/unictype/category-Z-tests (Files): Likewise.
36392         * modules/unictype/category-Zl-tests (Files): Likewise.
36393         * modules/unictype/category-Zp-tests (Files): Likewise.
36394         * modules/unictype/category-Zs-tests (Files): Likewise.
36395         * modules/unictype/category-and-not-tests (Files): Likewise.
36396         * modules/unictype/category-and-tests (Files): Likewise.
36397         * modules/unictype/category-byname-tests (Files): Likewise.
36398         * modules/unictype/category-name-tests (Files): Likewise.
36399         * modules/unictype/category-none-tests (Files): Likewise.
36400         * modules/unictype/category-of-tests (Files): Likewise.
36401         * modules/unictype/category-or-tests (Files): Likewise.
36402         * modules/unictype/category-test-withtable-tests (Files): Likewise.
36403         * modules/unictype/combining-class-tests (Files): Likewise.
36404         * modules/unictype/ctype-alnum-tests (Files): Likewise.
36405         * modules/unictype/ctype-alpha-tests (Files): Likewise.
36406         * modules/unictype/ctype-blank-tests (Files): Likewise.
36407         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
36408         * modules/unictype/ctype-digit-tests (Files): Likewise.
36409         * modules/unictype/ctype-graph-tests (Files): Likewise.
36410         * modules/unictype/ctype-lower-tests (Files): Likewise.
36411         * modules/unictype/ctype-print-tests (Files): Likewise.
36412         * modules/unictype/ctype-punct-tests (Files): Likewise.
36413         * modules/unictype/ctype-space-tests (Files): Likewise.
36414         * modules/unictype/ctype-upper-tests (Files): Likewise.
36415         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
36416         * modules/unictype/decimal-digit-tests (Files): Likewise.
36417         * modules/unictype/digit-tests (Files): Likewise.
36418         * modules/unictype/mirror-tests (Files): Likewise.
36419         * modules/unictype/numeric-tests (Files): Likewise.
36420         * modules/unictype/property-alphabetic-tests (Files): Likewise.
36421         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
36422         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
36423         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
36424         Likewise.
36425         * modules/unictype/property-bidi-block-separator-tests (Files):
36426         Likewise.
36427         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
36428         Likewise.
36429         * modules/unictype/property-bidi-common-separator-tests (Files):
36430         Likewise.
36431         * modules/unictype/property-bidi-control-tests (Files): Likewise.
36432         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
36433         Likewise.
36434         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
36435         Likewise.
36436         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
36437         Likewise.
36438         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
36439         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
36440         Likewise.
36441         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
36442         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
36443         Likewise.
36444         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
36445         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
36446         * modules/unictype/property-bidi-segment-separator-tests (Files):
36447         Likewise.
36448         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
36449         * modules/unictype/property-byname-tests (Files): Likewise.
36450         * modules/unictype/property-combining-tests (Files): Likewise.
36451         * modules/unictype/property-composite-tests (Files): Likewise.
36452         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
36453         * modules/unictype/property-dash-tests (Files): Likewise.
36454         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
36455         * modules/unictype/property-default-ignorable-code-point-tests (Files):
36456         Likewise.
36457         * modules/unictype/property-deprecated-tests (Files): Likewise.
36458         * modules/unictype/property-diacritic-tests (Files): Likewise.
36459         * modules/unictype/property-extender-tests (Files): Likewise.
36460         * modules/unictype/property-format-control-tests (Files): Likewise.
36461         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
36462         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
36463         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
36464         * modules/unictype/property-hex-digit-tests (Files): Likewise.
36465         * modules/unictype/property-hyphen-tests (Files): Likewise.
36466         * modules/unictype/property-id-continue-tests (Files): Likewise.
36467         * modules/unictype/property-id-start-tests (Files): Likewise.
36468         * modules/unictype/property-ideographic-tests (Files): Likewise.
36469         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
36470         * modules/unictype/property-ids-trinary-operator-tests (Files):
36471         Likewise.
36472         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
36473         * modules/unictype/property-iso-control-tests (Files): Likewise.
36474         * modules/unictype/property-join-control-tests (Files): Likewise.
36475         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
36476         * modules/unictype/property-line-separator-tests (Files): Likewise.
36477         * modules/unictype/property-logical-order-exception-tests (Files):
36478         Likewise.
36479         * modules/unictype/property-lowercase-tests (Files): Likewise.
36480         * modules/unictype/property-math-tests (Files): Likewise.
36481         * modules/unictype/property-non-break-tests (Files): Likewise.
36482         * modules/unictype/property-not-a-character-tests (Files): Likewise.
36483         * modules/unictype/property-numeric-tests (Files): Likewise.
36484         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
36485         * modules/unictype/property-other-default-ignorable-code-point-tests
36486         (Files): Likewise.
36487         * modules/unictype/property-other-grapheme-extend-tests (Files):
36488         Likewise.
36489         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
36490         * modules/unictype/property-other-id-start-tests (Files): Likewise.
36491         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
36492         * modules/unictype/property-other-math-tests (Files): Likewise.
36493         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
36494         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
36495         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
36496         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
36497         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
36498         * modules/unictype/property-private-use-tests (Files): Likewise.
36499         * modules/unictype/property-punctuation-tests (Files): Likewise.
36500         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
36501         * modules/unictype/property-radical-tests (Files): Likewise.
36502         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
36503         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
36504         * modules/unictype/property-space-tests (Files): Likewise.
36505         * modules/unictype/property-terminal-punctuation-tests (Files):
36506         Likewise.
36507         * modules/unictype/property-test-tests (Files): Likewise.
36508         * modules/unictype/property-titlecase-tests (Files): Likewise.
36509         * modules/unictype/property-unassigned-code-value-tests (Files):
36510         Likewise.
36511         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
36512         * modules/unictype/property-uppercase-tests (Files): Likewise.
36513         * modules/unictype/property-variation-selector-tests (Files): Likewise.
36514         * modules/unictype/property-white-space-tests (Files): Likewise.
36515         * modules/unictype/property-xid-continue-tests (Files): Likewise.
36516         * modules/unictype/property-xid-start-tests (Files): Likewise.
36517         * modules/unictype/property-zero-width-tests (Files): Likewise.
36518         * modules/unictype/scripts-tests (Files): Likewise.
36519         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
36520         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
36521         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
36522         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
36523         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
36524         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
36525         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
36526         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
36527         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
36528         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
36529         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
36530         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
36531         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
36532         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
36533         * modules/uninorm/composition-tests (Files): Likewise.
36534         * modules/uninorm/decomposing-form-tests (Files): Likewise.
36535         * modules/uninorm/decomposition-tests (Files): Likewise.
36536         * modules/uninorm/filter-tests (Files): Likewise.
36537         * modules/uninorm/nfc-tests (Files): Likewise.
36538         * modules/uninorm/nfd-tests (Files): Likewise.
36539         * modules/uninorm/nfkc-tests (Files): Likewise.
36540         * modules/uninorm/nfkd-tests (Files): Likewise.
36541         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
36542         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
36543         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
36544         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
36545         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
36546         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
36547         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
36548         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
36549         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
36550         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
36551         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
36552         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
36553         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
36554         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
36555         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
36556         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
36557         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
36558         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
36559         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
36560         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
36561         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
36562         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
36563         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
36564         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
36565         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
36566         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
36567         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
36568         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
36569         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
36570         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
36571         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
36572         * modules/uniwidth/u8-width-tests (Files): Likewise.
36573         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
36574         * modules/uniwidth/u16-width-tests (Files): Likewise.
36575         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
36576         * modules/uniwidth/u32-width-tests (Files): Likewise.
36577         * modules/uniwidth/width-tests (Files): Likewise.
36578         * modules/unlink-tests (Files): Likewise.
36579         * modules/unsetenv-tests (Files): Likewise.
36580         * modules/usleep-tests (Files): Likewise.
36581         * modules/utimens-tests (Files): Likewise.
36582         * modules/utimensat-tests (Files): Likewise.
36583         * modules/vasnprintf-posix-tests (Files): Likewise.
36584         * modules/vasnprintf-tests (Files): Likewise.
36585         * modules/vasprintf-posix-tests (Files): Likewise.
36586         * modules/vasprintf-tests (Files): Likewise.
36587         * modules/vdprintf-posix-tests (Files): Likewise.
36588         * modules/vfprintf-posix-tests (Files): Likewise.
36589         * modules/vprintf-posix-tests (Files): Likewise.
36590         * modules/vsnprintf-posix-tests (Files): Likewise.
36591         * modules/vsnprintf-tests (Files): Likewise.
36592         * modules/vsprintf-posix-tests (Files): Likewise.
36593         * modules/wcrtomb-tests (Files): Likewise.
36594         * modules/wcsnrtombs-tests (Files): Likewise.
36595         * modules/wcsrtombs-tests (Files): Likewise.
36596         * modules/wctype-tests (Files): Likewise.
36597         * modules/wcwidth-tests (Files): Likewise.
36598         * modules/xmemdup0-tests (Files): Likewise.
36599         * modules/xprintf-posix-tests (Files): Likewise.
36600         * modules/xvasprintf-tests (Files): Likewise.
36601
36602 2009-12-24  Eric Blake  <ebb9@byu.net>
36603
36604         test-nanosleep: fix typo
36605         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
36606         patch.
36607         Reported by Bruno Haible.
36608
36609 2009-12-24  Bruno Haible  <bruno@clisp.org>
36610
36611         Reduce namespace pollution on glibc systems.
36612         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
36613         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
36614         systems.
36615         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
36616         <getopt.h> on glibc systems.
36617         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
36618         systems.
36619         * lib/fcntl.c: Include <unistd.h> here instead.
36620
36621 2009-12-24  Bruno Haible  <bruno@clisp.org>
36622
36623         * lib/stdlib.in.h (includes): Fix typo in today's commit.
36624
36625 2009-12-24  Eric Blake  <ebb9@byu.net>
36626
36627         tests: add signature checks
36628         * tests/signature.h (SIGNATURE_CHECK): New file.
36629         * modules/atexit-tests (Files): Use it.
36630         * modules/btowc-tests (Files): Likewise.
36631         * modules/canonicalize-lgpl-tests (Files): Likewise.
36632         * modules/ceilf-tests (Files): Likewise.
36633         * modules/ceill-tests (Files): Likewise.
36634         * modules/chown-tests (Files): Likewise.
36635         * modules/dprintf-posix-tests (Files): Likewise.
36636         * modules/dup2-tests (Files): Likewise.
36637         * modules/dup3-tests (Files): Likewise.
36638         * modules/duplocale-tests (Files): Likewise.
36639         * modules/fchdir-tests (Files): Likewise.
36640         * modules/fcntl-tests (Files): Likewise.
36641         * modules/fdopendir-tests (Files): Likewise.
36642         * modules/fflush-tests (Files): Likewise.
36643         * modules/flock-tests (Files): Likewise.
36644         * modules/floorf-tests (Files): Likewise.
36645         * modules/floorl-tests (Files): Likewise.
36646         * modules/fnmatch-tests (Files): Likewise.
36647         * modules/fopen-tests (Files): Likewise.
36648         * modules/fprintf-posix-tests (Files): Likewise.
36649         * modules/freopen-tests (Files): Likewise.
36650         * modules/frexp-nolibm-tests (Files): Likewise.
36651         * modules/frexp-tests (Files): Likewise.
36652         * modules/frexpl-nolibm-tests (Files): Likewise.
36653         * modules/frexpl-tests (Files): Likewise.
36654         * modules/fseek-tests (Files): Likewise.
36655         * modules/fseeko-tests (Files): Likewise.
36656         * modules/fsync-tests (Files): Likewise.
36657         * modules/ftell-tests (Files): Likewise.
36658         * modules/ftello-tests (Files): Likewise.
36659         * modules/futimens-tests (Files): Likewise.
36660         * modules/getaddrinfo-tests (Files): Likewise.
36661         * modules/getcwd-tests (Files): Likewise.
36662         * modules/getdelim-tests (Files): Likewise.
36663         * modules/getdtablesize-tests (Files): Likewise.
36664         * modules/getgroups-tests (Files): Likewise.
36665         * modules/gethostname-tests (Files): Likewise.
36666         * modules/getline-tests (Files): Likewise.
36667         * modules/getopt-posix-tests (Files): Likewise.
36668         * modules/gettimeofday-tests (Files): Likewise.
36669         * modules/glob-tests (Files): Likewise.
36670         * modules/iconv-tests (Files): Likewise.
36671         * modules/inet_ntop-tests (Files): Likewise.
36672         * modules/inet_pton-tests (Files): Likewise.
36673         * modules/isblank-tests (Files): Likewise.
36674         * modules/lchown-tests (Files): Likewise.
36675         * modules/ldexpl-tests (Files): Likewise.
36676         * modules/link-tests (Files): Likewise.
36677         * modules/linkat-tests (Files): Likewise.
36678         * modules/lseek-tests (Files): Likewise.
36679         * modules/lstat-tests (Files): Likewise.
36680         * modules/mbrtowc-tests (Files): Likewise.
36681         * modules/mbsinit-tests (Files): Likewise.
36682         * modules/mbsnrtowcs-tests (Files): Likewise.
36683         * modules/mbsrtowcs-tests (Files): Likewise.
36684         * modules/memchr-tests (Files): Likewise.
36685         * modules/memcmp-tests (Files): Likewise.
36686         * modules/memmem-tests (Files): Likewise.
36687         * modules/memrchr-tests (Files): Likewise.
36688         * modules/mkdir-tests (Files): Likewise.
36689         * modules/mkfifo-tests (Files): Likewise.
36690         * modules/mkfifoat-tests (Files): Likewise.
36691         * modules/mknod-tests (Files): Likewise.
36692         * modules/nanosleep-tests (Files): Likewise.
36693         * modules/nl_langinfo-tests (Files): Likewise.
36694         * modules/obstack-printf-tests (Files): Likewise.
36695         * modules/open-tests (Files): Likewise.
36696         * modules/openat-tests (Files): Likewise.
36697         * modules/perror-tests (Files): Likewise.
36698         * modules/pipe2-tests (Files): Likewise.
36699         * modules/poll-tests (Files): Likewise.
36700         * modules/popen-tests (Files): Likewise.
36701         * modules/posix_spawn-tests (Files): Likewise.
36702         * modules/posix_spawnp-tests (Files): Likewise.
36703         * modules/pread-tests (Files): Likewise.
36704         * modules/printf-posix-tests (Files): Likewise.
36705         * modules/pty-tests (Files): Likewise.
36706         * modules/random_r-tests (Files): Likewise.
36707         * modules/rawmemchr-tests (Files): Likewise.
36708         * modules/readlink-tests (Files): Likewise.
36709         * modules/remove-tests (Files): Likewise.
36710         * modules/rename-tests (Files): Likewise.
36711         * modules/renameat-tests (Files): Likewise.
36712         * modules/rmdir-tests (Files): Likewise.
36713         * modules/round-tests (Files): Likewise.
36714         * modules/roundf-tests (Files): Likewise.
36715         * modules/roundl-tests (Files): Likewise.
36716         * modules/select-tests (Files): Likewise.
36717         * modules/setenv-tests (Files): Likewise.
36718         * modules/sigaction-tests (Files): Likewise.
36719         * modules/sleep-tests (Files): Likewise.
36720         * modules/snprintf-posix-tests (Files): Likewise.
36721         * modules/snprintf-tests (Files): Likewise.
36722         * modules/sprintf-posix-tests (Files): Likewise.
36723         * modules/stat-tests (Files): Likewise.
36724         * modules/strcasestr-tests (Files): Likewise.
36725         * modules/strchrnul-tests (Files): Likewise.
36726         * modules/strerror-tests (Files): Likewise.
36727         * modules/strsignal-tests (Files): Likewise.
36728         * modules/strstr-tests (Files): Likewise.
36729         * modules/strtod-tests (Files): Likewise.
36730         * modules/strverscmp-tests (Files): Likewise.
36731         * modules/symlink-tests (Files): Likewise.
36732         * modules/symlinkat-tests (Files): Likewise.
36733         * modules/times-tests (Files): Likewise.
36734         * modules/trunc-tests (Files): Likewise.
36735         * modules/truncf-tests (Files): Likewise.
36736         * modules/truncl-tests (Files): Likewise.
36737         * modules/tsearch-tests (Files): Likewise.
36738         * modules/uname-tests (Files): Likewise.
36739         * modules/unlink-tests (Files): Likewise.
36740         * modules/unsetenv-tests (Files): Likewise.
36741         * modules/usleep-tests (Files): Likewise.
36742         * modules/utimensat-tests (Files): Likewise.
36743         * modules/vasprintf-tests (Files): Likewise.
36744         * modules/vdprintf-posix-tests (Files): Likewise.
36745         * modules/vfprintf-posix-tests (Files): Likewise.
36746         * modules/vprintf-posix-tests (Files): Likewise.
36747         * modules/vsnprintf-posix-tests (Files): Likewise.
36748         * modules/vsnprintf-tests (Files): Likewise.
36749         * modules/vsprintf-posix-tests (Files): Likewise.
36750         * modules/wcrtomb-tests (Files): Likewise.
36751         * modules/wcsnrtombs-tests (Files): Likewise.
36752         * modules/wcsrtombs-tests (Files): Likewise.
36753         * modules/wcwidth-tests (Files): Likewise.
36754         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
36755         * tests/test-isinf.c (isinf): Likewise.
36756         * tests/test-isnan.c (isnan): Likewise.
36757         * tests/test-signbit.c (signbit): Likewise.
36758         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
36759         declaration, either as macro or with correct signature.
36760         (select): Ensure function under test is declared with correct
36761         signature in correct header.
36762         * tests/test-atexit.c (atexit): Likewise.
36763         * tests/test-btowc.c (btowc): Likewise.
36764         * tests/test-canonicalize-lgpl.c (realpath)
36765         (canonicalize_file_name): Likewise.
36766         * tests/test-ceilf1.c (ceilf): Likewise.
36767         * tests/test-ceill.c (ceill): Likewise.
36768         * tests/test-chown.c (chown): Likewise.
36769         * tests/test-dprintf-posix.c (dprintf): Likewise.
36770         * tests/test-dup2.c (dup2): Likewise.
36771         * tests/test-dup3.c (dup3): Likewise.
36772         * tests/test-duplocale.c (duplocale): Likewise.
36773         * tests/test-fchdir.c (fchdir): Likewise.
36774         * tests/test-fchownat.c (fchownat): Likewise.
36775         * tests/test-fcntl.c (fcntl): Likewise.
36776         * tests/test-fdopendir.c (fdopendir): Likewise.
36777         * tests/test-fflush.c (fflush): Likewise.
36778         * tests/test-flock.c (flock): Likewise.
36779         * tests/test-floorf1.c (floorf): Likewise.
36780         * tests/test-floorl.c (floorl): Likewise.
36781         * tests/test-fnmatch.c (fnmatch): Likewise.
36782         * tests/test-fopen.c (fopen): Likewise.
36783         * tests/test-fprintf-posix.c (fprintf): Likewise.
36784         * tests/test-freopen.c (freopen): Likewise.
36785         * tests/test-frexp.c (frexp): Likewise.
36786         * tests/test-frexpl.c (frexpl): Likewise.
36787         * tests/test-fseek.c (fseek): Likewise.
36788         * tests/test-fseeko.c (fseeko): Likewise.
36789         * tests/test-fstatat.c (fstatat): Likewise.
36790         * tests/test-fsync.c (fsync): Likewise.
36791         * tests/test-ftell.c (ftell): Likewise.
36792         * tests/test-ftello.c (ftello): Likewise.
36793         * tests/test-futimens.c (futimens): Likewise.
36794         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
36795         (gai_strerror): Likewise.
36796         * tests/test-getcwd.c (getcwd): Likewise.
36797         * tests/test-getdelim.c (getdelim): Likewise.
36798         * tests/test-getdtablesize.c (getdtablesize): Likewise.
36799         * tests/test-getgroups.c (getgroups): Likewise.
36800         * tests/test-gethostname.c (gethostname): Likewise.
36801         * tests/test-getline.c (getline): Likewise.
36802         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
36803         Likewise.
36804         * tests/test-gettimeofday.c (gettimeofday): Likewise.
36805         * tests/test-glob.c (glob, globfree): Likewise.
36806         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
36807         * tests/test-inet_ntop.c (inet_ntop): Likewise.
36808         * tests/test-inet_pton.c (inet_pton): Likewise.
36809         * tests/test-isblank.c (isblank): Likewise.
36810         * tests/test-lchown.c (lchown): Likewise.
36811         * tests/test-ldexpl.c (ldexpl): Likewise.
36812         * tests/test-link.c (link): Likewise.
36813         * tests/test-linkat.c (linkat): Likewise.
36814         * tests/test-lseek.c (lseek): Likewise.
36815         * tests/test-lstat.c (lstat): Likewise.
36816         * tests/test-mbrtowc.c (mbrtowc): Likewise.
36817         * tests/test-mbsinit.c (mbsinit): Likewise.
36818         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
36819         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
36820         * tests/test-memchr.c (memchr): Likewise.
36821         * tests/test-memcmp.c (memcmp): Likewise.
36822         * tests/test-memmem.c (memmem): Likewise.
36823         * tests/test-memrchr.c (memrchr): Likewise.
36824         * tests/test-mkdir.c (mkdir): Likewise.
36825         * tests/test-mkdirat.c (mkdirat): Likewise.
36826         * tests/test-mkfifo.c (mkfifo): Likewise.
36827         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
36828         * tests/test-mknod.c (mknod): Likewise.
36829         * tests/test-nanosleep.c (nanosleep): Likewise.
36830         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
36831         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
36832         Likewise.
36833         * tests/test-open.c (open): Likewise.
36834         * tests/test-openat.c (openat): Likewise.
36835         * tests/test-perror.c (perror): Likewise.
36836         * tests/test-pipe2.c (pipe2): Likewise.
36837         * tests/test-poll.c (poll): Likewise.
36838         * tests/test-popen.c (popen, pclose): Likewise.
36839         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
36840         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
36841         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
36842         (posix_spawn_file_actions_destroy)
36843         (posix_spawn_file_actions_addclose)
36844         (posix_spawn_file_actions_addopen)
36845         (posix_spawn_file_actions_adddup2): Likewise.
36846         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
36847         * tests/test-pread.c (pread): Likewise.
36848         * tests/test-printf-posix.c (printf): Likewise.
36849         * tests/test-pty.c (openpty, forkpty): Likewise.
36850         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
36851         (random_r): Likewise.
36852         * tests/test-rawmemchr.c (rawmemchr): Likewise.
36853         * tests/test-readlink.c (readlink): Likewise.
36854         * tests/test-remove.c (remove): Likewise.
36855         * tests/test-rename.c (rename): Likewise.
36856         * tests/test-renameat.c (renameat): Likewise.
36857         * tests/test-rmdir.c (rmdir): Likewise.
36858         * tests/test-round1.c (round): Likewise.
36859         * tests/test-roundf1.c (roundf): Likewise.
36860         * tests/test-roundl.c (roundl): Likewise.
36861         * tests/test-setenv.c (setenv): Likewise.
36862         * tests/test-sigaction.c (sigaction): Likewise.
36863         * tests/test-sleep.c (sleep): Likewise.
36864         * tests/test-snprintf.c (snprintf): Likewise.
36865         * tests/test-sprintf-posix.c (sprintf): Likewise.
36866         * tests/test-stat.c (stat): Likewise.
36867         * tests/test-stpncpy.c (stpncpy): Likewise.
36868         * tests/test-strcasestr.c (strcasestr): Likewise.
36869         * tests/test-strchrnul.c (strchrnul): Likewise.
36870         * tests/test-strerror.c (strerror): Likewise.
36871         * tests/test-strsignal.c (strsignal): Likewise.
36872         * tests/test-strstr.c (strstr): Likewise.
36873         * tests/test-strtod.c (strtod): Likewise.
36874         * tests/test-strverscmp.c (strverscmp): Likewise.
36875         * tests/test-symlink.c (symlink): Likewise.
36876         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
36877         * tests/test-times.c (times): Likewise.
36878         * tests/test-trunc1.c (trunc): Likewise.
36879         * tests/test-truncf1.c (truncf): Likewise.
36880         * tests/test-truncl.c (truncl): Likewise.
36881         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
36882         Likewise.
36883         * tests/test-uname.c (uname): Likewise.
36884         * tests/test-unlink.c (unlink): Likewise.
36885         * tests/test-unlinkat.c (unlinkat): Likewise.
36886         * tests/test-unsetenv.c (unsetenv): Likewise.
36887         * tests/test-usleep.c (usleep): Likewise.
36888         * tests/test-utimensat.c (utimensat): Likewise.
36889         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
36890         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
36891         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
36892         * tests/test-vprintf-posix.c (vprintf): Likewise.
36893         * tests/test-vsnprintf.c (vsnprintf): Likewise.
36894         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
36895         * tests/test-wcrtomb.c (wcrtomb): Likewise.
36896         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
36897         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
36898         * tests/test-wcwidth.c (wcwidth): Likewise.
36899
36900         build: pull in conditional headers during GNULIB_POSIXCHECK
36901         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
36902         definitions from any conditionally-included headers.
36903         * lib/stdlib.in.h (includes): Likewise.
36904         * lib/unistd.in.h (includes): Likewise.
36905
36906 2009-12-24  Bruno Haible  <bruno@clisp.org>
36907
36908         * tests/test-argv-iter.c: Include header file being tested immediately
36909         after config.h.
36910         * tests/test-base64.c: Likewise.
36911         * tests/test-flock.c: Likewise.
36912         * tests/test-fsync.c: Likewise.
36913         * tests/test-getdate.c: Likewise.
36914         * tests/test-getndelim2.c: Likewise.
36915         * tests/test-isfinite.c: Likewise.
36916         * tests/test-isinf.c: Likewise.
36917         * tests/test-strerror.c: Likewise.
36918         * tests/test-strsignal.c: Likewise.
36919
36920 2009-12-23  Eric Blake  <ebb9@byu.net>
36921
36922         unistd: work around cygwin bug
36923         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
36924         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
36925         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
36926
36927 2009-12-23  Bruno Haible  <bruno@clisp.org>
36928
36929         localename: More tests.
36930         * tests/test-localename.c (SIZEOF): New macro.
36931         (categories): New variable.
36932         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
36933         test_locale_name_default): Add test w.r.t. thread locale.
36934         (test_locale_name_thread): New function.
36935         (main): Invoke it.
36936
36937         localename: Make aware of thread locale.
36938         * lib/localename.h (gl_locale_name_thread): New declaration.
36939         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
36940         behaviour with respect to thread locale.
36941         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
36942         <langinfo.h>, glthread/lock.h.
36943         (SIZE_BITS): New macro.
36944         (string_hash): New function.
36945         (struct hash_node): New type.
36946         (HASH_TABLE_SIZE): New macro.
36947         (struniq_hash_table, struniq_lock): New variables.
36948         (struniq): New function.
36949         (gl_locale_name_thread): New function.
36950         (gl_locale_name): Invoke it.
36951         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
36952         * modules/localename (Depends-on): Add lock.
36953         Reported by Mike Gran <spk121@yahoo.com>.
36954
36955 2009-12-23  Eric Blake  <ebb9@byu.net>
36956
36957         va-args: new module
36958         * modules/va-args: New file.
36959         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
36960         * MODULES.html.sh (Core language properties): Mention it.
36961
36962         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
36963         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
36964         named alias for __attribute__((__unused__)).
36965         * lib/chown.c: Update client.
36966         * lib/fchmodat.c: Likewise.
36967         * lib/fts.c: Likewise.
36968         * lib/getdate.y: Likewise.
36969         * lib/getgroups.c: Likewise.
36970         * lib/getopt.c: Likewise.
36971         * lib/getugroups.c: Likewise.
36972         * lib/mkdir.c: Likewise.
36973         * lib/mkfifo.c: Likewise.
36974         * lib/mkfifoat.c: Likewise.
36975         * lib/mknod.c: Likewise.
36976         * lib/mknodat.c: Likewise.
36977         * lib/readlink.c: Likewise.
36978         * lib/se-context.in.h: Likewise.
36979         * lib/se-selinux.in.h: Likewise.
36980         * lib/sockets.c: Likewise.
36981         * lib/symlink.c: Likewise.
36982         * lib/symlinkat.c: Likewise.
36983         * lib/unicodeio.c: Likewise.
36984         * lib/unistr.h: Likewise.
36985         * tests/test-areadlink.c: Likewise.
36986         * tests/test-areadlinkat.c: Likewise.
36987         * tests/test-filenamecat.c: Likewise.
36988         * tests/test-fseeko.c: Likewise.
36989         * tests/test-ftello.c: Likewise.
36990         * tests/test-getdate.c: Likewise.
36991         * tests/test-getgroups.c: Likewise.
36992         * tests/test-gethostname.c: Likewise.
36993         * tests/test-quotearg.c: Likewise.
36994         * tests/test-version-etc.c: Likewise.
36995         * tests/test-xalloc-die.c: Likewise.
36996         * tests/test-xfprintf-posix.c: Likewise.
36997         * tests/test-xprintf-posix.c: Likewise.
36998         * tests/test-xvasprintf.c: Likewise.
36999
37000         tests: avoid compiler warnings
37001         * tests/test-fcntl.c (main): Delete unused parameters.
37002         * tests/test-freopen-safer.c (main): Likewise.
37003         * tests/test-xalloc-die.c (main): Mark unused parameters.
37004         * tests/test-fseeko.c (main): Likewise.
37005         * tests/test-ftello.c (main): Likewise.
37006         * tests/test-nanosleep.c (main): Avoid declaration warning.
37007         * tests/test-sleep.c (main): Likewise.
37008         * tests/test-unsetenv.c (main): Silence warning about string
37009         literal.
37010         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
37011
37012 2009-12-23  Bruno Haible  <bruno@clisp.org>
37013
37014         * tests/test-localename.c (test_locale_name): New function, extracted
37015         from main. Also test mixed situations.
37016         (test_locale_name_posix, test_locale_name_environ,
37017         test_locale_name_default): New functions.
37018         (main): Invoke them all.
37019         * modules/localename-tests (configure.ac): Test for newlocale.
37020
37021 2009-12-23  Bruno Haible  <bruno@clisp.org>
37022
37023         unistd: Ensure getcwd gets declared before being overridden.
37024         * lib/unistd.in.h: Conditionally include <io.h>.
37025
37026 2009-12-22  Bruno Haible  <bruno@clisp.org>
37027
37028         wchar: Diagnose broken combination of glibc and gcc versions and flags.
37029         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
37030         (gl_WCHAR_H): Invoke it.
37031         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
37032         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
37033         Reported by Karl Berry <karl@freefriends.org>.
37034
37035 2009-12-22  Eric Blake  <ebb9@byu.net>
37036
37037         math, unistd: avoid redundant includes
37038         * lib/math.in.h (isnan): No need to re-include <math.h>.
37039         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
37040
37041         getsubopt: work around cygwin bug
37042         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
37043         avoid conflicting with system getsubopt.
37044         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
37045         bug.
37046
37047         getopt: synchronize from glibc
37048         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
37049         parameter order.  Adjust all callers.
37050         (_getopt_internal_r, main): Adjust quoting in error messages.
37051         Drop considerations for outdated POSIX 1003.2 error message.
37052         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
37053         callers.
37054         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
37055
37056         test-getopt: test stderr behavior
37057         * modules/getopt-posix-tests (Depends-on): Add dup2.
37058         * tests/test-getopt.c (ASSERT): Avoid stderr.
37059         (main): Move stderr to a temporary file.
37060         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
37061         Instead, add parameter to inform caller if output occurred.
37062         (test_getopt): Adjust all existing tests to expect silence, and
37063         add new tests of leading ":".
37064         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37065         glibc shortcomings with leading "-:" or "+:" in optstring.
37066         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37067         Likewise.
37068         * doc/posix-functions/getopt.texi (getopt): Likewise.
37069
37070         test-getopt: enhance test
37071         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
37072         supports optind=0.
37073         * tests/test-getopt.c (OPTIND_MIN): Move...
37074         * tests/test-getopt.h (OPTIND_MIN): ...here.
37075         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
37076         Require that optind=0 works, since modern BSD supports it in
37077         addition to optreset, and since coreutils expects it.
37078         (test_getopt_long_only): New test.
37079         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37080         glibc shortcomings with 'W;', and enforcement of optind=0.
37081         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37082         Likewise.
37083
37084 2009-12-21  Bruno Haible  <bruno@clisp.org>
37085
37086         localename: Improvements for MacOS X and Cygwin.
37087         * lib/localename.h (gl_locale_name_environ): New declaration.
37088         * lib/localename.c (gl_locale_name_environ): New function, extracted from
37089         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
37090         (gl_locale_name_posix): Invoke it.
37091         (gl_locale_name_default): Add comments. Use Windows native API also on
37092         Cygwin.
37093
37094 2009-12-21  Bruno Haible  <bruno@clisp.org>
37095
37096         Update list of Win32 locale ids.
37097         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
37098         (LANG_SAMI): Renamed from LANG_SAAMI.
37099         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
37100         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
37101         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
37102         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
37103         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
37104         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
37105         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
37106         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
37107         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
37108         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
37109         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
37110         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
37111         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
37112         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
37113         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
37114         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
37115         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
37116         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
37117         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
37118         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
37119         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
37120         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
37121         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
37122         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
37123         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
37124         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
37125         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
37126         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
37127         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
37128         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
37129         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
37130         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
37131         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
37132         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
37133         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
37134         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
37135         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
37136         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
37137         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
37138         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
37139         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
37140         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
37141         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
37142         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
37143         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
37144         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
37145         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
37146         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
37147         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
37148         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
37149         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
37150         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
37151         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
37152         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
37153         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
37154         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
37155         Add more languages and countries for Sami, Sorbian. Add more countries
37156         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
37157         for Pashto. Change country for Syriac, Tswana.
37158
37159 2009-12-21  Eric Blake  <ebb9@byu.net>
37160
37161         test-utimens: avoid spurious failure
37162         * tests/test-chown.h (nap): Factor...
37163         * tests/nap.h: ...into new file.
37164         * tests/test-lchown.h (nap): Avoid duplication.
37165         * tests/test-utimens-common.h (nap): Use shared implementation,
37166         necessary on file systems with 1-second resolution.
37167         * modules/chown-tests (Files): Include new file.
37168         * modules/fdutimensat-tests (Files): Likewise.
37169         * modules/futimens-tests (Files): Likewise.
37170         * modules/lchown-tests (Files): Likewise.
37171         * modules/openat-tests (Files): Likewise.
37172         * modules/utimens-tests (Files): Likewise.
37173         * modules/utimensat-tests (Files): Likewise.
37174
37175 2009-12-19  Eric Blake  <ebb9@byu.net>
37176
37177         futimens, utimensat: work around Linux bug
37178         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
37179         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37180         * lib/utimensat.c (rpl_utimensat): Work around it.
37181         * lib/futimens.c (rpl_futimens): Adjust comment.
37182
37183         utimens: work around Linux ctime bug
37184         * lib/utimens.c (detect_ctime_bug): New helper function.
37185         (update_timespec): Differentiate between workaround needed for
37186         this bug vs. what is needed for systems that lack utimensat.
37187         (fdutimens, lutimens): Work around bug.
37188
37189         utimens: check for ctime update
37190         * tests/test-utimens-common.h (check_ctime): Define.
37191         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
37192         * tests/test-futimens.h (test_futimens): Likewise.
37193         * tests/test-lutimens.h (test_lutimens): Likewise.
37194         * doc/posix-functions/futimens.texi (futimens): Document the bug.
37195         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37196
37197 2009-12-19  Bruno Haible  <bruno@clisp.org>
37198
37199         dprintf-posix: Check against memory leak fixed on 2009-12-15.
37200         * tests/test-dprintf-posix2.sh: New file.
37201         * tests/test-dprintf-posix2.c: New file.
37202         * modules/dprintf-posix-tests (Files): Add them.
37203         (configure.ac): Check for getrlimit and setrlimit.
37204         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37205
37206 2009-12-19  Bruno Haible  <bruno@clisp.org>
37207
37208         fprintf-posix: Check against memory leak fixed on 2009-12-15.
37209         * tests/test-fprintf-posix3.sh: New file.
37210         * tests/test-fprintf-posix3.c: New file.
37211         * modules/fprintf-posix-tests (Files): Add them.
37212         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
37213
37214 2009-12-19  Eric Blake  <ebb9@byu.net>
37215
37216         dirfd: fix prototype
37217         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
37218         * lib/dirfd.c (dirfd): Likewise.
37219
37220         canonicalize: reduce memory usage
37221         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
37222         allocation to size.
37223         Reported by Solar Designer <solar@openwall.com>.
37224
37225 2009-12-19  Bruno Haible  <bruno@clisp.org>
37226
37227         New module attribute 'Applicability'.
37228         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
37229         * gnulib-tool: New option --extract-applicability.
37230         (func_usage): Document it.
37231         (sed_extract_prog): Recognize it.
37232         (func_get_applicability): New function.
37233         (func_import): Generalize handling of 'link-warning' module.
37234         * modules/link-warning (Applicability): New section.
37235         * modules/arg-nonnull (Applicability): New section.
37236         Repoted by Simon Josefsson <simon@josefsson.org>.
37237
37238 2009-12-19  Bruno Haible  <bruno@clisp.org>
37239
37240         fflush: tweak
37241         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
37242         * lib/fseeko.c (rpl_fseeko): Likewise.
37243
37244 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
37245
37246         * lib/gl_list.h: Fix typo in comment.
37247
37248 2009-12-16  Eric Blake  <ebb9@byu.net>
37249
37250         fcntl: use to simplify other modules
37251         * modules/cloexec (Depends-on): Add fcntl.
37252         * modules/fchdir (Depends-on): Likewise.
37253         * modules/fd-safer-flag (Depends-on): Likewise.
37254         * modules/unistd-safer (Depends-on): Likewise.
37255         * modules/dup3 (configure.ac): Set module indicator.
37256         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
37257         missing.
37258         * lib/fchdir.c (_gl_register_dup): Fix comment.
37259         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
37260         * lib/dup-safer.c (dup_safer): Likewise.
37261         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
37262         * lib/dup3.c (dup3): Likewise.
37263         * tests/test-fchdir.c (main): Enhance test.
37264         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
37265
37266         fcntl: port portions of fcntl to mingw
37267         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
37268         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
37269         replacement for mingw.
37270         * modules/fcntl (Description): Update.
37271         (Depends-on): Add dup2.
37272         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
37273         * modules/fcntl-h (Makefile.am): Substitute it.
37274         * lib/fcntl.in.h (fcntl): Update declaration.
37275         (F_DUPFD, F_GETFD): New macros, when needed.
37276         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
37277         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
37278         * tests/test-fcntl.c (check_flags, main): Enhance test for items
37279         we now guarantee.
37280
37281         fcntl: work around cygwin bug in F_DUPFD
37282         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
37283         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
37284         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
37285         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
37286         * doc/posix-functions/fcntl.texi (fcntl): Document it.
37287
37288         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
37289         * modules/fcntl (Files): List new files.
37290         (configure.ac): Run a test.
37291         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
37292         * lib/fcntl.c (rpl_fcntl): Likewise.
37293         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
37294         (gl_FCNTL_H): Always replace fcntl.h.
37295         * modules/fcntl-h (Makefile.am): Substitute witnesses.
37296         * lib/fcntl.in.h (fcntl): Declare replacement.
37297         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
37298         needed, plus a witness.
37299         * doc/posix-functions/fcntl.texi (fcntl): Document this.
37300         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37301         * tests/test-fcntl.c: New file.
37302         * modules/fcntl-tests: Likewise.
37303
37304         binary-io: avoid potential compilation warning
37305         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
37306         directives.
37307
37308         fflush: avoid compilation error on NetBSD
37309         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
37310         between off_t and fpos_t, since the latter is sometimes a struct.
37311         * lib/fseeko.c (rpl_fseeko): Likewise.
37312         Reported by Alexander Nasonov <alnsn@yandex.ru>.
37313
37314 2009-12-15  Eric Blake  <ebb9@byu.net>
37315
37316         fcntl-h, stdio, sys_ioctl: fix declarations
37317         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
37318         function must not take arguments.
37319         * lib/sys_ioctl.in.h (ioctl): Likewise.
37320         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
37321         (open): Add a link warning.
37322
37323 2009-12-15  Jim Meyering  <meyering@redhat.com>
37324
37325         areadlink, areadlink-with-size: relax license to LGPLv2+
37326         * modules/areadlink (License): Relax to LGPLv2+.
37327         * modules/areadlink-with-size (License): Likewise.
37328
37329 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
37330             Bruno Haible  <bruno@clisp.org>
37331
37332         *printf: Fix memory leak.
37333         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
37334         * lib/vfprintf.c (vfprintf): Likewise.
37335         * lib/dprintf.c (dprintf): Likewise.
37336         * lib/vdprintf.c (vdprintf): Likewise.
37337
37338 2009-12-14  Eric Blake  <ebb9@byu.net>
37339
37340         accept4: adjust module dependencies
37341         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
37342
37343         utimens: one more try at avoiding compiler warning
37344         * lib/utimens.c (lutimens): Lower scope of result.
37345
37346 2009-12-13  Bruno Haible  <bruno@clisp.org>
37347
37348         Move the malloc checking from module 'list' to new module 'xlist'.
37349         * modules/xlist: New file.
37350         * lib/gl_xlist.h: New file.
37351         * lib/gl_xlist.c: New file.
37352         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
37353         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
37354         gl_list_add_last, gl_list_add_before, gl_list_add_after,
37355         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
37356         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
37357         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
37358         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
37359         gl_sortedlist_nx_add): New declarations.
37360         (struct gl_list_implementation): Rename and change methods accordingly.
37361         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
37362         (gl_list_nx_create): Renamed from gl_list_create.
37363         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37364         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37365         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37366         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37367         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37368         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37369         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37370         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37371         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
37372         gl_list_create_empty.
37373         (gl_list_nx_create): Renamed from gl_list_create.
37374         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
37375         (gl_list_nx_set_at): Renamed from gl_list_set_at.
37376         (gl_list_nx_add_first): Renamed from gl_list_add_first.
37377         (gl_list_nx_add_last): Renamed from gl_list_add_last.
37378         (gl_list_nx_add_before): Renamed from gl_list_add_before.
37379         (gl_list_nx_add_after): Renamed from gl_list_add_after.
37380         (gl_list_nx_add_at): Renamed from gl_list_add_at.
37381         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
37382         * lib/gl_array_list.c: Don't include xalloc.h.
37383         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
37384         NULL upon out-of-memory.
37385         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
37386         out-of-memory.
37387         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
37388         Change return type to 'int'.
37389         (gl_array_nx_set_at): Renamed from gl_array_set_at.
37390         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37391         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
37392         upon out-of-memory.
37393         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
37394         upon out-of-memory.
37395         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
37396         upon out-of-memory.
37397         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
37398         upon out-of-memory.
37399         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
37400         out-of-memory.
37401         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
37402         Update.
37403         (gl_array_list_implementation): Update.
37404         * lib/gl_carray_list.c: Don't include xalloc.h.
37405         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
37406         Return NULL upon out-of-memory.
37407         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
37408         out-of-memory.
37409         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
37410         Change return type to 'int'.
37411         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
37412         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
37413         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
37414         upon out-of-memory.
37415         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
37416         upon out-of-memory.
37417         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
37418         out-of-memory.
37419         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
37420         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
37421         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
37422         Update.
37423         (gl_carray_list_implementation): Update.
37424         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
37425         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
37426         gl_linked_create_empty. Return NULL upon out-of-memory.
37427         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
37428         out-of-memory.
37429         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
37430         Change return type to 'int'. Return -1 upon out-of-memory.
37431         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
37432         out-of-memory.
37433         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
37434         upon out-of-memory.
37435         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
37436         upon out-of-memory.
37437         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
37438         NULL upon out-of-memory.
37439         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
37440         upon out-of-memory.
37441         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
37442         out-of-memory.
37443         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
37444         Update.
37445         * lib/gl_linked_list.c: Don't include xalloc.h.
37446         (gl_linked_list_implementation): Update.
37447         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
37448         (add_to_bucket): Change return type to 'int'.
37449         (gl_linkedhash_list_implementation): Update.
37450         * lib/gl_anytree_list1.h (free_subtree): New function.
37451         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
37452         gl_tree_create_empty. Return NULL upon out-of-memory.
37453         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
37454         Change return type to 'int'. Return -1 upon out-of-memory.
37455         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
37456         out-of-memory.
37457         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
37458         (gl_tree_remove_node): New function, moved here from
37459         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
37460         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
37461         Update.
37462         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
37463         malloc, not xmalloc. Return NULL upon out-of-memory.
37464         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37465         out-of-memory.
37466         (gl_tree_remove_node_from_tree): New function, extracted from
37467         gl_tree_remove_node.
37468         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37469         upon out-of-memory.
37470         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37471         out-of-memory.
37472         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37473         upon out-of-memory.
37474         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37475         upon out-of-memory.
37476         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37477         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
37478         not xmalloc. Return NULL upon out-of-memory.
37479         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
37480         out-of-memory.
37481         (gl_tree_remove_node_from_tree): New function, extracted from
37482         gl_tree_remove_node.
37483         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
37484         upon out-of-memory.
37485         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
37486         out-of-memory.
37487         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
37488         upon out-of-memory.
37489         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
37490         upon out-of-memory.
37491         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
37492         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
37493         gl_anytree_list1.h before gl_anyavltree_list2.h.
37494         (gl_avltree_list_implementation): Update.
37495         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
37496         gl_anytree_list1.h before gl_anyavltree_list2.h.
37497         (gl_rbtree_list_implementation): Update.
37498         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
37499         Change return type to 'int'. Return -1 upon out-of-memory. Use
37500         __builtin_expect.
37501         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
37502         (gl_avltreehash_list_implementation): Update.
37503         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
37504         (gl_rbtreehash_list_implementation): Update.
37505         * modules/array-list (Depends-on): Remove xalloc.
37506         * modules/carray-list (Depends-on): Likewise.
37507         * modules/linked-list (Depends-on): Likewise.
37508         * modules/linkedhash-list (Depends-on): Likewise.
37509         * modules/avltree-list (Depends-on): Likewise.
37510         * modules/rbtree-list (Depends-on): Likewise.
37511         * modules/avltreehash-list (Depends-on): Likewise.
37512         * modules/rbtreehash-list (Depends-on): Likewise.
37513
37514         * modules/xsublist: New file.
37515         * lib/gl_xsublist.h: New file.
37516         * lib/gl_xsublist.c: New file.
37517         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
37518         (gl_sublist_nx_create): New declaration.
37519         * lib/gl_sublist.c: Don't include xalloc.h.
37520         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
37521         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
37522         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
37523         Change return type to 'int'. Return -1 upon out-of-memory.
37524         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
37525         upon out-of-memory.
37526         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
37527         NULL upon out-of-memory.
37528         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
37529         upon out-of-memory.
37530         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
37531         NULL upon out-of-memory.
37532         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
37533         NULL upon out-of-memory.
37534         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
37535         upon out-of-memory.
37536         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
37537         (gl_sublist_list_implementation): Update.
37538         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
37539         upon out-of-memory.
37540         * modules/sublist (Depends-on): Remove xalloc.
37541
37542         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
37543         * tests/test-carray_list.c: Likewise.
37544         * tests/test-linked_list.c: Likewise.
37545         * tests/test-linkedhash_list.c: Likewise.
37546         * tests/test-avltree_list.c: Likewise.
37547         * tests/test-rbtree_list.c: Likewise.
37548         * tests/test-avltreehash_list.c: Likewise.
37549         * tests/test-rbtreehash_list.c: Likewise.
37550         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
37551         * modules/carray-list-tests (Makefile.am): Likewise.
37552         * modules/linked-list-tests (Makefile.am): Likewise.
37553         * modules/linkedhash-list-tests (Makefile.am): Likewise.
37554         * modules/avltree-list-tests (Makefile.am): Likewise.
37555         * modules/rbtree-list-tests (Makefile.am): Likewise.
37556         * modules/avltreehash-list-tests (Makefile.am): Likewise.
37557         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
37558
37559         * NEWS: Mention the changes.
37560
37561         * lib/clean-temp.c: Include gl_xlist.h.
37562         * modules/clean-temp (Depends-on): Add xlist.
37563
37564         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
37565         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
37566
37567         * tests/test-array_oset.c: Include gl_xlist.h.
37568         * modules/array-oset-tests (Depends-on): Add xlist.
37569
37570         Reported by José E. Marchesi <jemarch@gnu.org>.
37571
37572 2009-12-13  Bruno Haible  <bruno@clisp.org>
37573
37574         Move the malloc checking from module 'oset' to new module 'xoset'.
37575         * modules/xoset: New file.
37576         * lib/gl_xoset.h: New file.
37577         * lib/gl_xoset.c: New file.
37578         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
37579         declarations.
37580         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
37581         (struct gl_oset_implementation): Rename and change methods accordingly.
37582         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
37583         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37584         'int'. Mark as __warn_unused_result__.
37585         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
37586         gl_oset_create_empty.
37587         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
37588         'int'.
37589         * lib/gl_array_oset.c: Don't include xalloc.h.
37590         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
37591         malloc, not xmalloc.
37592         (grow): Change return type to 'int'. Don't call xalloc_die.
37593         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
37594         to 'int'.
37595         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
37596         'int'.
37597         (gl_array_oset_implementation): Update.
37598         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
37599         gl_tree_create_empty.
37600         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
37601         'int'.
37602         * lib/gl_avltree_oset.c: Don't include xalloc.h.
37603         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37604         xmalloc.
37605         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37606         not xmalloc.
37607         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37608         xmalloc.
37609         (gl_avltree_oset_implementation): Update.
37610         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
37611         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
37612         xmalloc.
37613         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
37614         not xmalloc.
37615         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
37616         xmalloc.
37617         (gl_rbtree_oset_implementation): Update.
37618         * modules/array-oset (Depends-on): Remove xalloc.
37619         * modules/avltree-oset (Depends-on): Likewise.
37620         * modules/rbtree-oset (Depends-on): Likewise.
37621         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
37622         * tests/test-avltree_oset.c: Likewise.
37623         * tests/test-rbtree_oset.c: Likewise.
37624         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
37625         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
37626         * modules/rbtree-oset-tests (Makefile.am): Likewise.
37627         * NEWS: Mention the change.
37628
37629 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
37630
37631         maint.mk: allow a project to override release-prep commands
37632         * top/maint.mk (alpha, beta, stable): Move release-preparatory
37633         commands into a new rule.
37634         (release-prep): New rule.
37635         (release-prep-hook): New overridable variable.
37636
37637 2009-12-13  Bruno Haible  <bruno@clisp.org>
37638
37639         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
37640
37641 2009-12-13  Jim Meyering  <meyering@redhat.com>
37642
37643         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
37644         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
37645
37646 2009-12-12  Bruno Haible  <bruno@clisp.org>
37647
37648         duplocale: Tweak.
37649         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
37650
37651 2009-12-12  Karl Berry  <karl@gnu.org>
37652
37653         * config/srclist.txt (strtoll.c): tab changes, no more sync.
37654
37655 2009-12-12  Bruno Haible  <bruno@clisp.org>
37656
37657         * m4/po.m4: Undo incorrect untabification.
37658
37659 2009-12-12  Bruno Haible  <bruno@clisp.org>
37660
37661         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
37662         * modules/c-strtod (Depends-on): Add locale.
37663         * modules/c-strtold (Depends-on): Likewise.
37664
37665 2009-12-12  Bruno Haible  <bruno@clisp.org>
37666
37667         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
37668
37669 2009-12-11  Eric Blake  <ebb9@byu.net>
37670
37671         setenv: relax requirement in light of POSIX ruling
37672         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
37673         not NULL.
37674         * tests/test-setenv.c (main): Relax test.
37675         * tests/test-unsetenv.c (main): Likewise.
37676         * doc/posix-functions/setenv.texi (setenv): Document this.
37677         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37678
37679 2009-12-11  Bruno Haible  <bruno@clisp.org>
37680
37681         New module 'fd-safer-flag'.
37682         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
37683         * lib/dup-safer.c (dup_safer_flag): Remove function.
37684         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
37685         * lib/fd-safer.c (fd_safer_flag): Remove function.
37686         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
37687         * modules/cloexec (configure.ac): Drop indicator macro.
37688         * modules/fd-safer-flag: New file.
37689         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
37690         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
37691         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
37692
37693 2009-12-11  Bruno Haible  <bruno@clisp.org>
37694
37695         Tests for module 'nl_langinfo'.
37696         * modules/nl_langinfo-tests: New file.
37697         * tests/test-nl_langinfo.sh: New file.
37698         * tests/test-nl_langinfo.c: New file.
37699
37700         New module 'nl_langinfo'.
37701         * lib/nl_langinfo.c: New file.
37702         * m4/nl_langinfo.m4: New file.
37703         * modules/nl_langinfo: New file.
37704         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
37705
37706 2009-12-11  Bruno Haible  <bruno@clisp.org>
37707
37708         Tests for module 'langinfo'.
37709         * modules/langinfo-tests: New file.
37710         * tests/test-langinfo.c: New file.
37711
37712         New module 'langinfo'.
37713         * lib/langinfo.in.h: New file.
37714         * m4/langinfo_h.m4: New file.
37715         * modules/langinfo: New file.
37716         * doc/posix-headers/langinfo.texi: Mention the new module.
37717
37718 2009-12-11  Bruno Haible  <bruno@clisp.org>
37719
37720         * lib/config.charset: Untabify.
37721
37722 2009-12-11  Bruno Haible  <bruno@clisp.org>
37723
37724         * modules/unistd-safer (configure.ac): Drop indicator macro.
37725
37726 2009-12-11  Bruno Haible  <bruno@clisp.org>
37727
37728         Move pipe2-safer code to its own file.
37729         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
37730         * lib/pipe-safer.c (pipe2_safer): Remove function.
37731         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
37732         (Makefile.am): Add it to lib_SOURCES.
37733
37734 2009-12-10  Bruno Haible  <bruno@clisp.org>
37735
37736         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
37737
37738 2009-12-10  Bruno Haible  <bruno@clisp.org>
37739
37740         Declare which arguments expect non-NULL values, for GCC and clang.
37741         * build-aux/arg-nonnull.h: New file.
37742         * modules/arg-nonnull: New file.
37743         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
37744         (inet_ntop, inet_pton): Use it.
37745         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
37746         (closedir, dirfd, opendir, scandir, alphasort): Use it.
37747         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
37748         (open, openat): Use it.
37749         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
37750         (fnmatch): Use it.
37751         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
37752         (getopt, getopt_long, getopt_long_only): Use it.
37753         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
37754         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
37755         Use it.
37756         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
37757         (iconv_open): Use it.
37758         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
37759         (strtoimax, strtoumax): Use it.
37760         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
37761         (duplocale): Use it.
37762         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
37763         (frexp, frexpl): Use it.
37764         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
37765         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
37766         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
37767         (tsearch, tfind, tdelete, twalk): Use it.
37768         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
37769         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
37770         sigpending): Use it.
37771         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
37772         (posix_spawn, posix_spawnp, posix_spawnattr_init,
37773         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
37774         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
37775         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
37776         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
37777         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
37778         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
37779         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
37780         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
37781         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
37782         Use it.
37783         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
37784         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
37785         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
37786         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
37787         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
37788         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
37789         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
37790         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
37791         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
37792         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
37793         strtoull, unsetenv): Use it.
37794         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
37795         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
37796         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
37797         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
37798         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
37799         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
37800         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
37801         (strcasecmp, strncasecmp): Use it.
37802         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
37803         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
37804         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
37805         rpl_setsockopt): Use it.
37806         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
37807         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
37808         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
37809         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
37810         (gettimeofday): Use it.
37811         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
37812         (times): Use it.
37813         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
37814         (uname): Use it.
37815         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
37816         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
37817         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
37818         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
37819         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
37820         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
37821         unlinkat, write): Use it.
37822         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
37823         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
37824         * lib/argv-iter.h: Include arg-nonnull.h.
37825         (_ATTRIBUTE_NONNULL_): Remove macro.
37826         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
37827         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
37828         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
37829         optimization.
37830         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
37831         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
37832         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
37833         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
37834         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
37835         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
37836         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
37837         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
37838         * modules/arpa_inet (Depends-on): Add arg-nonnull.
37839         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
37840         * modules/dirent (Depends-on): Add arg-nonnull.
37841         (Makefile.am): Insert arg-nonnull.h into dirent.h.
37842         * modules/fcntl-h (Depends-on): Add arg-nonnull.
37843         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
37844         * modules/fnmatch (Depends-on): Add arg-nonnull.
37845         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
37846         * modules/getopt-posix (Depends-on): Add arg-nonnull.
37847         (Makefile.am): Insert arg-nonnull.h into getopt.h.
37848         * modules/glob (Depends-on): Add arg-nonnull.
37849         (Makefile.am): Insert arg-nonnull.h into glob.h.
37850         * modules/iconv_open (Depends-on): Add arg-nonnull.
37851         (Makefile.am): Insert arg-nonnull.h into iconv.h.
37852         * modules/inttypes (Depends-on): Add arg-nonnull.
37853         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
37854         * modules/locale (Depends-on): Add arg-nonnull.
37855         (Makefile.am): Insert arg-nonnull.h into locale.h.
37856         * modules/math (Depends-on): Add arg-nonnull.
37857         (Makefile.am): Insert arg-nonnull.h into math.h.
37858         * modules/netdb (Depends-on): Add arg-nonnull.
37859         (Makefile.am): Insert arg-nonnull.h into netdb.h.
37860         * modules/search (Depends-on): Add arg-nonnull.
37861         (Makefile.am): Insert arg-nonnull.h into search.h.
37862         * modules/signal (Depends-on): Add arg-nonnull.
37863         (Makefile.am): Insert arg-nonnull.h into signal.h.
37864         * modules/spawn (Depends-on): Add arg-nonnull.
37865         (Makefile.am): Insert arg-nonnull.h into spawn.h.
37866         * modules/stdio (Depends-on): Add arg-nonnull.
37867         (Makefile.am): Insert arg-nonnull.h into stdio.h.
37868         * modules/stdlib (Depends-on): Add arg-nonnull.
37869         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
37870         * modules/string (Depends-on): Add arg-nonnull.
37871         (Makefile.am): Insert arg-nonnull.h into string.h.
37872         * modules/strings (Depends-on): Add arg-nonnull.
37873         (Makefile.am): Insert arg-nonnull.h into strings.h.
37874         * modules/sys_socket (Depends-on): Add arg-nonnull.
37875         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
37876         * modules/sys_stat (Depends-on): Add arg-nonnull.
37877         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
37878         * modules/sys_time (Depends-on): Add arg-nonnull.
37879         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
37880         * modules/sys_times (Depends-on): Add arg-nonnull.
37881         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
37882         * modules/sys_utsname (Depends-on): Add arg-nonnull.
37883         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
37884         * modules/time (Depends-on): Add arg-nonnull.
37885         (Makefile.am): Insert arg-nonnull.h into time.h.
37886         * modules/unistd (Depends-on): Add arg-nonnull.
37887         (Makefile.am): Insert arg-nonnull.h into unistd.h.
37888         * modules/wchar (Depends-on): Add arg-nonnull.
37889         (Makefile.am): Insert arg-nonnull.h into wchar.h.
37890         * modules/argv-iter (Depends-on): Add arg-nonnull.
37891         * tests/test-canonicalize.c (null_ptr): New function.
37892         (main): Use it.
37893         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
37894         (main): Use it.
37895         * tests/test-memmem.c (null_ptr): New function.
37896         (main): Use it.
37897         Reported by Jim Meyering.
37898
37899 2009-12-10  Bruno Haible  <bruno@clisp.org>
37900
37901         Use spaces for indentation, not tabs.
37902         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
37903         * m4/*.m4: Untabify.
37904         * build-aux/*.h: Untabify.
37905         * tests/**/*.[hc]: Untabify.
37906         * README: New section "Indent with spaces, not TABs", based on
37907         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
37908         * NEWS: Mention the change.
37909
37910 2009-12-10  Bruno Haible  <bruno@clisp.org>
37911
37912         pty test: Fix link error.
37913         * modules/pty-tests (Makefile.am): Add the default LDADD value to
37914         test_pty_LDADD.
37915
37916 2009-12-07  Simon Josefsson  <simon@josefsson.org>
37917
37918         * modules/pty: New file.
37919         * modules/pty-tests: New file.
37920         * m4/pty.m4: New file.
37921         * tests/test-pty.c: New file.
37922         * doc/glibc-headers/pty.texi: Modified.
37923         * doc/glibc-functions/forkpty.texi: Modified.
37924         * doc/glibc-functions/openpty.texi: Modified.
37925
37926 2009-12-10  Bruno Haible  <bruno@clisp.org>
37927
37928         Avoid syntax error in C++ mode.
37929         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
37930
37931 2009-12-10  Bruno Haible  <bruno@clisp.org>
37932
37933         Use sed with option -e.
37934         * gnulib-tool (func_version, func_emit_copyright_notice,
37935         func_emit_initmacro_end, func_import, func_create_testdir): Pass
37936         option -e to sed.
37937         * modules/link-warning (Makefile.am): Likewise.
37938
37939 2009-12-10  Jim Meyering  <meyering@redhat.com>
37940
37941         mgetgroups: do not write bytes beyond end of malloc'd buffer
37942         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
37943         username, we call getgroups with a one-element-shorter buffer,
37944         but still told it the length was original, max_n_groups.
37945
37946 2009-12-09  Eric Blake  <ebb9@byu.net>
37947
37948         cloexec: relax license
37949         * modules/cloexec (Maintainer): Add myself.
37950         (License): Use LGPL, not GPL.
37951
37952         link-warning: optimize generation
37953         * modules/link-warning (Makefile.am): Reduce process usage.
37954
37955 2009-12-09  Bruno Haible  <bruno@clisp.org>
37956
37957         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
37958         workaround was added on 2009-11-17.
37959
37960 2009-12-09  Jim Meyering  <meyering@redhat.com>
37961             Bruno Haible  <bruno@clisp.org>
37962
37963         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
37964         * modules/link-warning (Makefile.am): Make the comment-removing sed
37965         command more robust in the face of bootstrap-prepended comment lines.
37966
37967 2009-12-09  Bruno Haible  <bruno@clisp.org>
37968
37969         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
37970         most one group.
37971
37972 2009-12-09  Simon Josefsson <simon@josefsson.org>
37973             Bruno Haible  <bruno@clisp.org>
37974
37975         * build-aux/link-warning.h: Add copyright notice.
37976         * modules/link-warning (Makefile.am): Generate link-warning.h from
37977         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
37978         * NEWS: Mention change in link-warning module.
37979         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
37980         * modules/dirent (Makefile.am): Add dependency to dirent.h.
37981         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
37982         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
37983         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
37984         * modules/math (Makefile.am): Add dependency to math.h.
37985         * modules/search (Makefile.am): Add dependency to search.h.
37986         * modules/signal (Makefile.am): Add dependency to signal.h.
37987         * modules/spawn (Makefile.am): Add dependency to spawn.h.
37988         * modules/stdio (Makefile.am): Add dependency to stdio.h.
37989         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
37990         * modules/string (Makefile.am): Add dependency to string.h.
37991         * modules/strings (Makefile.am): Add dependency to strings.h.
37992         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
37993         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
37994         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
37995         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
37996         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
37997         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
37998         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
37999         * modules/unistd (Makefile.am): Add dependency to unistd.h.
38000         * modules/wchar (Makefile.am): Add dependency to wchar.h.
38001
38002 2009-12-09  Bruno Haible  <bruno@clisp.org>
38003
38004         fchdir: Optimize away rpl_fstat when possible.
38005         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
38006         REPLACE_OPEN_DIRECTORY.
38007         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
38008
38009 2009-12-09  Bruno Haible  <bruno@clisp.org>
38010
38011         * lib/fchdir.c: Update comment.
38012
38013 2009-12-09  Bruno Haible  <bruno@clisp.org>
38014
38015         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
38016
38017 2009-12-08  Eric Blake  <ebb9@byu.net>
38018
38019         fchdir: avoid memory leak on re-registration.
38020         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
38021
38022 2009-12-08  Jim Meyering  <meyering@redhat.com>
38023
38024         init.sh: avoid Solaris 10 /bin/sh portability problem
38025         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
38026         sourced script:
38027           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
38028           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
38029           bar
38030         tests/init.sh relied on that, accepting a --set-path=DIR argument,
38031         and two tests used that idiom.
38032         * tests/init.sh: Update suggested usage comments.
38033         (path_prepend_): New function, to be used in place
38034         of the --src-path=DIR option.
38035         (setup_): Move PATH-prepending code into path_prepend_.
38036         * tests/test-pread.sh: Adapt to new usage.
38037         * tests/test-xalloc-die.sh: Likewise.
38038
38039 2009-12-08  Simon Josefsson  <simon@josefsson.org>
38040
38041         * doc/gnulib.texi (Glibc pty.h): Add.
38042         * doc/glibc-functions/forkpty.texi: Add.
38043         * doc/glibc-functions/openpty.texi: Add.
38044         Suggested by Bruno Haible.
38045
38046 2009-12-08  Eric Blake  <ebb9@byu.net>
38047
38048         fchdir: fix logic bugs
38049         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
38050         * tests/test-fchdir.c (main): Enhance test.
38051         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
38052         is in use.
38053
38054         dup2: fix logic bugs
38055         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
38056         REPLACE_DUP2 to decide when rpl_dup2 is needed.
38057         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
38058         exists.
38059         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
38060
38061 2009-12-07  Eric Blake  <ebb9@byu.net>
38062
38063         unlink: fix m4 detection
38064         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
38065
38066         unistd-safer: add unit test
38067         * modules/unistd-safer-tests: New file.
38068         * tests/test-dup-safer.c: Likewise.
38069         * tests/test-cloexec.c (setmode): Avoid compiler warning.
38070         * tests/test-dup2.c (setmode): Likewise.
38071         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
38072
38073         cloexec: preserve text vs. binary across dup_cloexec
38074         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
38075         mode.
38076         * modules/dup2-tests (Depends-on): Add binary-io.
38077         * modules/cloexec-tests (Depends-on): Likewise.
38078         * tests/test-dup2.c (setmode, is_mode): New helpers.
38079         (main): Add tests that translation mode is preserved.
38080         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
38081         Reported by Bruno Haible.
38082
38083         mgetgroups: reduce duplicate listings
38084         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
38085         resulting array.
38086         * tests/test-chown.h (test_chown): Simplify client.
38087         * tests/test-lchown.h (test_lchown): Likewise.
38088
38089 2009-12-06  Bruno Haible  <bruno@clisp.org>
38090
38091         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
38092         value.
38093
38094 2009-12-06  Bruno Haible  <bruno@clisp.org>
38095
38096         * lib/progname.c: Include stdio.h, stdlib.h.
38097         (set_program_name): Reject a NULL argument.
38098
38099 2009-12-05  Eric Blake  <ebb9@byu.net>
38100
38101         pipe2-safer: new module
38102         * modules/pipe2-safer: New file.
38103         * lib/unistd-safer.h (pipe2_safer): New prototype.
38104         * lib/unistd--.h (pipe2): New wrapper.
38105         * lib/pipe-safer.c (pipe2_safer): New function.
38106         * modules/pipe (Depends-on): Add pipe2-safer.
38107         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
38108
38109         stdlib-safer: preserve cloexec flag for mkostemp[s]
38110         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
38111         fd_safer_flag.
38112
38113         unistd-safer: allow preservation of cloexec status via flag
38114         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
38115         prototypes.
38116         * lib/dup-safer.c (dup_safer_flag): New function.
38117         * lib/fd-safer.c (fd_safer_flag): Likewise.
38118         * modules/cloexec (configure.ac): Set witness.
38119
38120         test-dup2: enhance test
38121         * modules/dup2-tests (Depends-on): Add cloexec.
38122         * tests/test-dup2.c (main): Enhance test.
38123
38124         cloexec: add dup_cloexec
38125         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
38126         header and comments.
38127         * lib/cloexec.c (set_cloexec_flag): Add comments.
38128         (dup_cloexec): New function, with mingw implementation borrowed
38129         from...
38130         * lib/w32spawn.h (dup_noinherit): ...here.
38131         * modules/execute (Depends-on): Add cloexec.
38132         * modules/pipe (Depends-on): Likewise.
38133         * modules/cloexec (Depends-on): Add dup2.
38134         * modules/cloexec-tests (Files): New file.
38135         * tests/test-cloexec.c: Likewise.
38136
38137         test-xalloc-die: fix test for mingw
38138         * modules/xalloc-die-tests (Files): Add tests/init.sh.
38139         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
38140         directory and .exe suffix off argv[0] output.
38141
38142         test-fseeko: fix test for mingw
38143         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
38144         than undefining fseek, so test will pass on mingw.
38145
38146 2009-12-05  Bruno Haible  <bruno@clisp.org>
38147
38148         * lib/progname.h (set_program_name): Clarify specification.
38149         * lib/progname.c (set_program_name): Likewise.
38150         Reported by Jim Meyering.
38151
38152 2009-12-05  Jim Meyering  <meyering@redhat.com>
38153
38154         maint.mk: backslash-escape parens in default regexp
38155         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
38156         backslash-escape the literal parentheses.
38157
38158         maint.mk: news-date-check: use grep -E
38159         * top/maint.mk (today): Define a Make variable, not a...
38160         (news-date-check): ...shell variable.
38161         (news-date-regexp): Use the Make variable.
38162         Use grep's -E option.  Change the failing diagnostic to mention
38163         the variable, $(news-date-regexp).
38164
38165 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
38166
38167         maintainer-makefile: allow customization of NEWS entry format
38168         * top/maint.mk (news-date-regexp): New overridable variable.
38169         (news-date-check): Use it.
38170
38171 2009-12-04  Eric Blake  <ebb9@byu.net>
38172
38173         mgetgroups: add xgetgroups, and avoid ENOSYS failures
38174         * lib/mgetgroups.h (xgetgroups): New prototype.
38175         * lib/mgetgroups.c (xgetgroups): New wrapper.
38176         (mgetgroups): Handle ENOSYS.
38177         * modules/mgetgroups (Depends-on): Add realloc.
38178         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
38179
38180         mgetgroups: avoid argument promotion issues with -1
38181         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
38182         for invalid gid_t.
38183         * tests/test-chown.h (getegid, test_chown): Likewise.
38184         * tests/test-lchown.h (getegid, test_lchown): Likewise.
38185
38186 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
38187
38188         exclude: Fix header file problems.
38189         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
38190
38191 2009-12-01  Jim Meyering  <meyering@redhat.com>
38192
38193         fts: fts_open: do not let an empty string cause immediate failure
38194         This is required in support of GNU rm, for which the command
38195         "rm A '' B" must process and remove both A and B, in spite of
38196         the empty string argument.
38197         * lib/fts.c (fts_open): Do not let the presence of an empty string
38198         cause fts_open to fail immediately.  Most fts-using tools must be
38199         able to process all arguments, in order, and can be expected to
38200         diagnose such arguments themselves.
38201
38202 2009-11-30  Eric Blake  <ebb9@byu.net>
38203
38204         utimens: fix compilation error
38205         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
38206         Declare variable at right scope.
38207
38208 2009-11-29  Jim Meyering  <meyering@redhat.com>
38209
38210         bootstrap: handle perl-5.11's changed --version output
38211         * build-aux/bootstrap (get_version): Handle perl separately,
38212         since perl-5.11's --version output is different.
38213
38214 2009-11-28  Jim Meyering  <meyering@redhat.com>
38215
38216         userspec: depend on the inttostr module, too
38217         * modules/userspec (Depends-on): Add inttostr.
38218
38219         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
38220         * lib/userspec.c (parse_with_separator): Do not accept a user ID
38221         number of MAXUID when it evaluates to (uid_t) -1.
38222         Likewise for group ID.  Reported by Matt McCutchen in
38223         <http://savannah.gnu.org/bugs/?28113>
38224
38225         userspec: reformat to use spaces, not TABs
38226         * lib/userspec.c: Expand TABs to spaces.
38227         Add Emacs' "indent-tabs-mode: nil" hint.
38228
38229 2009-11-27  Eric Blake  <ebb9@byu.net>
38230
38231         getopt-gnu: flush out another BSD bug
38232         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
38233         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
38234         flush out BSD bug.
38235         * tests/test-getopt.h (test_getopt): End lists with NULL.
38236         * tests/test-getopt_long.h (test_getopt_long): Likewise.
38237         (test_getopt_long_posix): Enhance test.
38238         * modules/getopt-posix-tests (Depends-on): Add stdbool.
38239         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
38240         getopt-gnu.
38241         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38242         Likewise.
38243
38244 2009-11-27  Simon Josefsson  <simon@josefsson.org>
38245
38246         * modules/idpriv-droptemp-tests (Notice): Fix text.
38247
38248 2009-11-27  Jim Meyering  <meyering@redhat.com>
38249
38250         test-xalloc-die: avoid spurious failure due to libtool argv difference
38251         In a libtool-enabled project, this test would fail due to a difference
38252         in the emitted program name, e.g.,
38253         -test-xalloc-die: memory exhausted
38254         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
38255         Use program to avoid that.
38256         * modules/xalloc-die-tests (Depends-on): Add progname.
38257         * tests/test-xalloc-die.c: Include progname.h".
38258         (program_name): Remove decl.
38259         (main): Call set_program_name.
38260         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
38261
38262 2009-11-26  Richard Jones  <rjones@redhat.com>
38263
38264         w32sock: leave win32 error in place.
38265         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
38266
38267 2009-11-26  Eric Blake  <ebb9@byu.net>
38268
38269         init.sh: suggest to use skip_ and fail_ functions in comments
38270         * tests/init.sh: Add a sentence.
38271
38272 2009-11-25  Bruno Haible  <bruno@clisp.org>
38273
38274         init.sh: add documentation in comments
38275         * tests/init.sh: Add some developer and user documentation.
38276
38277 2009-11-26  Jim Meyering  <meyering@redhat.com>
38278
38279         init.sh: accommodate even those who specify bogus srcdir manually
38280         * tests/init.sh: Normally, srcdir is guaranteed by automake and
38281         configure-time tests to be sanitized, so that there is no need to
38282         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
38283         (with no double quotes) suffices.  However, since tests may be
38284         invoked manually, and since you may explicitly set srcdir to the
38285         name of a directory containing spaces, do quote its uses here.
38286         * tests/test-pread.sh: Likewise.
38287         Suggested by Bruno Haible.
38288
38289         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
38290         * tests/test-pread.sh: Write no data into the pipe, because
38291         test-pread actually reads none.  This avoids a diagnostic,
38292         "bash: echo: write error: Broken pipe", that arises in the unusual
38293         event something is ignoring SIGPIPE, and might be interpreted
38294         as some sort of failure.  Reported by Bruno Haible.
38295
38296 2009-11-25  Jim Meyering  <meyering@redhat.com>
38297
38298         test-pread: cover failure with ESPIPE and EINVAL
38299         * tests/test-pread.c (main): Test for failure, too.
38300         * tests/test-pread.sh: Invoke with stdin on a pipe.
38301         Suggested by Eric Blake.
38302
38303         pread: improvement and fix
38304         * modules/pread (Depends-on): Depend on lseek, for portability to
38305         e.g., mingw.  Suggested by Eric Blake.
38306         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
38307
38308         unistd.in.h: correct declaration of pread
38309         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
38310         Reported by Richard W.M. Jones.
38311
38312         test-pread.sh: distribute the test script
38313         * modules/pread-tests (Files): Include test-pread.sh.
38314
38315         test-pread.sh: clean up
38316         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
38317         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
38318         That is unnecessary, since it's always ".".
38319         Suggestion from Eric Blake.
38320
38321         test-pread.sh: make executable
38322         * tests/test-pread.sh: Set executable bit.
38323         Reported by Eric Blake.
38324
38325         correct typo in test-pread.sh
38326         * tests/test-pread.sh: Add #! line.
38327
38328         test pread
38329         * tests/test-pread.c: New file.
38330         * tests/test-pread.sh: Likewise.
38331         * modules/pread-tests: Likewise.
38332
38333         pread: new module
38334         * modules/pread: New file.
38335         * lib/unistd.in.h (pread): Define/declare.
38336         * lib/pread.c (pread): New file.
38337         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
38338         * modules/unistd (Makefile.am): Substitute witnesses.
38339         * doc/posix-functions/pread.texi (pread): Update.
38340         * MODULES.html.sh: Add pread.
38341
38342 2009-11-25  Jim Meyering  <meyering@redhat.com>
38343
38344         tests/init.sh: new file to be used via most *.sh tests
38345         * tests/init.sh: New file.
38346
38347 2009-11-25  Eric Blake  <ebb9@byu.net>
38348
38349         utimens: work around older Linux failure with symlinks
38350         * lib/utimens.c (lutimensat_works_really): New variable.
38351         (fdutimens, lutimens): Use it to manage kernels that support
38352         nanosecond times on files, but not on symlinks.
38353         Reported by OndÅ™ej Vašík.
38354
38355         utimes: fix configure grammar
38356         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
38357
38358 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
38359
38360         regex: Fix fastmap for multibyte character ranges.
38361         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
38362         characters when a multibyte character range is included.
38363
38364 2009-11-22  Andy Wingo  <wingo@pobox.com>
38365
38366         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
38367         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
38368
38369 2009-11-24  Bruno Haible  <bruno@clisp.org>
38370
38371         doc: Most *_l functions exist in MacOS X 10.5.
38372         * doc/posix-functions/duplocale.texi: Update platforms list.
38373         * doc/posix-functions/freelocale.texi: Likewise.
38374         * doc/posix-functions/newlocale.texi: Likewise.
38375         * doc/posix-functions/uselocale.texi: Likewise.
38376         * doc/posix-functions/isalnum_l.texi: Likewise.
38377         * doc/posix-functions/isalpha_l.texi: Likewise.
38378         * doc/posix-functions/isblank_l.texi: Likewise.
38379         * doc/posix-functions/iscntrl_l.texi: Likewise.
38380         * doc/posix-functions/isdigit_l.texi: Likewise.
38381         * doc/posix-functions/isgraph_l.texi: Likewise.
38382         * doc/posix-functions/islower_l.texi: Likewise.
38383         * doc/posix-functions/isprint_l.texi: Likewise.
38384         * doc/posix-functions/ispunct_l.texi: Likewise.
38385         * doc/posix-functions/isspace_l.texi: Likewise.
38386         * doc/posix-functions/isupper_l.texi: Likewise.
38387         * doc/posix-functions/iswalnum_l.texi: Likewise.
38388         * doc/posix-functions/iswalpha_l.texi: Likewise.
38389         * doc/posix-functions/iswblank_l.texi: Likewise.
38390         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38391         * doc/posix-functions/iswctype_l.texi: Likewise.
38392         * doc/posix-functions/iswdigit_l.texi: Likewise.
38393         * doc/posix-functions/iswgraph_l.texi: Likewise.
38394         * doc/posix-functions/iswlower_l.texi: Likewise.
38395         * doc/posix-functions/iswprint_l.texi: Likewise.
38396         * doc/posix-functions/iswpunct_l.texi: Likewise.
38397         * doc/posix-functions/iswspace_l.texi: Likewise.
38398         * doc/posix-functions/iswupper_l.texi: Likewise.
38399         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38400         * doc/posix-functions/isxdigit_l.texi: Likewise.
38401         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
38402         * doc/posix-functions/strcasecmp_l.texi: Likewise.
38403         * doc/posix-functions/strcoll_l.texi: Likewise.
38404         * doc/posix-functions/strfmon_l.texi: Likewise.
38405         * doc/posix-functions/strftime_l.texi: Likewise.
38406         * doc/posix-functions/strncasecmp_l.texi: Likewise.
38407         * doc/posix-functions/strxfrm_l.texi: Likewise.
38408         * doc/posix-functions/tolower_l.texi: Likewise.
38409         * doc/posix-functions/toupper_l.texi: Likewise.
38410         * doc/posix-functions/towctrans_l.texi: Likewise.
38411         * doc/posix-functions/towlower_l.texi: Likewise.
38412         * doc/posix-functions/towupper_l.texi: Likewise.
38413         * doc/posix-functions/wcscoll_l.texi: Likewise.
38414         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
38415         * doc/posix-functions/wctrans_l.texi: Likewise.
38416         * doc/posix-functions/wctype_l.texi: Likewise.
38417         * doc/glibc-functions/strptime_l.texi: Likewise.
38418         * doc/glibc-functions/strtod_l.texi: Likewise.
38419         * doc/glibc-functions/strtof_l.texi: Likewise.
38420         * doc/glibc-functions/strtol_l.texi: Likewise.
38421         * doc/glibc-functions/strtold_l.texi: Likewise.
38422         * doc/glibc-functions/strtoll_l.texi: Likewise.
38423         * doc/glibc-functions/strtoul_l.texi: Likewise.
38424         * doc/glibc-functions/strtoull_l.texi: Likewise.
38425         * doc/glibc-functions/wcsftime_l.texi: Likewise.
38426         * doc/glibc-functions/wcstod_l.texi: Likewise.
38427         * doc/glibc-functions/wcstof_l.texi: Likewise.
38428         * doc/glibc-functions/wcstol_l.texi: Likewise.
38429         * doc/glibc-functions/wcstold_l.texi: Likewise.
38430         * doc/glibc-functions/wcstoll_l.texi: Likewise.
38431         * doc/glibc-functions/wcstoul_l.texi: Likewise.
38432         * doc/glibc-functions/wcstoull_l.texi: Likewise.
38433
38434 2009-11-24  Bruno Haible  <bruno@clisp.org>
38435
38436         duplocale: Fix logic bug.
38437         * lib/duplocale.c: Don't include <langinfo.h>.
38438         (_NL_LOCALE_NAME): Remove macro.
38439         (rpl_duplocale): Use setlocale instead of nl_langinfo.
38440         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
38441
38442 2009-11-23  Jim Meyering  <meyering@redhat.com>
38443
38444         test-update-copyright: don't hard-code /usr/bin/perl
38445         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
38446         perl to print the current year.  Gilles Espinasse reported that
38447         the replaced use of perl was hard-coded as /usr/bin/perl.
38448
38449 2009-11-23  Bruno Haible  <bruno@clisp.org>
38450
38451         duplocale: Add support for glibc 2.3.x.
38452         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
38453
38454 2009-11-22  Bruno Haible  <bruno@clisp.org>
38455
38456         vasnprintf: Tiny optimization.
38457         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
38458         MacOS X.
38459
38460 2009-11-22  Bruno Haible  <bruno@clisp.org>
38461
38462         Tests for module 'duplocale'.
38463         * modules/duplocale-tests: New file.
38464         * tests/test-duplocale.c: New file.
38465
38466         New module 'duplocale'.
38467         * m4/duplocale.m4: New file.
38468         * lib/locale.in.h (duplocale): New declaration.
38469         * lib/duplocale.c: New file.
38470         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
38471         gl_LOCALE_H_DEFAULTS): New macros.
38472         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
38473         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
38474         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
38475         REPLACE_DUPLOCALE.
38476         * modules/duplocale: New file.
38477         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
38478
38479 2009-11-22  Bruno Haible  <bruno@clisp.org>
38480
38481         * modules/locale-tests (configure.ac): Test for newlocale function.
38482         * tests/test-locale.c: When the system has extended locale functions,
38483         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
38484
38485         locale: Make locale_t available when possible.
38486         * lib/locale.in.h: Include <xlocale.h> when it exists.
38487         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
38488         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
38489         * modules/locale (Depends-on): Add extensions.
38490         (Makefile.am): Also substitute HAVE_XLOCALE_H.
38491         * doc/posix-headers/locale.texi: Document the problem with locale_t.
38492
38493 2009-11-22  Bruno Haible  <bruno@clisp.org>
38494
38495         Add comments.
38496         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
38497         invocation.
38498         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
38499         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38500         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38501
38502 2009-11-22  Bruno Haible  <bruno@clisp.org>
38503
38504         error: account for the possibility of freopen (stdout).
38505         * lib/error.c: Include <unistd.h>.
38506         (flush_stdout): New function, extracted from error and error_at_line.
38507         Determine stdout's fd dynamically.
38508         (error, error_at_line): Invoke flush_stdout.
38509         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
38510         * modules/error (Depends-on): Add unistd.
38511
38512 2009-11-22  Bruno Haible  <bruno@clisp.org>
38513
38514         diffseq: Add comment.
38515         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
38516
38517 2009-11-22  Jim Meyering  <meyering@redhat.com>
38518
38519         c-stack: avoid defining an unused static function
38520         * lib/c-stack.c (find_stack_direction): Do not define this function
38521         when it will not be used.
38522
38523         diffseq: avoid spurious gcc warnings
38524         * lib/diffseq.h (IF_LINT2): Define.
38525         (compareseq): Use it to initialize two members of "part".
38526         This avoids two used-uninitialized warnings.
38527
38528 2009-11-21  Jim Meyering  <meyering@redhat.com>
38529
38530         c-stack: avoid "ignoring return value of `write'" warning
38531         * lib/c-stack.c: Include "ignore-value.h".
38532         (die): Explicitly ignore each write return value.
38533         * modules/c-stack (Depends-on): Add ignore-value.
38534
38535 2009-11-21  Bruno Haible  <bruno@clisp.org>
38536
38537         diffseq: reduce scope of variable 'best'.
38538         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
38539         variable, earlier used for two different purposes.
38540
38541 2009-11-21  Jim Meyering  <meyering@redhat.com>
38542
38543         diffseq: remove useless assignment to "best"
38544         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
38545         assignment.  At that point "best" is already guaranteed to be zero.
38546
38547 2009-11-20  Eric Blake  <ebb9@byu.net>
38548
38549         build: mention ftp redirector in release announcements
38550         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
38551         values that used to come from cfg.mk; mention FTP redirect URL.
38552         * build-aux/announce-gen: Mention the mirror list.
38553         Suggested by Karl Berry.
38554
38555         nanosleep: improve port to mingw
38556         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
38557         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
38558         LIB_NANOSLEEP, but only when needed.
38559         * modules/select (Link): Document LIBSOCKET.
38560         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
38561         enough.
38562
38563         nanosleep: work around cygwin bug
38564         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
38565         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
38566         bug.
38567         (getnow): Delete, not needed.
38568         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
38569         LIB_CLOCK_GETTIME.
38570         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
38571         clock-time, gettime.
38572         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
38573         bug.
38574         * modules/nanosleep-tests: New test.
38575         * tests/test-nanosleep.c: New file.
38576
38577         sleep: work around cygwin bug
38578         * lib/sleep.c (rpl_sleep): Work around the bug.
38579         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
38580         (gl_PREREQ_SLEEP): Delete unused macro.
38581         * modules/sleep (Depends-on): Add verify.
38582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38583         * modules/unistd (Makefile.am): Substitute witness.
38584         * lib/unistd.in.h (sleep): Update prototype.
38585         * doc/posix-functions/sleep.texi (sleep): Document the bug.
38586         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
38587         * modules/sleep-tests (Depends-on): Check for alarm.
38588
38589 2009-11-20  Jim Meyering  <meyering@redhat.com>
38590
38591         maint.mk: improve sc_prohibit_magic_number_exit
38592         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
38593         so it does not match uses like System.exit(1).
38594         Add comments showing how to correct all offenders.
38595
38596 2009-11-19  Eric Blake  <ebb9@byu.net>
38597
38598         xalloc-die-tests: add missing library
38599         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
38600
38601         test-xvasprintf: silence compiler warnings
38602         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
38603         empty string from gcc.
38604
38605 2009-11-19  Jim Meyering  <meyering@redhat.com>
38606
38607         xfreopen: new module, from coreutils
38608         * modules/xfreopen: New module.
38609         * lib/xfreopen.c: New file.
38610         * lib/xfreopen.h: New file.
38611         * MODULES.html.sh (File stream based Input/Output"): Add it.
38612
38613 2009-11-19  Eric Blake  <ebb9@byu.net>
38614
38615         manywarnings: depend on warnings
38616         * modules/manywarnings (Depends-on): Add warnings.
38617
38618         build: avoid compiler warnings
38619         * lib/select.c (rpl_select): Delete unused variable.
38620         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
38621
38622 2009-11-18  Eric Blake  <ebb9@byu.net>
38623
38624         tests: avoid false negative with --with-packager
38625         * tests/test-version-etc.sh: Discard packager information.
38626         * tests/test-argp-version-etc-1.sh: Likewise.
38627         Reported by Mike Frysinger.
38628
38629         utimens: fix regression on Solaris
38630         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
38631         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
38632         can only change fd timestamps via futimesat.  Instead, use an
38633         additional witness macro to avoid BSD bug.
38634         Reported by Jim Meyering.
38635
38636 2009-11-17  Eric Blake  <ebb9@byu.net>
38637
38638         usleep: use it to simplify tests
38639         * modules/stat-time-tests (Depends-on): Add usleep.
38640         (configure.ac): Drop usleep check.
38641         * modules/chown-tests (Depends-on, configure.ac): Likewise.
38642         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
38643         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
38644         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
38645         * modules/openat-tests (Depends-on, configure.ac): Likewise.
38646         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
38647         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
38648         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
38649         Likewise.
38650         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
38651         * tests/test-lchown.h (nap): Likewise.
38652         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
38653         * tests/test-stat-time.c (nap): Likewise.
38654         * tests/test-utimens-common.h (nap): Update comments.
38655
38656         usleep: new module
38657         * modules/usleep: New file.
38658         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
38659         * lib/usleep.c (usleep): Likewise.
38660         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38661         * modules/unistd (Makefile.am): Substitute witnesses.
38662         * lib/unistd.in.h (usleep): Add declaration.
38663         * doc/pastposix-functions/usleep.texi (usleep): Document this.
38664         * MODULES.html.sh (Date and time): Likewise.
38665         * modules/usleep-tests (Depends-on): New test.
38666         * tests/test-usleep.c: New file.
38667
38668         chown: work around OpenBSD bug
38669         * lib/chown.c (rpl_chown): Work around the bug.
38670         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
38671         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
38672         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
38673         * modules/chown (Depends-on): Add stdbool.
38674         * modules/lchown (Depends-on): Likewise.
38675         * doc/posix-functions/chown.texi (chown): Document the bug.
38676         * doc/posix-functions/lchown.texi (lchown): Likewise.
38677         * tests/test-lchown.h (test_chown): Relax test.
38678
38679         mkstemp: avoid conflict with C++ keyword template
38680         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
38681         * lib/mkostemp.c (mkostemp): Likewise.
38682         * lib/mkostemps.c (mkostemps): Likewise.
38683         * lib/mkstemp.c (mkstemp): Likewise.
38684         * lib/mkstemps.c (mkstemps): Likewise.
38685
38686         xalloc-die-tests: optimize
38687         * tests/test-xalloc-die.sh: Reduce number of processes.
38688
38689 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38690
38691         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
38692         patch from ludo@gnu.org (Ludovic Courtès).
38693
38694 2009-11-17  Jim Meyering  <meyering@redhat.com>
38695
38696         version-etc: use proper license string
38697         * modules/version-etc (License): Use LGPL, not LGPLv3+.
38698         * modules/version-etc-fsf: Likewise.
38699
38700 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38701
38702         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
38703         printed to stdout.  Deal with EOL differences.
38704
38705 2009-11-17  Eric Blake  <ebb9@byu.net>
38706
38707         unsetenv: work around Solaris bug
38708         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
38709         * lib/unsetenv.c (rpl_unsetenv): Work around it.
38710         Reported by Jim Meyering.
38711
38712         vasnprintf: avoid compiler warnings
38713         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
38714         variables.
38715         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
38716
38717 2009-11-17  Simon Josefsson  <simon@josefsson.org>
38718
38719         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
38720         settings since xalloc-die is no longer the self test,
38721         xalloc-die.sh is.
38722
38723 2009-11-17  Jim Meyering  <meyering@redhat.com>
38724
38725         test-xalloc-die.sh: make the code agree with the commit log
38726         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
38727         at the end, just in case you happen to have a test-xalloc-die
38728         program in some other PATH directory.
38729
38730         test-xalloc-die.sh: fix a portability bug
38731         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
38732         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
38733         Otherwise, argv[0] (as often seen in diagnostics) would be too
38734         system-dependent, sometimes with, and sometimes without the leading "./".
38735
38736         version-etc-fsf: relax license to LGPLv3+
38737         * modules/version-etc-fsf (License): Relax license.
38738
38739 2009-11-16  Eric Blake  <ebb9@byu.net>
38740
38741         xalloc-die-tests: avoid printing null pointer
38742         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
38743         shell script.
38744         * tests/test-xalloc-die.c (program_name): Declare.
38745         * tests/test-xalloc-die.sh (tmpfiles): New file.
38746
38747         setenv, unsetenv: work around various bugs
38748         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
38749         (setenv) [HAVE_SETENV]: Work around bugs.
38750         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
38751         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
38752         for bugs.
38753         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
38754         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
38755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
38756         * modules/stdlib (Makefile.am): Update substitutions.
38757         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
38758         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
38759         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38760         * modules/setenv-tests: New test.
38761         * modules/unsetenv-tests: Likewise.
38762         * tests/test-setenv.c: New file.
38763         * tests/test-unsetenv.c: Likewise.
38764
38765 2009-11-16  Jim Meyering  <meyering@redhat.com>
38766
38767         version-etc: relax license to LGPLv3+
38768         * modules/version-etc (License): Relax license.
38769
38770         better AC_REQUIRE expanded-before-required-warning avoidance
38771         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
38772         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
38773         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
38774         which is no longer needed.
38775
38776 2009-11-16  Eric Blake  <ebb9@byu.net>
38777
38778         test-freading: clean up temporary file
38779         * tests/test-freading.c (main): Remove file on success, and use
38780         ASSERT more liberally.
38781         Reported by Jim Meyering.
38782
38783 2009-11-16  Jim Meyering  <meyering@redhat.com>
38784
38785         avoid new AC_REQUIRE expanded-before-required warnings
38786         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
38787         merely using it.
38788         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
38789         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
38790
38791 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38792
38793         * tests/test-xalloc-die.c: New file.
38794         * modules/xalloc-die-tests: New file.
38795         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
38796         XFAIL_TESTS so it can be appended by modules.
38797
38798 2009-11-15  Simon Josefsson  <simon@josefsson.org>
38799
38800         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
38801         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
38802
38803 2009-11-14  Eric Blake  <ebb9@byu.net>
38804
38805         fnmatch: avoid compiler warning
38806         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
38807         to silence compiler warning about mismatch signedness in ?:.
38808         Reported by Robert Millan.
38809
38810         intprops: add double-inclusion guard
38811         * lib/intprops.h: Allow idempotent includes.
38812         Suggested by Bruce Korb.
38813
38814         openat: detect Solaris fchownat bug
38815         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
38816         penalizing glibc chownat when only lchownat is broken.
38817         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
38818         trailing slash bugs.
38819         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
38820         * modules/openat-tests (Files): Include more files.
38821         (Depends-on): Add mgetgroups, sleep, stat-time.
38822         (configure.ac): Add additional checks.
38823         (Makefile.am): Build new test.
38824         * tests/test-fchownat.c: New file.
38825
38826         lchown: detect Solaris and FreeBSD bug
38827         * lib/lchown.c (rpl_lchown): Work around bug.
38828         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
38829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38830         * modules/unistd (Makefile.am): Populate it.
38831         * lib/unistd.in.h (lchown): Update declaration.
38832         * doc/posix-functions/lchown.texi (lchown): Document the bug.
38833         * modules/lchown-tests: New file.
38834         * tests/test-lchown.h (test_lchown): Likewise.
38835         * tests/test-lchown.c (main): Likewise.
38836
38837         chown: detect Solaris and FreeBSD bug
38838         * lib/chown.c (rpl_chown): Work around bug.
38839         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
38840         (gl_PREREQ_CHOWN): Delete.
38841         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38842         * modules/unistd (Makefile.am): Populate it.
38843         * lib/unistd.in.h (chown): Update declaration.
38844         * lib/lchown.c (chown): Update client.
38845         * modules/lchown (Depends-on): Add lstat.
38846         * doc/posix-functions/chown.texi (chown): Document the bug.
38847         * doc/posix-functions/getgroups.texi (getgroups): Document
38848         getgroups pitfall.
38849         * modules/chown-tests: New file.
38850         * tests/test-chown.h (test_chown): Likewise.
38851         * tests/test-chown.c (main): Likewise.
38852
38853 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
38854
38855         gnulib-tool: correctly detect absence of m4 directories
38856         * gnulib-tool: Avoid extra newline on data passed to wc -l.
38857
38858 2009-11-14  Jim Meyering  <meyering@redhat.com>
38859
38860         maint.mk: Prohibit inclusion of "xalloc.h" without use.
38861         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
38862
38863 2009-11-14  John W. Eaton  <jwe@gnu.org>
38864
38865         strftime.h: wrap funtion declaration in extern "C" block
38866         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
38867
38868 2009-11-13  Eric Blake  <ebb9@byu.net>
38869
38870         getgroups: avoid compiler warning
38871         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
38872
38873         getgroups: work around FreeBSD bug
38874         * lib/getgroups.c (rpl_getgroups): Work around the bug.
38875         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
38876         * doc/posix-functions/getgroups.texi (getgroups): Document it.
38877         * tests/test-getgroups.c (main): Fix buffer overrun.
38878
38879         getgroups: avoid compilation failure
38880         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
38881         * modules/getgroups (Depends-on): Add stdint.
38882
38883 2009-11-13  Jim Meyering  <meyering@redhat.com>
38884
38885         test-getgroups: avoid compilation failure
38886         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
38887
38888 2009-11-13  Eric Blake  <ebb9@byu.net>
38889
38890         mgetgroups: new module, taken from coreutils
38891         * modules/mgetgroups: New file.
38892         * lib/mgetgroups.h: Likewise.
38893         * lib/mgetgroups.c (mgetgroups): Likewise.
38894         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
38895         * MODULES.html.sh (Users and groups): Mention it.
38896
38897         getgroups: don't expose GETGROUPS_T to user
38898         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
38899         an element at a time if GETGROUPS_T is wrong size.
38900         * lib/getugroups.h (getugroups): Change signature.
38901         * lib/unistd.in.h (getgroups): Likewise.
38902         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
38903         signature needs fixing.
38904         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
38905         AC_TYPE_GETGROUPS.
38906         * modules/group-member (Depends-on): Add getgroups.
38907         * lib/group-member.c (group_info, get_group_info): Use gid_t.
38908         (group_member): Rely on getgroups replacement.
38909         * lib/getugroups.c (getugroups): Use gid_t.
38910         * tests/test-getgroups.c (main): Likewise.
38911         * NEWS: Mention the signature change.
38912         * doc/posix-functions/getgroups.texi (getgroups): Mention the
38913         problem with signature.
38914         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
38915         GETGROUPS_T is still useful for setgroups.
38916
38917         getgroups, getugroups: provide stubs for mingw
38918         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
38919         * lib/getugroups.c (getugroups): Likewise.
38920         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
38921         function.  Modernize replacement scheme.
38922         (gl_PREREQ_GETGROUPS): Delete.
38923         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
38924         * modules/getgroups (configure.ac): Declare witness.
38925         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
38926         * modules/unistd (Depends-on): Substitute witness.
38927         * lib/unistd.in.h (getgroups): Declare replacement.
38928
38929         getgroups: avoid calling exit
38930         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
38931         drop xalloc.
38932         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
38933         dependencies.
38934         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
38935         exiting, in the rare case of malloc failure.
38936
38937         getgroups: fix logic error
38938         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
38939         has more than 20 groups.
38940         * modules/getgroups-tests: New test.
38941         * tests/test-getgroups.c: New file.
38942
38943 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38944
38945         * tests/test-base64.c: Improve.
38946
38947 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38948
38949         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
38950         Blake <ebb9@byu.net>.
38951
38952 2009-11-13  Simon Josefsson  <simon@josefsson.org>
38953
38954         * tests/test-xvasprintf.c: Add %s%s related checks.
38955
38956 2009-11-12  Eric Blake  <ebb9@byu.net>
38957
38958         version-etc: match standards.texi style
38959         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
38960         and use <> only for URLs.
38961
38962 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
38963
38964         fts: do not fail on a submount during traversal
38965         * lib/fts.c (fts_build): Read the stat info again after opening
38966         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
38967         Original report at http://bugzilla.redhat.com/501848.
38968
38969 2009-11-12  Jim Meyering  <meyering@redhat.com>
38970
38971         bootstrap: sync from coreutils
38972         * build-aux/bootstrap (bootstrap_epilogue): New function.
38973         Use git_modules_config in one more place.  This make bootstrap's
38974         --gnulib-srcdir option more useful for testing.
38975
38976         bootstrap: generalize autoheader check
38977         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
38978         AC_CONFIG_HEADERS.
38979
38980 2009-11-11  Eric Blake  <ebb9@byu.net>
38981
38982         mkfifoat: use new modules for Solaris and BSD bugs
38983         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
38984         * lib/mkfifoat.c (mknodat): Split...
38985         * lib/mknodat.c (mknodat): ...into new file.
38986         * modules/mkfifoat (Files): Ship new file.
38987         (Depends-on): Add mkfifo, mknod.
38988         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
38989         (Depends-on): Add symlink.
38990         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
38991         redundant with test_mkfifo.h.
38992         (do_mkfifoat, do_mknodat): New helpers.
38993
38994         mknod: new module
38995         * modules/mknod: New file.
38996         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
38997         * lib/mknod.c (mknod): Likewise.
38998         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
38999         defaults.
39000         * modules/sys_stat (Makefile.am): Substitute them.
39001         * lib/sys_stat.in.h (mknod): Declare replacement.
39002         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39003         Document it.
39004         * doc/posix-functions/mknod.texi (mknod): Likewise.
39005         * modules/mknod-tests: New test.
39006         * tests/test-mknod.c: Likewise.
39007
39008         mkfifo: new module
39009         * modules/mkfifo: New file.
39010         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
39011         * lib/mkfifo.c (mkfifo): Likewise.
39012         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39013         defaults.
39014         * modules/sys_stat (Makefile.am): Substitute them.
39015         * lib/sys_stat.in.h (mkfifo): Declare replacement.
39016         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39017         Document it.
39018         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
39019         * modules/mkfifo-tests: New test.
39020         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
39021         from test-mkfifoat.c.
39022         * tests/test-mkfifo.c: New file.
39023
39024         readlink: detect FreeBSD bug
39025         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
39026         slash on symlink.
39027         * doc/posix-functions/readlink.texi (readlink): Document the bug.
39028         * tests/test-readlink.h (test_readlink): Enhance test.
39029
39030         symlink: detect FreeBSD bug
39031         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
39032         slash on symlink.
39033         * doc/posix-functions/symlink.texi (symlink): Document the bug.
39034         * tests/test-symlink.h (test_symlink): Enhance test.
39035
39036 2009-11-10  Eric Blake  <ebb9@byu.net>
39037
39038         link: detect FreeBSD bug
39039         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
39040         symlink.
39041         * doc/posix-functions/link.texi (link): Document the bug.
39042         * tests/test-link.h (test_link): Enhance test.
39043         * tests/test-linkat.c (main): Update caller.
39044
39045         unlink, remove: detect FreeBSD bug
39046         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
39047         slash on symlink.
39048         * doc/posix-functions/unlink.texi (unlink): Document the bug.
39049         * doc/posix-functions/remove.texi (remove): Likewise.
39050         * tests/test-unlink.h (test_unlink): Enhance test.
39051         * tests/test-remove.c (main): Likewise.
39052
39053 2009-11-09  Eric Blake  <ebb9@byu.net>
39054
39055         rename: detect FreeBSD bug
39056         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
39057         slash on symlink.
39058         * modules/renameat-tests (Depends-on): Add filenamecat.
39059         * tests/test-rename.h (test_rename): Allow one more errno.
39060         * tests/test-renameat.c (main): Likewise.
39061         * doc/posix-functions/rename.texi (rename): Document the bug.
39062
39063         open: detect FreeBSD bug
39064         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
39065         symlink.
39066         * doc/posix-functions/open.texi (open): Document the bug.
39067         * doc/posix-functions/utimes.texi (utimes): Likewise.
39068         * tests/test-open.h (test_open): Add parameters, and test symlink
39069         handling.
39070         * tests/test-open.c (main): Adjust caller.
39071         * tests/test-fcntl-safer.c (main): Likewise.
39072         * modules/open-tests (Depends-on): Add stdbool, symlink.
39073         * modules/fcntl-safer-tests (Depends-on): Likewise.
39074         * tests/test-openat.c (main): Add test-open tests.
39075
39076         stat: detect FreeBSD bug
39077         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
39078         symlink.
39079         * doc/posix-functions/stat.texi (stat): Document the bug.
39080         * tests/test-stat.h (test_stat_func): Add argument.
39081         * tests/test-stat.c (main): Adjust caller.
39082         * tests/test-fstatat.c (main): Likewise.
39083         * modules/stat-tests (Depends-on): Add stdbool, symlink.
39084         Reported by Jim Meyering.
39085
39086 2009-11-09  James Youngman  <jay@gnu.org>
39087
39088         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
39089         * lib/strftime.c: Correct placement of #include "ignore-value.h".
39090
39091 2009-11-08  Jim Meyering  <meyering@redhat.com>
39092
39093         utimens: remove invalid futimesat call
39094         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
39095         It used the file descriptor of the target file as the DIR_FD
39096         parameter and NULL as the file name.  That caused failure with
39097         errno == EFAULT on FreeBSD-8.0-rc2
39098
39099 2009-11-07  Eric Blake  <ebb9@byu.net>
39100
39101         fflush, freadseek: use fseeko, not fseek
39102         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
39103         (clear_ungetc_buffer): Avoid potential problems on large files.
39104         * lib/freadseek.c (freadseek): Likewise.
39105         * modules/freadseek (Depends-on): Add fseeko.
39106         * modules/fseek (configure.ac): Set a witness.
39107         * tests/test-fflush.c (main): Use fseeko.
39108         * tests/test-fpurge.c (fseek): Disable link warning.
39109         * tests/test-freadable.c (fseek): Likewise.
39110         * tests/test-freading.c (fseek): Likewise.
39111         * tests/test-fseeko.c (fseek): Likewise.
39112         * tests/test-ftell.c (fseek): Likewise.
39113         * tests/test-ftello.c (fseek): Likewise.
39114         * tests/test-fwritable.c (fseek): Likewise.
39115         * tests/test-fwriting.c (fseek): Likewise.
39116
39117 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39118
39119         * modules/memchr (Depends-on): Drop getpagesize dependency.
39120
39121 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39122
39123         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
39124         Reported by Ludovic Courtès.
39125         * build-aux/pmccabe2html: Improve example usage.
39126         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
39127
39128 2009-11-06  Jim Meyering  <meyering@redhat.com>
39129
39130         do-release-commit-and-tag: New module.
39131         Automate the release-commit and tag process.
39132         * build-aux/do-release-commit-and-tag: New script, from coreutils.
39133         * modules/do-release-commit-and-tag: New file.
39134         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39135
39136 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39137
39138         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
39139         because test-select.c uses inet_pton.
39140
39141 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39142
39143         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
39144         GETADDRINFO_LIB.  Bump serial number.
39145         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
39146         Suggested by Eric Blake <ebb9@byu.net>.
39147
39148 2009-11-05  Eric Blake  <ebb9@byu.net>
39149
39150         strtod: detect darwin bug
39151         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
39152         Reported by Leo Davis.
39153
39154         freopen-safer: new module
39155         * modules/freopen-safer: New module.
39156         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
39157         * lib/freopen-safer.c (freopen_safer): New file.
39158         * lib/stdio-safer.h (freopen_safer): New declaration.
39159         * lib/stdio--.h (freopen): New override.
39160         * MODULES.html.sh (File stream based Input/Output): Mention it.
39161         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
39162         freopen-safer module.
39163         * doc/posix-functions/stderr.texi (stderr): Likewise.
39164         * doc/posix-functions/stdin.texi (stdin): Likewise.
39165         * doc/posix-functions/stdout.texi (stdout): Likewise.
39166         * modules/freopen-safer-tests: New test.
39167         * tests/test-reopen-safer.c: New file.
39168
39169 2009-11-05  Jim Meyering  <meyering@redhat.com>
39170
39171         maint.mk: Prohibit inclusion of "close-stream.h" without use.
39172         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39173
39174 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39175
39176         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
39177
39178 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39179
39180         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
39181
39182 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39183
39184         Fix link error.
39185         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39186         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39187
39188 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39189
39190         * tests/test-func.c: Also test value of __func__.
39191
39192 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39193
39194         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
39195         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
39196
39197 2009-11-05  Bruno Haible  <bruno@clisp.org>
39198
39199         Fix link error.
39200         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39201         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39202         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
39203
39204 2009-11-05  Bruno Haible  <bruno@clisp.org>
39205
39206         Tests for module 'inet_pton'.
39207         * modules/inet_pton-tests: New file.
39208         * tests/test-inet_pton.c: New file.
39209
39210 2009-11-05  Bruno Haible  <bruno@clisp.org>
39211
39212         Tests for module 'inet_ntop'.
39213         * modules/inet_ntop-tests: New file.
39214         * tests/test-inet_ntop.c: New file.
39215
39216 2009-11-04  Eric Blake  <ebb9@byu.net>
39217
39218         stdlib-safer: wrap all mkstemp variants
39219         * modules/mkostemp (configure.ac): Set witness.
39220         * modules/mkostemps (configure.ac): Likewise.
39221         * modules/mkstemps (configure.ac): Likewise.
39222         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
39223         (mkstemps_safer): Wrap more functions.
39224         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
39225         wrapping.
39226         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
39227         (mkstemps_safer): Implement the wrappers.
39228
39229         mkstemps, mkostemps: new modules
39230         * modules/mkostemps: New module.
39231         * modules/mkstemps: Likewise.
39232         * lib/mkostemps.c (mkostemps): New file.
39233         * lib/mkstemps.c (mkstemps): Likewise.
39234         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
39235         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
39236         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
39237         * modules/stdlib (Makefile.am): Substitute them.
39238         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
39239         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
39240         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
39241         * doc/gnulib.texi (Glibc stdlib.h): Include them.
39242         * MODULES.html.sh (File system functions): Mention them.
39243
39244         tempname: resync from glibc
39245         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
39246         same values for __GT_FILE as glibc.  Abort even when assertions
39247         are disabled.
39248         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
39249         match its value otherwise.  Allow idempotent inclusion.
39250         * lib/mkdtemp.c (mkdtemp): Adjust caller.
39251         * lib/mkostemp.c (mkostemp): Likewise.
39252         * lib/mkstemp.c (mkstemp): Likewise.
39253         * lib/tmpfile.c (tmpfile): Likewise.
39254         * NEWS: Document this.
39255
39256         utimens: fix use of futimens on older Linux
39257         * lib/utimens.c (fdutimens): Use updated, rather than original,
39258         timespec to avoid bug in older Linux kernel.
39259         Reported by Simon Josefsson.
39260
39261 2009-11-04  Bruno Haible  <bruno@clisp.org>
39262
39263         Make num_processors more flexible and consistent.
39264         * lib/nproc.h (enum nproc_query): New type.
39265         (num_processors): Add a 'query' argument.
39266         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
39267         (num_processors): Add a 'query' argument. Test the value of the
39268         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
39269         mingw, count the number of CPUs available for the current process.
39270         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
39271         Check for sched_getaffinity and sched_getaffinity_np.
39272         * modules/nproc (Depends-on): Add c-ctype, extensions.
39273         * NEWS: Mention the change.
39274
39275 2009-11-03  Bruno Haible  <bruno@clisp.org>
39276
39277         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
39278
39279 2009-11-03  Jim Meyering  <meyering@redhat.com>
39280
39281         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
39282         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
39283         if it is defined.
39284
39285 2009-11-02  Eric Blake  <ebb9@byu.net>
39286
39287         mktime, timegm: share common declaration
39288         * lib/mktime-internal.h: New file.
39289         * lib/mktime.c: Use it rather than open-coding a declaration.
39290         * lib/timegm.c: Likewise.
39291         * modules/mktime (Files): Ship it.
39292         * modules/timegm (Files): Likewise.
39293         Suggested by Bruno Haible.
39294
39295         test-update-copyright: update test to match script changes
39296         * tests/test-update-copyright.sh: Avoid hard-coding perl
39297         location.  Don't update *.bak created by earlier runs.
39298
39299 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
39300             Simon Josefsson  <simon@josefsson.org>
39301             Bruno Haible  <bruno@clisp.org>
39302
39303         Fix link error on Solaris 8.
39304         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
39305         also in libnsl. Define also INET_PTON_LIB.
39306         * modules/inet_pton (Link): New section.
39307
39308 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39309             Bruno Haible  <bruno@clisp.org>
39310
39311         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
39312         * modules/inet_ntop (Link): New section.
39313         Reported by Boyan Kasarov <bkasarov@gmail.com>.
39314
39315 2009-11-02  Eric Blake  <ebb9@byu.net>
39316
39317         maint: avoid compiler warnings in m4 macros
39318         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
39319         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
39320
39321 2009-11-02  Simon Josefsson  <simon@josefsson.org>
39322
39323         * m4/pmccabe2html.m4: Remove file.
39324         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
39325         function.  Change maintainer.
39326         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
39327         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
39328         Courtès).
39329
39330 2009-10-31  Eric Blake  <ebb9@byu.net>
39331
39332         fseeko: fix m4 regression
39333         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
39334         regression from 2009-10-27.
39335         Reported by Ralf Wildenhues.
39336
39337 2009-10-31  Jim Meyering  <meyering@redhat.com>
39338
39339         inttostr: aesthetics and improved (compile-time) safety
39340         Define inttype_is_signed rather than inttype_is_unsigned,
39341         since the sole use is via "#if inttype_is_signed".
39342         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
39343         inttype_is_unsigned.
39344         * lib/offtostr.c (inttype_is_signed): Likewise.
39345         * lib/uinttostr.c (inttype_is_signed): Likewise.
39346         * lib/umaxtostr.c (inttype_is_signed): Likewise.
39347         * lib/inttostr.c (inttostr): Use verify to cross-check the
39348         inttype_is_signed value and the signedness of the actual type.
39349         * modules/inttostr (Depends-on): Add verify.
39350
39351 2009-10-30  Eric Blake  <ebb9@byu.net>
39352
39353         build: avoid compiler warnings
39354         * lib/fchmodat.c (lchmod): Mark unused variables.
39355         * lib/getopt.c (_getopt_initialize): Likewise.
39356         * lib/mktime.c (__mktime_internal): Provide prototype.
39357         * lib/inttostr.c (inttostr): Avoid compiler warning even with
39358         older gcc that do not understand #pragma GCC diagnostic.
39359         * lib/uinttostr.c (inttype_is_unsigned): Define.
39360         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
39361
39362 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
39363
39364         stat: fix compilation on AIX
39365         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
39366         only see struct stat64.
39367
39368 2009-10-30  Eric Blake  <ebb9@byu.net>
39369
39370         exclude: make more robust
39371         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
39372         rather than masking a coding bug.
39373         Suggested by Bruno Haible.
39374
39375 2009-10-30  Jim Meyering  <meyering@redhat.com>
39376
39377         perl scripts: remove #!/usr/bin/perl in favor of more portable...
39378         Rather than putting #!/usr/bin/perl on the first line,
39379         start with a variant of what's recommended by "man perlrun" that
39380         invokes the first "perl" program from your shell's search path.
39381         * build-aux/gitlog-to-changelog: Replace #!... as above.
39382         Add a "Local Variables" perl mode setting.
39383         Prompted by a patch from Ludovic Courtès.
39384         Improved by Eric Blake.
39385         * build-aux/useless-if-before-free: Likewise.
39386         * build-aux/announce-gen: Likewise.
39387         * build-aux/update-copyright: Likewise.
39388
39389 2009-10-29  Eric Blake  <ebb9@byu.net>
39390
39391         filenamecat-lgpl: adjust clients
39392         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
39393         filenamecat.
39394         * modules/renameat (Depends-on): Likewise.
39395
39396         filenamecat: split into filenamecat-lgpl
39397         * modules/filenamecat-lgpl: New module.
39398         * modules/filenamecat (Files): Move library-safe files into
39399         filenamecat-lgpl.
39400         (Depends-on): Add filenamecat-lgpl.
39401         (configure.ac): Declare witness.
39402         * lib/filenamecat.h (file_name_concat): Only declare when using
39403         GPL module.
39404         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
39405         Move...
39406         * lib/filenamecat-lgpl.c: ...into new file.
39407         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
39408         (gl_FILE_NAME_CONCAT): Use it.
39409         * MODULES.html.sh (File system functions): Mention new module.
39410
39411         argp: avoid memory leak
39412         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
39413         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
39414         base_name, since the latter malloc()s and can call exit().
39415         Leak introduced 2006-07-03.
39416
39417         dirname-lgpl: adjust clients that don't need full dirname
39418         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
39419         * modules/filenamecat (Depends-on): Likewise.
39420         * modules/linkat (Depends-on): Likewise.
39421         * modules/mkancesdirs (Depends-on): Likewise.
39422         * modules/mkdir (Depends-on): Likewise.
39423         * modules/openat (Depends-on): Likewise.
39424         * modules/savewd (Depends-on): Likewise.
39425         * modules/rename (Depends-on): Likewise.
39426         (License): Relax license.
39427         * modules/mkdir-tests (Depends-on): Drop progname.
39428         (Makefile.am): Delete unneeded LDADD.
39429         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
39430
39431         dirname: split into dirname-lgpl
39432         * modules/dirname-lgpl: New module.
39433         * modules/dirname (Files): Move library-safe files into
39434         dirname-lgpl.
39435         (Depends-on): Add dirname-lgpl.
39436         (configure.ac): Declare witness.
39437         * modules/double-slash-root (License): Relax license.
39438         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
39439         module.
39440         * lib/dirname.c (dir_len, mdir_name): Move...
39441         * lib/dirname-lgpl.c: ...into new file.
39442         * lib/basename.c (last_component, base_len): Move...
39443         * lib/basename-lgpl.c: ...into new file.
39444         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
39445         (gl_DIRNAME): Use it.
39446         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
39447         Mention new module.
39448         * modules/dirname-tests (Depends-on): Add progname.
39449         * tests/test-dirname.c (program_name): Delete.
39450
39451         mkdir: make safe for libraries
39452         * modules/mkdir (Depends-on): Drop xalloc.
39453         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
39454         exit.
39455
39456         tests: avoid some compiler warnings
39457         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
39458         literals.
39459         * tests/test-memchr.c (main): Avoid type mismatch.
39460         * tests/test-arpa_inet.c (main): Avoid unused parameters.
39461         * tests/test-base64.c (main): Likewise.
39462         * tests/test-getdelim.c (main): Likewise.
39463         * tests/test-gethostname.c (main): Likewise.
39464         * tests/test-getline.c (main): Likewise.
39465         * tests/test-netinet_in.c (main): Likewise.
39466         * tests/test-select.c (open_server_socket, main): Likewise.
39467         * tests/test-select-stdin.c (main): Likewise.
39468         * tests/test-sockets.c (main): Likewise.
39469         * tests/test-strsignal.c (main): Likewise.
39470         * tests/test-sys_select.c (main): Likewise.
39471         * tests/test-sys_socket.c (main): Likewise.
39472         * tests/test-u64.c (main): Likewise.
39473         * tests/test-xfprintf-posix.c (main): Likewise.
39474         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
39475
39476         sockets: avoid compiler warning
39477         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
39478
39479         maint: detect usage(1) and other suspicious exits
39480         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
39481
39482 2009-10-29  Jim Meyering  <meyering@redhat.com>
39483
39484         timespec: long-to-int truncation could make timespec_cmp malfunction
39485         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
39486         a multiple of 2^32 nanoseconds as no difference.
39487
39488 2009-10-28  Jim Meyering  <meyering@redhat.com>
39489
39490         fprintftime: wrap macro code argument in "do {...} while(0)"
39491         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
39492         cpy macro must be a statement that can be followed by a semicolon.
39493         Now that the else clause contains a comment and is hence longer
39494         than one line, I require curly braces.  That in turn requires
39495         that we wrap this code block in the standard do...while(0).
39496
39497         fprintftime: remove stray semicolon from previous change
39498         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
39499
39500         fprintftime: avoid a warning about ignored fwrite return value
39501         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
39502         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
39503         that is unsafe.
39504         * modules/fprintftime (Depends-on): Add ignore-value.
39505
39506         exclude: avoid an unwarranted warning
39507         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
39508
39509 2009-10-27  Eric Blake  <ebb9@byu.net>
39510
39511         fseek: avoid compilation failure when fflush is replaced
39512         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
39513         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
39514         module is in use.
39515         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
39516         module is not in use; since REPLACE_FSEEK worked otherwise.
39517         (GNULIB_FTELLO): Likewise for ftell.
39518         Reported by Ian Beckwith and others.
39519
39520 2009-10-27  Bruno Haible  <bruno@clisp.org>
39521
39522         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
39523         Reported by Jim Meyering.
39524
39525 2009-10-27  Jim Meyering  <jim@meyering.net>
39526             Bruno Haible  <bruno@clisp.org>
39527
39528         Avoid warning despite dropping the return value of fwrite.
39529         * lib/unicodeio.c: Include ignore-value.h.
39530         (fwrite_success_callback): Explicitly ignore fwrite's return value.
39531         * modules/unicodeio (Depends-on): Add ignore-value.
39532
39533 2009-10-26  Eric Blake  <ebb9@byu.net>
39534
39535         areadlinkat: fix fallback path
39536         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
39537         pointer and zero.
39538
39539 2009-10-22  Pádraig Brady  <P@draigBrady.com>
39540
39541         Use a better IO block size for modern systems
39542         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
39543         * lib/md2.c: Likewise.
39544         * lib/md4.c: Likewise.
39545         * lib/md5.c: Likewise.
39546         * lib/sha1.c: Likewise.
39547         * lib/sha256.c: Likewise.
39548         * lib/sha512.c: Likewise.
39549
39550 2009-10-22  Eric Blake  <ebb9@byu.net>
39551
39552         tests: avoid several compiler warnings
39553         * tests/test-getcwd.c (main): Avoid buffer underflow.
39554         * tests/test-getdate.c (main): String literals are not safe with
39555         putenv, so use setenv.  Declare unused argument.
39556         * modules/getdate-tests (Depends-on): Add setenv.
39557         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
39558         problems with string literals in char *.
39559         * tests/test-hash.c (main): Avoid shadowing declaration.
39560         (insert_new): Treat string literals as char const *.
39561         * tests/test-getopt.h (test_getopt): Likewise.
39562         (getopt_loop): Alter types to minimize casting elsewhere.
39563         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
39564         (test_getopt_long_posix): Likewise.
39565         (do_getopt_long): Add wrapper to minimize casting.
39566         * tests/test-atexit.c (clear_temp_file): Use void.
39567         * tests/test-areadlink-with-size.c (main): Declare unused
39568         arguments.
39569         * tests/test-areadlink.c (main): Likewise.
39570         * tests/test-areadlinkat-with-size.c (main): Likewise.
39571         * tests/test-areadlinkat.c (main): Likewise.
39572         * tests/test-canonicalize-lgpl.c (main): Likewise.
39573         * tests/test-canonicalize.c (main): Likewise.
39574         * tests/test-dirent-safer.c (main): Likewise.
39575         * tests/test-dirname.c (main): Likewise.
39576         * tests/test-dup2.c (main): Likewise.
39577         * tests/test-fchdir.c (main): Likewise.
39578         * tests/test-fcntl-h.c (main): Likewise.
39579         * tests/test-fcntl-safer.c (main): Likewise.
39580         * tests/test-fdopendir.c (main): Likewise.
39581         * tests/test-fdutimensat.c (main): Likewise.
39582         * tests/test-fflush.c (main): Likewise.
39583         * tests/test-filenamecat.c (main): Likewise.
39584         * tests/test-filevercmp.c (main): Likewise.
39585         * tests/test-fopen-safer.c (main): Likewise.
39586         * tests/test-fopen.c (main): Likewise.
39587         * tests/test-fpending.c (main): Likewise.
39588         * tests/test-fpurge.c (main): Likewise.
39589         * tests/test-freading.c (main): Likewise.
39590         * tests/test-fstatat.c (main): Likewise.
39591         * tests/test-fsync.c (main): Likewise.
39592         * tests/test-futimens.c (main): Likewise.
39593         * tests/test-getndelim2.c (main): Likewise.
39594         * tests/test-gettimeofday.c (main): Likewise.
39595         * tests/test-getopt.c (main): Likewise.
39596         * tests/test-i-ring.c (main): Likewise.
39597         * tests/test-inttypes.c (main): Likewise.
39598         * tests/test-link.c (main): Likewise.
39599         * tests/test-lstat.c (main): Likewise.
39600         * tests/test-math.c (main): Likewise.
39601         * tests/test-md5.c (main): Likewise.
39602         * tests/test-memchr2.c (main): Likewise.
39603         * tests/test-memrchr.c (main): Likewise.
39604         * tests/test-mkdir.c (main): Likewise.
39605         * tests/test-mkdirat.c (main): Likewise.
39606         * tests/test-mkfifoat.c (main): Likewise.
39607         * tests/test-open.c (main): Likewise.
39608         * tests/test-openat-safer.c (main): Likewise.
39609         * tests/test-openat.c (main): Likewise.
39610         * tests/test-quotearg.c (main): Likewise.
39611         * tests/test-rawmemchr.c (main): Likewise.
39612         * tests/test-readlink.c (main): Likewise.
39613         * tests/test-remove.c (main): Likewise.
39614         * tests/test-rename.c (main): Likewise.
39615         * tests/test-renameat.c (main): Likewise.
39616         * tests/test-rmdir.c (main): Likewise.
39617         * tests/test-sha1.c (main): Likewise.
39618         * tests/test-signal.c (main): Likewise.
39619         * tests/test-sigaction.c (main): Likewise.
39620         * tests/test-stat.c (main): Likewise.
39621         * tests/test-stat-time.c (main): Likewise.
39622         * tests/test-stddef.c (main): Likewise.
39623         * tests/test-stdint.c (main): Likewise.
39624         * tests/test-stdio.c (main): Likewise.
39625         * tests/test-stdlib.c (main): Likewise.
39626         * tests/test-strchrnul.c (main): Likewise.
39627         * tests/test-strerror.c (main): Likewise.
39628         * tests/test-string.c (main): Likewise.
39629         * tests/test-strtod.c (main): Likewise.
39630         * tests/test-strverscmp.c (main): Likewise.
39631         * tests/test-symlink.c (main): Likewise.
39632         * tests/test-symlinkat.c (main): Likewise.
39633         * tests/test-sys_stat.c (main): Likewise.
39634         * tests/test-sys_time.c (main): Likewise.
39635         * tests/test-time.c (main): Likewise.
39636         * tests/test-unistd.c (main): Likewise.
39637         * tests/test-unlink.c (main): Likewise.
39638         * tests/test-unlinkat.c (main): Likewise.
39639         * tests/test-utimens.c (main): Likewise.
39640         * tests/test-utimensat.c (main): Likewise.
39641         * tests/test-version-etc.c (main): Likewise.
39642         * tests/test-wchar.c (main): Likewise.
39643         * tests/test-wctype.c (main): Likewise.
39644         * tests/test-xprintf-posix.c (main): Likewise.
39645         * tests/test-posixtm.c (main): Likewise.
39646         (STREQ): Delete unused macro.
39647         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
39648         shadowed variables.
39649         * tests/test-memchr.c (main): Likewise.
39650
39651 2009-10-21  Eric Blake  <ebb9@byu.net>
39652
39653         areadlinkat: avoid failure on older glibc
39654         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
39655         rather than mis-comparing 0 against FUNC_RESULT of char*.
39656
39657 2009-10-21  Bruno Haible  <bruno@clisp.org>
39658
39659         * modules/stpncpy (License): Relicense under LGPLv2+.
39660         Reported by David Lutterkort <lutter@redhat.com>.
39661
39662 2009-10-20  Eric Blake  <ebb9@byu.net>
39663
39664         utimensat: work around Solaris 9 bug
39665         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
39666         has trailing slash bugs.
39667         * tests/test-lutimens.h (test_lutimens): Enhance test.
39668         * tests/test-utimens.h (test_utimens): Likewise.
39669         * doc/posix-functions/utime.texi (utime): Enhance documentation.
39670         * doc/posix-functions/utimes.texi (utimes): Likewise.
39671         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39672         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
39673         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
39674         * doc/posix-functions/futimens.texi (futimens): Likewise.
39675
39676         fdutimensat: new module
39677         * modules/fdutimensat: New file.
39678         * lib/fdutimensat.c (fdutimensat): Likewise.
39679         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
39680         * MODULES.html.sh (File system functions): Mention module.
39681         * modules/fdutimensat-tests: New test.
39682         * tests/test-fdutimensat.c: Likewise.
39683
39684         doc: regenerate INSTALL
39685         * doc/INSTALL: Reflect recent autoconf update.
39686         * doc/INSTALL.ISO: Likewise.
39687         * doc/INSTALL.UTF-8: Likewise.
39688
39689 2009-10-20  Pádraig Brady  <P@draigBrady.com>
39690
39691         acl: warn if ACL support is not detected
39692         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
39693
39694 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
39695
39696         * lib/nproc.h: Add extern "C" block for C++.
39697
39698 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
39699             Bruno Haible  <bruno@clisp.org>
39700
39701         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
39702         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
39703         * doc/posix-functions/isalpha.texi: Likewise.
39704         * doc/posix-functions/isblank.texi: Likewise.
39705         * doc/posix-functions/iscntrl.texi: Likewise.
39706         * doc/posix-functions/isdigit.texi: Likewise.
39707         * doc/posix-functions/isgraph.texi: Likewise.
39708         * doc/posix-functions/islower.texi: Likewise.
39709         * doc/posix-functions/isprint.texi: Likewise.
39710         * doc/posix-functions/ispunct.texi: Likewise.
39711         * doc/posix-functions/isspace.texi: Likewise.
39712         * doc/posix-functions/isupper.texi: Likewise.
39713         * doc/posix-functions/isxdigit.texi: Likewise.
39714
39715 2009-10-18  Bruno Haible  <bruno@clisp.org>
39716
39717         Tests for module 'isblank'.
39718         * modules/isblank-tests: New file.
39719         * tests/test-isblank.c: New file.
39720
39721         New module 'isblank'.
39722         * lib/isblank.c: New file.
39723         * m4/isblank.m4: New file.
39724         * modules/isblank: New file.
39725         * doc/posix-functions/isblank.texi: Mention the new module.
39726
39727 2009-10-18  Bruno Haible  <bruno@clisp.org>
39728
39729         New module 'ctype'.
39730         * lib/ctype.in.h: New file.
39731         * m4/ctype.m4: New file.
39732         * modules/ctype: New file.
39733         * doc/posix-headers/ctype.texi: Mention the new module.
39734
39735 2009-10-18  Jim Meyering  <meyering@redhat.com>
39736
39737         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
39738         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
39739         right after its initialization, rather than farther down.
39740         Keeping these in close proximity makes it easier to ensure
39741         that each such variable is initialized.  E.g.,
39742
39743             LIB_CLOCK_GETTIME=
39744             AC_SUBST([LIB_CLOCK_GETTIME])
39745
39746         This change also increments these serial numbers.
39747         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
39748         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39749         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39750
39751 2009-10-18  Bruno Haible  <bruno@clisp.org>
39752
39753         Don't let environment variables perturb build.
39754         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
39755         (gl_PREREQ_GETHRXTIME): ... not here.
39756
39757 2009-10-18  Bruno Haible  <bruno@clisp.org>
39758
39759         Avoid symlink attack in localcharset module.
39760         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
39761         (O_NOFOLLOW): Define fallback.
39762         (get_charset_aliases): Don't open the file if it is a symbolic link.
39763         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
39764         gl_FCNTL_H.
39765         (gl_FCNTL_H): Require it.
39766         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
39767         * modules/localcharset (Files): Add m4/fcntl_h.m4.
39768         Reported by Fergal Glynn <fglynn@veracode.com>.
39769
39770 2009-10-18  Bruno Haible  <bruno@clisp.org>
39771
39772         Implement nproc for mingw.
39773         * lib/nproc.c: Include <windows.h>
39774         (num_processors): On native Windows platforms, try GetSystemInfo.
39775
39776 2009-10-18  Bruno Haible  <bruno@clisp.org>
39777
39778         Implement nproc for IRIX.
39779         * lib/nproc.c: Include <sys/sysmp.h>.
39780         (num_processors): On IRIX systems, try sysmp.
39781         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
39782
39783 2009-10-18  Bruno Haible  <bruno@clisp.org>
39784
39785         Implement nproc for HP-UX.
39786         * lib/nproc.c: Include <sys/pstat.h>
39787         (num_processors): On HP-UX systems, try pstat_getdynamic.
39788         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
39789         pstat_getdynamic.
39790
39791 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
39792             Bruno Haible  <bruno@clisp.org>
39793
39794         Implement nproc for NetBSD, OpenBSD.
39795         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
39796         (ARRAY_SIZE): New macro.
39797         (num_processors): On BSD systems, try sysctl of HW_NCPU.
39798         * m4/nproc.m4: New file.
39799         * modules/nproc (Files): Add m4/nproc.m4.
39800         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
39801         (Makefile.am): Instead, augment lib_SOURCES.
39802
39803 2009-10-18  Bruno Haible  <bruno@clisp.org>
39804
39805         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
39806         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
39807         sys/param.h.
39808
39809 2009-10-16  Eric Blake  <ebb9@byu.net>
39810
39811         utimensat: new module
39812         * modules/utimensat: New file.
39813         * lib/utimensat.c (utimensat): Likewise.
39814         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39815         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
39816         so we can work around Linux bugs.
39817         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39818         * modules/sys_stat (Makefile.am): Substitute them.
39819         * lib/sys_stat.in.h (utimensat): Declare it.
39820         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39821         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39822         * modules/utimensat-tests: New test.
39823         * tests/test-utimensat.c: Likewise.
39824
39825         utimens: let lutimens work on non-symlinks
39826         * lib/utimens.c (lutimens): Fall back to utimens rather than
39827         failing with ENOSYS, when file is not a symlink.
39828         (utimens): Reduce redirection.
39829         * tests/test-lutimens.h (test_lutimens): Update test to cover
39830         non-symlinks.
39831         * tests/test-utimens.h (test_utimens): Update test to cover
39832         symlinks.
39833         * tests/test-utimens.c (main): Update caller.
39834
39835         utimens: cache whether utimensat syscall works
39836         * lib/utimens.c (utimensat_works_really): New cache variable.
39837         (fdutimens, lutimens): Use it to avoid failing syscall.
39838
39839         test-stat-time, test-utimens: improve portability
39840         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
39841         ext4 on alpha, and for cygwin.
39842         * tests/test-utimens-common.h: New file.
39843         (nap): Factor delays into single function.
39844         * tests/test-lutimens.h (test_lutimens): Use new header.
39845         * tests/test-futimens.h (test_futimens): Likewise.
39846         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
39847         timestamps to occur from same machine, as was done previously for
39848         test_utimens.
39849         * modules/utimens-tests (Files): Ship new file.
39850         * modules/futimens-tests (Files): Likewise.
39851         Reported in part by Jim Meyering.
39852
39853         sys_stat: sort replacement declarations
39854         * lib/sys_stat.in.h: Sort declarations.
39855         * lib/futimens.c (futimens): Fix typo.
39856
39857 2009-10-15  Jim Meyering  <meyering@redhat.com>
39858
39859         don't let environment settings perturb build
39860         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
39861         could cause a configure-time and/or build-time malfunction.
39862         Typically, a configure-time function-in-library test is performed
39863         via code like this:
39864
39865           LIB_VAR=
39866           AC_SUBST([LIB_VAR])
39867           prefix_saved_LIBS=$LIBS
39868             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
39869                        [test "$ac_cv_search_FUNC" = "none required" ||
39870                         LIB_VAR=$ac_cv_search_FUNC])
39871           LIBS=$prefix_saved_LIBS
39872
39873         However, in each of the files affected by this change, the LIB_VAR=
39874         initialization was omitted.  Thus, when set in the environment, its
39875         value would propagate into generated Makefiles when FUNC is not found
39876         in LIB_NAME.
39877         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
39878         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
39879         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39880
39881 2009-10-14  Eric Blake  <ebb9@byu.net>
39882
39883         fchdir: avoid infinite recursion in mingw
39884         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
39885         recursing.
39886
39887         test-stat-time: port to mingw
39888         * tests/test-stat-time.c (force_unlink): Return a value.
39889         (test_ctime) [W32]: Fix compilation error.
39890         (nap): Don't call usleep with too large an argument.  Use
39891         force_unlink.
39892         * doc/pastposix-functions/usleep.texi (usleep): Document the
39893         portability issue.
39894
39895 2009-10-13  Jim Meyering  <meyering@redhat.com>
39896
39897         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
39898         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
39899         * modules/pipe-filter-ii: Likewise.
39900         * modules/sys_socket-tests: Likewise.
39901         * modules/tsearch-tests: Likewise.
39902         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
39903         (check): Depend on it.
39904
39905 2009-10-12  Eric Blake  <ebb9@byu.net>
39906
39907         utimens-tests: port to NFS file systems
39908         * tests/test-utimens.h (test_utimens): Refactor utimecmp
39909         comparisons to avoid spurious failures from timestamp drift
39910         between NFS machines.
39911
39912 2009-10-12  Eric Blake  <ebb9@byu.net>
39913
39914         stat-time-tests: minor cleanups
39915         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
39916         * tests/test-stat-time.c (nap): Separate assignment from call.
39917         Suggested by Paolo Bonzini and Bruno Haible.
39918
39919         sys_stat: guarantee struct timespec
39920         * lib/sys_stat.in.h (includes): Always include <time.h>
39921         * modules/sys_stat (Depends-on): Add time.
39922         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
39923         mode_t permission values.
39924         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
39925         get at subsecond timestamps.
39926
39927 2009-10-10  Eric Blake  <ebb9@byu.net>
39928
39929         futimens: new module
39930         * modules/futimens: New file.
39931         * lib/futimens.c (futimens): Likewise.
39932         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
39933         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
39934         we can work around Linux bugs.
39935         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39936         * modules/sys_stat (Makefile.am): Substitute them.
39937         * lib/sys_stat.in.h (futimens): Declare it.
39938         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39939         * doc/posix-functions/futimens.texi (futimens): Likewise.
39940         * modules/futimens-tests: New test.
39941         * tests/test-futimens.c: Likewise.
39942
39943         utimens: introduce fdutimens
39944         * lib/utimens.h (fdutimens): New prototype.
39945         * lib/utimens.c (gl_futimens): Move guts...
39946         (fdutimens): ...to new interface.
39947         * tests/test-utimens.c (do_fdutimens): Use it.
39948
39949         utimens: add UTIME_NOW and UTIME_OMIT support
39950         * lib/utimens.c (validate_timespec, update_timespec): New helper
39951         functions.
39952         (gl_futimens, lutimens): Use them.
39953         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
39954         stdbool, sys_stat.
39955         (Link): Mention resulting library dependency.
39956         * modules/utimecmp (Link): Likewise.
39957         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
39958         (Makefile.am): Pick up library dependency.
39959         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
39960         definition.
39961         * tests/test-sys_stat.c: Test the definitions.
39962         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
39963         * NEWS: Document library dependency.
39964
39965         utimecmp: support symlink timestamps
39966         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
39967         hashing when possible.  Use pathconf when available.
39968         (SYSCALL_RESOLUTION): Recognize tighter resolution.
39969         * modules/utimecmp (Depends-on): Add lstat.
39970
39971         utimens: add lutimens interface
39972         * lib/utimens.c (lutimens): New function.
39973         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
39974         * lib/utimens.h (lutimens): Declare new interface.
39975         * tests/test-utimens.c (main): Enhance test.
39976         * tests/test-lutimens.h (test_lutimens): New file.
39977         * modules/utimens-tests (Files): Distribute it.
39978         (Depends-on): Add symlink.
39979         (configure.ac): Check for usleep.
39980
39981         utimens: validate futimens usage
39982         * lib/utimens.c (gl_futimens): Require valid fd up front, using
39983         fewer syscalls on failure later on.  Avoid compiler warning on
39984         mingw.
39985         * modules/utimens (Depends-on): Add dup2.
39986
39987         utimens: add test
39988         * modules/utimens-tests: New test.
39989         * tests/test-utimens.h: New file.
39990         * tests/test-futimens.h: Likewise.
39991         * tests/test-utimens.c: Likewise.
39992
39993         doc: mention timestamp portability issues
39994         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
39995         instead.
39996         * doc/posix-functions/utime.texi (utime): Likewise.
39997         * doc/posix-functions/utimes.texi (utimes): Likewise.
39998         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
39999         instead.
40000         * doc/posix-functions/futimens.texi (futimens): Mention utimens
40001         module.
40002         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40003         Mention weakness with symlink timestamps.
40004         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
40005         to utimensat/futimens instead.
40006         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
40007
40008         test-dup2: enhance test
40009         * tests/test-dup2.c (main): Also check AT_FDCWD.
40010
40011         test-stat-time: avoid more spurious failures
40012         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
40013         xfs; and avoid race if the two timestamps cross quantization edge.
40014
40015         relocatable: prefer 'file system' over 'filesystem'
40016         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
40017         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
40018         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
40019         * doc/relocatable.texi (Enabling Relocatability): Likewise.
40020         * lib/relocatable.c (compute_curr_prefix): Likewise.
40021
40022 2009-10-10  Jim Meyering  <meyering@redhat.com>
40023
40024         stat-time-tests: check for the usleep function
40025         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
40026
40027 2009-10-10  Bruno Haible  <bruno@clisp.org>
40028
40029         * modules/xnanosleep: Put the Link section after the Include section.
40030
40031 2009-10-09  Eric Blake  <ebb9@byu.net>
40032
40033         dup2: work around FreeBSD 6.1 bug
40034         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
40035         * doc/posix-functions/dup2.texi (dup2): Document it.
40036         Reported by Nelson H. F. Beebe and Jim Meyering.
40037
40038         test-stat-time: port to buggy NFS clients
40039         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
40040         (test_ctime): Also skip test if mtime and ctime are skewed.
40041
40042         maint: prefer 'file system' over 'filesystem'
40043         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40044         * doc/posix-functions/lstat.texi (lstat): Likewise.
40045         * lib/file-has-acl.c (file_has_acl): Likewise.
40046         * lib/fwriteerror.c [TEST]: Likewise.
40047         * tests/test-areadlink.h (test_areadlink): Likewise.
40048         * tests/test-areadlinkat-with-size.c (main): Likewise.
40049         * tests/test-areadlinkat.c (main): Likewise.
40050         * tests/test-canonicalize-lgpl.c (main): Likewise.
40051         * tests/test-canonicalize.c (main): Likewise.
40052         * tests/test-fstatat.c (main): Likewise.
40053         * tests/test-linkat.c (main): Likewise.
40054         * tests/test-lstat.h (test_lstat_func): Likewise.
40055         * tests/test-mkdir.h (test_mkdir): Likewise.
40056         * tests/test-readlink.h (test_readlink): Likewise.
40057         * tests/test-remove.c (main): Likewise.
40058         * tests/test-rename.h (test_rename): Likewise.
40059         * tests/test-renameat.c (main): Likewise.
40060         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40061         * tests/test-symlink.h (test_symlink): Likewise.
40062         * tests/test-symlinkat.c (main): Likewise.
40063         * tests/test-unlink.h (test_unlink_func): Likewise.
40064         * tests/test-unlinkat.c (main): Likewise.
40065
40066         maint: make realtime library usage explicit
40067         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
40068         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
40069         * modules/settime (Link): Likewise.
40070         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
40071
40072         test-stat-time: speed up execution
40073         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
40074         warning on mingw.
40075         (nap): New helper function.
40076         (prepare_test): Use it to reduce sleep time.
40077         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
40078         execution.
40079         * modules/stat-time-tests (configure.ac): Check for usleep.
40080
40081 2009-10-09  Jim Meyering  <meyering@redhat.com>
40082
40083         selinux-h: always use getfilecon wrappers
40084         * lib/getfilecon.c: New file.
40085         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
40086         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
40087         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
40088         (fgetfilecon): Provide a stub.
40089         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
40090         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
40091         file unconditionally.
40092         When <selinux/selinux.h> is found, arrange to use wrappers.
40093         * modules/selinux-h (Files): Add getfilecon.c.
40094         (Makefile.am): Substitute include-next-related bits
40095         into the now-always-generated selinux/selinux.h file.
40096         * doc/glibc-functions/lgetfilecon.texi: New file.
40097         * doc/glibc-functions/fgetfilecon.texi: New file.
40098         * doc/glibc-functions/getfilecon.texi: New file.
40099         * doc/glibc-functions/getfilecon-desc.texi: New file.
40100         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
40101         which to pull in the new files.
40102         * MODULES.html.sh (Misc): Add selinux-h.
40103
40104 2009-10-08  Jim Meyering  <meyering@redhat.com>
40105
40106         unistd: fix comment typo
40107         * lib/unistd.in.h (euidaccess): Fix a comment typo.
40108
40109 2009-10-08  Eric Blake  <ebb9@byu.net>
40110
40111         areadlink: use SIZE_MAX consistently
40112         * modules/areadlink (Depends-on): Add stdint.
40113         * modules/areadlink-with-size (Depends-on): Likewise.
40114         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
40115         gives NULL; drop sys/types, since unistd gives size_t; and add
40116         stdint for SIZE_MAX.
40117         (SIZE_MAX): Rely on headers.
40118         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
40119         and add stdint.
40120         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
40121         (SIZE_MAX): Likewise.
40122         (INITIAL_BUF_SIZE): Turn into enum.
40123         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
40124
40125 2009-10-08  Jim Meyering  <meyering@redhat.com>
40126
40127         areadlinkat: avoid compilation failure
40128         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
40129         Fix typo in comment.
40130
40131 2009-10-07  Eric Blake  <ebb9@byu.net>
40132
40133         areadlinkat-with-size: new module
40134         * modules/areadlinkat-with-size: New module.
40135         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
40136         * lib/areadlink.h (areadlinkat): Declare it.
40137         * MODULES.html.sh (File system functions): Mention it.
40138         * modules/areadlinkat-with-size-tests: New test.
40139         * tests/test-areadlinkat-with-size.c: New file.
40140
40141         xreadlinkat: new module
40142         * modules/xreadlinkat: New module.
40143         * lib/xreadlinkat.c (xreadlinkat): New file.
40144         * lib/xreadlink.h (xreadlinkat): Declare it.
40145         * MODULES.html.sh (File system functions): Mention it.
40146
40147         areadlinkat: new module
40148         * lib/at-func.c (FUNC_FAIL): New define.
40149         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
40150         * modules/areadlinkat: New module.
40151         * lib/linkat.c (areadlinkat): Move...
40152         * lib/areadlinkat.c (areadlinkat): ...to new file.
40153         * lib/areadlink.h (areadlinkat): Declare it.
40154         * modules/linkat (Depends-on): Add areadlinkat.
40155         * MODULES.html.sh (File system functions): Mention it.
40156         * modules/areadlinkat-tests: New test.
40157         * tests/test-areadlinkat.c: New file.
40158
40159         areadlink, areadlink-with-size: add tests
40160         * modules/areadlink-tests: New test.
40161         * modules/areadlink-with-size-tests: Likewise.
40162         * tests/test-areadlink.h: New file.
40163         * tests/test-areadlink.c: Likewise.
40164         * tests/test-areadlink-with-size.c: Likewise.
40165
40166         maint: minor cleanups
40167         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
40168         _UNUSED_PARAMETER_ instead.
40169         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
40170         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
40171         * modules/linkat-tests (Files): Distribute test-link.h.
40172
40173         openat, utimens: whitespace cleanup
40174         * lib/openat.c: Prefer space throughout, rather than mix of 8
40175         spaces vs. tabs.
40176         * lib/at-func.c: Likewise.
40177         * lib/utimens.c: Likewise.
40178
40179         openat: avoid using wrong fd
40180         * lib/openat.c (openat_permissive): Reject user's fd if saving the
40181         working directory chooses same fd.
40182         * lib/at-func.c (AT_FUNC_NAME): Likewise.
40183
40184         mkdir, mkdirat: fix cygwin 1.5.x bug
40185         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
40186         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
40187         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
40188         bug.
40189         (gl_PREREQ_MKDIR): Delete unused macro.
40190         * modules/mkdir (Files): Track file rename.
40191         (configure.ac): Update macro name.
40192         * modules/openat (Depends-on): Add mkdir.
40193         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
40194
40195         mkdir, mkdirat: add tests
40196         * modules/mkdir-tests: New test.
40197         * tests/test-mkdir.h: New file.
40198         * tests/test-mkdir.c: Likewise.
40199         * tests/test-mkdirat.c: Likewise.
40200         * modules/openat-tests (Files): Add new files.
40201         (Makefile.am): Run new test.
40202
40203 2009-10-06  Eric Blake  <ebb9@byu.net>
40204
40205         doc: tweak *at function documentation
40206         * doc/posix-functions/faccessat.texi (faccessat): Mention
40207         known issue with replacement.
40208         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
40209         * doc/posix-functions/linkat.texi (linkat): Likewise.
40210         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40211         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40212         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40213         * doc/posix-functions/renameat.texi (renameat): Likewise.
40214         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40215
40216         openat: fix GNU/Hurd bug in unlinkat
40217         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
40218         broken.
40219         * doc/posix-functions/unlink.texi (unlink): Document this.
40220         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
40221
40222         fdopendir: fix GNU/Hurd bug
40223         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
40224         allowing non-directory fds.
40225         * lib/fdopendir.c (rpl_fdopendir): Work around it.
40226         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
40227         * modules/dirent (Makefile.am): Substitute it.
40228         * lib/dirent.in.h (fdopendir): Declare replacement.
40229         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
40230         * tests/test-fdopendir.c (main): Test something other than
40231         /dev/null, since on Hurd that behaves like a directory.
40232
40233         test-symlink: port to GNU/Hurd
40234         * tests/test-symlink.h (test_symlink): Relax expected errno.
40235
40236         doc: tweak more cygwin information
40237         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
40238         now compatible with glibc.
40239         * doc/posix-functions/getopt.texi (getopt): Likewise.
40240
40241         getopt-gnu: add another test
40242         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
40243         guarantee behavior relied on by m4.
40244         * tests/test-getopt.c (main): Use it.
40245         * modules/getopt-posix-tests (Depends-on): Add setenv.
40246         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
40247
40248         getopt: fix compilation on darwin
40249         * lib/getopt.in.h (includes): Leave breadcrumbs during system
40250         include.
40251         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
40252         Reported by Ludovic Courtès.
40253
40254 2009-10-06  Bruno Haible  <bruno@clisp.org>
40255
40256         * modules/size_max (Description): Discourage its use.
40257         Reported by Simon Josefsson.
40258
40259 2009-10-06  Jim Meyering  <meyering@redhat.com>
40260
40261         linkat: avoid compilation failure
40262         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
40263
40264 2009-10-05  Eric Blake  <ebb9@byu.net>
40265
40266         linkat: support Linux 2.6.17
40267         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
40268         linkat on Linux, but allow cache variable override.
40269         * lib/linkat.c (rpl_linkat): Define override.
40270         * modules/linkat (Depends-on): Add symlinkat.
40271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
40272         * modules/unistd (Makefile.am): Substitute it.
40273         * lib/unistd.in.h (linkat): Declare replacement.
40274         Reported by Pádraig Brady.
40275
40276         quotearg: port test to systems with C.UTF-8 locale
40277         * tests/test-quotearg.c (struct result_strings): Add another
40278         member, differentiating between C.ASCII and C.UTF-8 handling.
40279         (compare_strings): Add parameter.
40280         (main): Adjust all callers.
40281
40282         getopt: avoid clash with FreeBSD _getopt_internal
40283         * lib/getopt.in.h (_getopt_internal): Override the name.
40284         * lib/getopt_int.h (includes): Pick up any overrides.
40285         Reported by Reuben Thomas.
40286
40287         hash: allow C89 compilation
40288         * lib/hash.c (check_tuning): Move declaration before statement.
40289         Reported by Reuben Thomas.
40290
40291 2009-10-05  Karl Berry  <karl@gnu.org>
40292
40293         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
40294
40295 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
40296             Bruno Haible  <bruno@clisp.org>
40297
40298         * lib/uname.c (uname): Use a table-driven algorithm to compute
40299         Windows NT versions.
40300
40301 2009-10-04  Bruno Haible  <bruno@clisp.org>
40302
40303         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
40304         program_invocation_short_name.
40305         * modules/progname (configure.ac): Test for presence of
40306         program_invocation_short_name.
40307         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
40308
40309 2009-10-04  Bruno Haible  <bruno@clisp.org>
40310
40311         * lib/progname.c (set_program_name): Fix comment.
40312         Reported by Jim Meyering.
40313
40314 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40315             Bruno Haible  <bruno@clisp.org>
40316
40317         * lib/uname.c: Include <string.h>.
40318         (uname): Do only one call to GetVersionEx in the common case.
40319
40320 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
40321             Bruno Haible  <bruno@clisp.org>
40322
40323         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
40324         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
40325         (uname): Add support for Windows CE and various non-x86 CPU types.
40326
40327 2009-10-03  Bruno Haible  <bruno@clisp.org>
40328
40329         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
40330         invocation to tests/configure.ac.
40331         Reported by Ian Beckwith <ianb@erislabs.net>.
40332
40333 2009-10-02  Eric Blake  <ebb9@byu.net>
40334
40335         fchdir: avoid compiler warning
40336         * lib/fchdir.c (canonicalize_file_name)
40337         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
40338
40339         test-open: support mingw errno values
40340         * tests/test-open.h (test_open): Relax test.
40341         * tests/test-fopen.h (test_fopen): Likewise.
40342         * tests/test-openat-safer.c (main): Likewise.
40343
40344         open: fix opening directory on mingw
40345         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
40346
40347         test-open: on GNU/Hurd, /dev/null is a directory
40348         * tests/test-fopen.h (main): Rename...
40349         (test_fopen): ...to this.  Use a guaranteed non-directory when
40350         confirming open behavior on trailing slash.
40351         * tests/test-openat-safer.c (main): Likewise.
40352         * tests/test-open.h (main): Likewise....
40353         (test_open): ...to this.
40354         * tests/test-fopen.c (main): Adjust caller.
40355         * tests/test-fopen-safer.c (main): Likewise.
40356         * tests/test-open.c (main): Likewise.
40357         * tests/test-fcntl-safer.c (main): Likewise.
40358         Reported by Samuel Thibault.
40359
40360         rename, fchdir: don't ignore chdir failure
40361         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
40362         * lib/rename.c (rpl_rename) [W32]: Likewise.
40363         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
40364         an empty destination directory if source cannot be renamed,
40365         although there is still possibility for failure.
40366         * doc/posix-functions/rename.texi (rename): Document the race.
40367         Reported by Jim Meyering.
40368
40369         maint: cleanup whitespace in recent commits
40370         * lib/rename.c (rpl_rename): Remove tabs.
40371         * tests/test-link.h (test_link): Likewise.
40372         * lib/fchdir.c (get_name): Likewise.
40373         Reported by Jim Meyering.
40374
40375 2009-10-02  Ben Pfaff  <blp@gnu.org>
40376
40377         relocatable-prog-wrapper: Add missing dependency on
40378         double-slash-root.
40379         * modules/relocatable-prog-wrapper: Add dependency.
40380         Reported by Ian Beckwith <ianb@erislabs.net>.
40381
40382 2009-10-02  Eric Blake  <ebb9@byu.net>
40383
40384         renameat: fix Solaris bugs
40385         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
40386         needed fixing.
40387         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
40388         * modules/stdio (Makefile.am): Substitute it.
40389         * lib/stdio.in.h (renameat): Declare replacement.
40390         * lib/renameat.c (rpl_renameat): Implement fix.
40391
40392         renameat: new module
40393         * modules/renameat: New file.
40394         * lib/renameat.c (renameat): Likewise.
40395         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
40396         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40397         * modules/stdio (Makefile.am): Substitute them.
40398         * lib/stdio.in.h (renameat): Declare it.
40399         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40400         * doc/posix-functions/renameat.texi (renameat): Likewise.
40401         * modules/renameat-tests: New test.
40402         * tests/test-renameat.c: Likewise.
40403
40404         rename: fix mingw bugs
40405         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
40406         directory overwrite bugs.
40407
40408         rename: fix another cygwin 1.5 bug
40409         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
40410         checks.
40411         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
40412         unnecessary cygwin workarounds.  Also work around bug with moving
40413         full directory onto an empty one.
40414         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
40415
40416         rename-dest-slash: merge into rename module
40417         * modules/rename-dest-slash (Status): Mark obsolete.
40418         (Depends-on): Add rename.
40419         (Files): Let rename do it all.
40420         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
40421         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
40422         * m4/rename-dest-slash.m4: ...so this file can be deleted.
40423         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
40424         * lib/rename.c (rpl_rename): Update comments.
40425
40426         rename: fix cygwin 1.5.x bugs
40427         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
40428         * lib/rename.c (rpl_rename): Work around them.
40429         * modules/rename (Depends-on): Add same-inode.
40430
40431         rename: fix Solaris 10 bug
40432         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40433         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
40434         was the only bug.
40435
40436         rename: fix Solaris 9 bug
40437         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
40438         on non-directory.  Avoid calling exit.
40439         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
40440         strdup.
40441         * modules/rename-tests (Depends-on): Drop lstat.
40442         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
40443         (gl_PREREQ_RENAME): Delete unused macro.
40444
40445         rename-dest-slash: fix NetBSD bug
40446         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
40447         links.
40448         * modules/rename-dest-slash (Depends-on): Add same-inode.
40449
40450         rename-tests: new test, exposes several platform bugs
40451         * modules/rename-tests: New file.
40452         * tests/test-rename.h: Likewise.
40453         * tests/test-rename.c: Likewise.
40454         * doc/posix-functions/rename.texi (rename): Improve documentation,
40455         including bugs that will eventually be fixed in gnulib.
40456
40457 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
40458
40459         * lib/uname.c: Include <stdlib.h>
40460         (uname): Assume version info is available.
40461
40462 2009-10-02  Jim Meyering  <meyering@redhat.com>
40463
40464         gnu-web-doc-update: correct --help output
40465         * build-aux/gnu-web-doc-update: Make --help output relevant.
40466
40467         gnu-web-doc-update: add standard options
40468         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
40469
40470         gnu-web-doc-update: New module.
40471         Use this script to automatically update the on-line web documentation
40472         for your GNU project at http://www.gnu.org/software/$pkg/manual/
40473         * modules/gnu-web-doc-update: New file, from coreutils.
40474         * build-aux/gnu-web-doc-update: New script.
40475
40476 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
40477
40478         link: LoadLibrary is not needed.
40479         * lib/link.c: Use GetModuleHandle.
40480
40481 2009-10-01  Eric Blake  <ebb9@byu.net>
40482
40483         getopt: bump serial number
40484         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
40485         change.
40486
40487         tests: tighten link, rmdir, and remove tests
40488         * tests/test-link.h (includes): No need to use <config.h> here.
40489         Clean up if directory hard link was created, otherwise test for
40490         trailing '.'.
40491         * tests/test-linkat.c (main): Simplify.
40492         * tests/test-remove.c (main): Enhance test for trailing '.'.
40493         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40494
40495 2009-10-01  Jim Meyering  <meyering@redhat.com>
40496
40497         maint.mk: requiring "make major" was annoying, for a "minor" release.
40498         What is intended is "stable", to contrast with alpha and beta,
40499         so require "make stable", not "make major".
40500         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
40501         (get_tool_versions): Likewise.
40502         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
40503
40504 2009-09-30  Ben Pfaff  <blp@gnu.org>
40505
40506         Fix broken build of replacement for Windows tmpfile().
40507         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
40508         flags argument added along with the 'mkostemp' module.
40509
40510 2009-09-28  Bruno Haible  <bruno@clisp.org>
40511
40512         Avoid identifier clash with POSIX function 'remove' defined as a macro.
40513         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
40514         to 'remove_elt'.
40515         (gl_list_remove): Update.
40516         * lib/gl_list.c (gl_list_remove): Update.
40517         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
40518         to 'remove_elt'.
40519         (gl_oset_remove): Update.
40520         * lib/gl_list.c (gl_oset_remove): Update.
40521         Reported by Eric Blake.
40522
40523 2009-09-28  Eric Blake  <ebb9@byu.net>
40524
40525         doc: mention yet more cygwin 1.7 status
40526         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
40527         cygwin.
40528         * doc/glibc-functions/execvpe.texi (execvpe): New file.
40529         * doc/gnulib.texi (Glibc unistd.h): Mention it.
40530
40531         argp: fix test failure
40532         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
40533         that are not upper-case.  Pass correct range to tolower.
40534
40535 2009-09-27  Jim Meyering  <meyering@redhat.com>
40536
40537         test-yesno: work around sparc-dash here-document infelicity
40538         Without this change, the literal \177 byte in a here document
40539         would make dash 0.5.5.1-3 access uninitialized memory.
40540         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
40541         Instead, use a marker, "@", and filter through tr to create the desired
40542         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
40543
40544 2009-09-27  Bruno Haible  <bruno@clisp.org>
40545
40546         Disable untested support for new flavours of ACLs on AIX.
40547         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
40548         progress.
40549         * lib/set-mode-acl.c (qset_acl): Likewise.
40550
40551 2008-12-07  Bruno Haible  <bruno@clisp.org>
40552
40553         Add support for new flavours of ACLs on AIX. (Untested.)
40554         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
40555         (file_has_acl): Add support for newer AIX.
40556         * lib/set-mode-acl.c (qset_acl): Likewise.
40557         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
40558         Rainer Tammer <tammer@tammer.net>.
40559
40560 2009-09-26  Eric Blake  <ebb9@byu.net>
40561
40562         argp: fix compilation of getopt
40563         * lib/getopt.in.h (includes): Use different guard than glibc.
40564         Reported by Sergey Poznyakoff.
40565
40566         doc: mention more cygwin 1.7 status
40567         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
40568         bug.
40569         * doc/posix-functions/execl.texi (execl): Likewise.
40570         * doc/posix-functions/execle.texi (execle): Likewise.
40571         * doc/posix-functions/execlp.texi (execlp): Likewise.
40572         * doc/posix-functions/execv.texi (execv): Likewise.
40573         * doc/posix-functions/execve.texi (execve): Likewise.
40574         * doc/posix-functions/execvp.texi (execvp): Likewise.
40575         * doc/glibc-functions/canonicalize_file_name.texi
40576         (canonicalize_file_name): Cygwin 1.7 now provides this.
40577         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
40578         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
40579         on AT_SYMLINK_NOFOLLOW.
40580
40581 2009-09-24  Eric Blake  <ebb9@byu.net>
40582
40583         test-linkat: make test more robust
40584         * tests/test-linkat.c (main): Avoid collision with EEXIST.
40585
40586         getopt: fix inclusion guards for cygwin
40587         * modules/getopt-posix (Depends-on): Add include-next.
40588         (Makefile.am): Substitute more items in replacement header.
40589         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
40590         <getopt.h>.
40591         * lib/getopt.in.h (includes): Use split inclusion guard, and
40592         prefer <getopt.h> over include <unistd.h> when one is present.
40593         (option): Also override name of 'struct option'.
40594
40595         same-inode: revert prior change; it is not yet ready
40596         * NEWS: Undo mention of this change.
40597         * lib/same-inode.h (same-inode.h): Undo tri-state change.
40598         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40599         * lib/cycle-check.c (cycle_check): Likewise.
40600         * lib/same.c (same_name): Likewise.
40601         * lib/at-func2.c (at_func2): Likewise.
40602
40603 2009-09-23  Eric Blake  <ebb9@byu.net>
40604
40605         linkat: new module
40606         * modules/linkat: New file.
40607         * lib/at-func2.c (at_func2): Likewise.
40608         * lib/linkat.c (linkat): Likewise.
40609         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
40610         * lib/openat-priv.h (at_func2): Add declaration.
40611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40612         * modules/unistd (Makefile.am): Substitute them.
40613         * lib/unistd.in.h (linkat): Declare it.
40614         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40615         * doc/posix-functions/linkat.texi (linkat): Likewise.
40616         * doc/posix-functions/link.texi (link): Tweak wording.
40617         * tests/test-link.c (main): Move guts...
40618         * tests/test-link.h (test_link): ...into new file.
40619         * modules/linkat-tests: New test.
40620         * tests/test-linkat.c: Likewise.
40621         * modules/link-tests (Files): Ship new file.
40622         (Depends-on): Add stdbool.
40623
40624         dirname: add library-safe mdir_name
40625         * lib/dirname.h (mdir_name): New prototype.
40626         * lib/dirname.c (dir_name): Move guts...
40627         (mdir_name): ...to new function that avoids xalloc_die.
40628
40629         fchdir: another mingw fix
40630         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
40631         * lib/fchdir.c (get_name): New helper method; skips canonicalize
40632         on mingw (where it has not yet been ported), and make it optional
40633         elsewhere.
40634         (_gl_register_fd): Use it.
40635
40636         same-inode: make SAME_INODE tri-state, to port to mingw
40637         * NEWS: Mention this change.
40638         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
40639         st_ino always being 0.
40640         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
40641         * lib/cycle-check.c (cycle_check): Likewise.
40642         * lib/same.c (same_name): Likewise.
40643
40644         lstat: avoid mingw compilation error
40645         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
40646         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
40647         lstat ourselves.
40648         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
40649         was adequate.
40650         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
40651         the checks for lstat.
40652         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
40653
40654         link: fix test failure on Solaris 9
40655         * lib/link.c (rpl_link): Don't assume link will catch bogus
40656         trailing slash on source.
40657
40658         test-symlinkat: enhance test
40659         * tests/test-readlink.c (main): Move guts...
40660         * tests/test-readlink.h (test_readlink): ...into new file.
40661         * tests/test-symlink.c (main): Move guts...
40662         * tests/test-symlink.h (test_symlink): ...into new file.
40663         * tests/test-symlinkat.c (main): Use new files for further
40664         coverage.
40665         (do_symlink, do_readlink): New helper functions.
40666         * modules/symlink-tests (Files): Ship new file.
40667         (Depends-on): Add stdbool.
40668         * modules/readlink-tests (Files): Ship new file.
40669         (Depends-on): Add stdbool.
40670         * modules/symlinkat-tests (Files): Use new files.
40671
40672 2009-09-23  Eric Blake  <ebb9@byu.net>
40673
40674         readlink: document portability issue with symlink length
40675         * doc/posix-functions/lstat.texi (lstat): Mention that some file
40676         systems have bogus st_size on symlinks, and mention the
40677         areadlink-with-size module.
40678         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40679         * doc/posix-functions/readlink.texi (readlink): Mention the
40680         areadlink module, and ERANGE failure.
40681         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40682         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
40683
40684         readlink: fix Solaris 9 bug with trailing slash
40685         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
40686         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
40687         * doc/posix-functions/readlink.texi (readlink): Document this.
40688         * modules/readlink-tests: New test.
40689         * tests/test-readlink.c: Likewise.
40690
40691         readlink: fix cygwin 1.5.x bug with return type
40692         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
40693         * lib/unistd.in.h (readlink): Use ssize_t.
40694         * lib/readlink.c (readlink): Likewise.
40695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40696         * modules/unistd (Makefile.am): Substitute it.
40697         * lib/unistd.in.h (readlink): Declare replacement.
40698         * doc/posix-functions/readlink.texi (readlink): Document this.
40699
40700         symlink: use throughout gnulib
40701         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
40702         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
40703         symlink is not used.
40704         * modules/symlinkat (Depends-on): Add symlink.
40705         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
40706         * modules/canonicalize-tests (Depends-on): Likewise.
40707         * modules/lstat-tests (Depends-on): Likewise.
40708         * modules/openat-tests (Depends-on): Likewise.
40709         * modules/remove-tests (Depends-on): Likewise.
40710         * modules/rmdir-tests (Depends-on): Likewise.
40711         * modules/unlink-tests (Depends-on): Likewise.
40712         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
40713         * tests/test-canonicalize.c (symlink): Likewise.
40714         * tests/test-fstatat.c (symlink): Likewise.
40715         * tests/test-lstat.c (symlink): Likewise.
40716         * tests/test-remove.c (symlink): Likewise.
40717         * tests/test-rmdir.c (symlink): Likewise.
40718         * tests/test-unlink.c (symlink): Likewise.
40719         * tests/test-unlinkat.c (symlink): Likewise.
40720
40721         symlink: new module, for Solaris 9 bug
40722         * modules/symlink: New file.
40723         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
40724         * lib/symlink.c: Likewise.
40725         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40726         * modules/unistd (Makefile.am): Substitute them.
40727         * lib/unistd.in.h (symlink): Declare replacement.
40728         * MODULES.html.sh (File system functions): Mention it.
40729         * doc/posix-functions/symlink.texi (symlink): Likewise.
40730         * modules/symlink-tests: New test.
40731         * tests/test-symlink.c: Likewise.
40732
40733 2009-09-23  Bruno Haible  <bruno@clisp.org>
40734
40735         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
40736         when needed.
40737         Test case: gnulib-tool --import --with-tests atexit inttypes.
40738         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
40739
40740 2009-09-23  Bruno Haible  <bruno@clisp.org>
40741
40742         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
40743         subcommand, not in a subshell.
40744
40745 2009-09-22  Eric Blake  <ebb9@byu.net>
40746
40747         unistd: sort replacement declarations
40748         * lib/unistd.in.h: Sort declarations.
40749
40750         open, openat: minor optimization
40751         * lib/open.c (open): If open succeeded, len is non-zero.
40752         * lib/openat.c (rpl_openat): Likewise.
40753
40754         link-follow: ensure correct result
40755         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
40756         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
40757         distinguish between possible failures.
40758
40759 2009-09-21  Eric Blake  <ebb9@byu.net>
40760
40761         fts: avoid compiler warning
40762         * lib/fts.c (dirent_inode_sort_may_be_useful)
40763         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
40764
40765 2009-09-19  Bruno Haible  <bruno@clisp.org>
40766
40767         * lib/progreloc.c (canonicalize_file_name): New declaration.
40768
40769 2009-09-19  Eric Blake  <ebb9@byu.net>
40770
40771         link: fix quoting
40772         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
40773
40774         openat: fix openat bugs on Solaris 9
40775         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
40776         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
40777         * modules/openat (Depends-on): Add open.
40778         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
40779         * modules/fcntl-h (Makefile.am): Substitute it.
40780         * lib/fcntl.in.h (openat): Declare replacement.
40781         * doc/posix-functions/openat.texi (openat): Document this.
40782
40783         openat: move fstatat and unlinkat into correct files
40784         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
40785         compiled.
40786         * lib/openat.c (fstatat, unlinkat): Move...
40787         * lib/fstatat.c (fstatat): ...into correct files.
40788         * lib/unlinkat.c (unlinkat): Likewise.
40789
40790         openat: fix unlinkat bugs on Solaris 9
40791         * lib/unlinkat.c (unlinkat): New file.
40792         * modules/openat (Depends-on): Add unlink.
40793         (Files): Distribute it.
40794         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
40795         trailing slash behavior is broken.
40796         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40797         * modules/unistd (Makefile.am): Substitute it.
40798         * lib/unistd.in.h (unlinkat): Declare replacement.
40799         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
40800
40801         openat: fix fstatat bugs on Solaris 9
40802         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
40803         stat.
40804         * doc/posix-functions/fstatat.texi (fstatat): Document this.
40805
40806         test-unlinkat: enhance test, to expose Solaris 9 bug
40807         * tests/test-unlink.c (main): Factor guts...
40808         * tests/test-unlink.h (test_rmdir_func): ...into new file.
40809         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
40810         * tests/test-rmdir.c (main): Adjust caller.
40811         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
40812         (unlinker): New helper function.
40813         (rmdirat): Enhance check.
40814         * modules/rmdir-tests (Depends-on): Add stdbool.
40815         * modules/unlink-tests (Depends-on): Likewise.
40816         (Files): Add test-unlink.h.
40817         * modules/openat-tests (Files): Likewise.
40818         (Depends-on): Add unlinkdir.
40819
40820         test-fstatat: new test, to expose Solaris 9 bugs
40821         * tests/test-stat.c (main): Factor guts...
40822         * tests/test-stat.h (test_stat_func): ...into new file.
40823         * tests/test-lstat.c (main): Factor guts...
40824         * tests/test-lstat.h (test_lstat_func): ...into new file.
40825         * tests/test-fstatat.c: New file.
40826         * modules/stat-tests (Files): Add test-stat.h.
40827         * modules/lstat-tests (Files): Add test-lstat.h.
40828         (Depends-on): Add stdbool.
40829         * modules/openat-tests (Depends-on): Add pathmax.
40830         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
40831         (Makefile.am): Run new test.
40832
40833         remove: new module, for mingw and Solaris 9 bugs
40834         * modules/remove: New file.
40835         * lib/remove.c: Likewise.
40836         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
40837         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
40838         * modules/stdio (Makefile.am): Use them.
40839         * lib/stdio.in.h (remove): Declare replacement.
40840         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40841         * doc/posix-functions/remove.texi (remove): Likewise.
40842         * modules/remove-tests: New test.
40843         * tests/test-remove.c: Likewise.
40844
40845         unlink: new module, for Solaris 9 bug
40846         * modules/unlink: New file.
40847         * lib/unlink.c: Likewise.
40848         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
40849         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40850         * modules/unistd (Makefile.am): Use them.
40851         * lib/unistd.in.h (stat): Declare replacement.
40852         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40853         * doc/posix-functions/unlink.texi (unlink): Likewise.
40854         * modules/unlink-tests: New test.
40855         * tests/test-unlink.c: Likewise.
40856
40857         lstat: fix Solaris 9 bug
40858         * lib/lstat.c (lstat): Also check for trailing slash on
40859         non-symlink, non-directories.  Use stat module to simplify logic.
40860         * doc/posix-functions/lstat.texi (lstat): Document it.
40861         * modules/lstat-tests (Depends-on): Add errno, same-inode.
40862         (configure.ac): Check for symlink.
40863         * tests/test-lstat.c (main): Add more tests.
40864
40865         stat: add as dependency to other modules
40866         * modules/chown (Depends-on): Add stat.
40867         * modules/euidaccess (Depends-on): Likewise.
40868         * modules/fchdir (Depends-on): Likewise.
40869         * modules/isdir (Depends-on): Likewise.
40870         * modules/link (Depends-on): Likewise.
40871         * modules/lstat (Depends-on): Likewise.
40872         * modules/mkdir-p (Depends-on): Likewise.
40873         * modules/modechange (Depends-on): Likewise.
40874         * modules/open (Depends-on): Likewise.
40875         * modules/readlink (Depends-on): Likewise.
40876         * modules/same (Depends-on): Likewise.
40877
40878         stat: fix Solaris 9 bug
40879         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
40880         slash.
40881         * lib/stat.c (rpl_stat): Work around it.
40882         * doc/posix-functions/stat.texi (stat): Update documentation.
40883
40884         stat: new module, for mingw bug
40885         * modules/stat: New file.
40886         * lib/stat.c: Likewise.
40887         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
40888         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40889         * modules/sys_stat (Makefile.am): Use them.
40890         * lib/sys_stat.in.h (stat): Declare replacement.
40891         * lib/openat.c (fstatat): Deal with lstat and stat being function
40892         macros.
40893         * modules/openat (Depends-on): Add inline.
40894         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40895         * doc/posix-functions/stat.texi (stat): Likewise.
40896         * modules/stat-tests: New test.
40897         * tests/test-stat.c: Likewise.
40898
40899 2009-09-19  Jim Meyering  <meyering@redhat.com>
40900
40901         syntax-check: detect unnecessary inclusion of canonicalize.h
40902         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
40903
40904 2009-09-19  Eric Blake  <ebb9@byu.net>
40905
40906         canonicalize-lgpl: adjust clients to use correct header
40907         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40908         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
40909         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
40910         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
40911         * lib/progreloc.c (includes): Likewise.
40912
40913 2009-09-19  Jim Meyering  <meyering@redhat.com>
40914
40915         test-posixtm.c: correct a comment
40916         * tests/test-posixtm.c: Correct first-line comment.
40917         Spotted by Eric Blake.
40918
40919 2009-09-16  Jim Meyering  <meyering@redhat.com>
40920
40921         posixtm-tests: make T const-correct; add a test case
40922         * tests/test-posixtm.c (T): Declare const.
40923         Add a test for -(2^31+1).
40924         Remove useless can-succeed-only-in-2002 test.
40925
40926         posixtm-tests: adjust the sole failing test
40927         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
40928         expected output matches what mktime now produces.  Cross-checked via
40929         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
40930
40931         posixtm: move #ifdef'd tests into a new module
40932         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
40933         * tests/test-posixtm.c: ... this new file.
40934         * modules/posixtm-tests: New module.
40935
40936 2009-09-19  Eric Blake  <ebb9@byu.net>
40937
40938         openat: simplify use of at-func.c
40939         * lib/at-func.c (includes): Include prerequisites here, to
40940         simplify requirements on client files.
40941         * lib/openat-priv.h: Add double-inclusion guard.
40942         * lib/faccessat.c (includes): Simplify.
40943         * lib/fchmodat.c (includes): Likewise.
40944         * lib/fchownat.c (includes): Likewise.
40945         * lib/mkdirat.c (includes): Likewise.
40946         * lib/mkfifoat.c (includes): Likewise.
40947         * lib/symlinkat.c (includes): Likewise.
40948
40949         openat: allow return of fd 0
40950         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
40951         * modules/save-cwd (Depends-on): Replace fcntl-safer with
40952         unistd-safer.
40953         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
40954         <fcntl.h>; this module does not leak fds.
40955         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
40956         must be allowed to return 0, leaving openat_safer to add the
40957         safety.
40958         (openat_permissive): Avoid writing to just-opened fd 2 if
40959         restoring the current directory fails.
40960         * lib/openat-die.c (openat_restore_fail): Add comment.
40961         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
40962         (save_cwd): Guarantee safe fd, but without use of open_safer.
40963         * tests/test-openat.c: New test.
40964         * modules/openat-tests (Files, Makefile.am): Distribute and build
40965         new file.
40966
40967         relocatable-prog-wrapper: fix build
40968         * modules/relocatable-prog-wrapper (Files): Update name of
40969         canonicalize m4 file, broken on 2009-09-17.
40970         Reported by emad hajjar <aleppos@hotmail.com>.
40971
40972 2009-09-19  Bruno Haible  <bruno@clisp.org>
40973
40974         * lib/safe-alloc.h: Use the standard header with GPL copyright.
40975         * lib/safe-alloc.c: Likewise.
40976         Reported by Ian Beckwith <ianb@erislabs.net>.
40977
40978 2009-09-18  Bruno Haible  <bruno@clisp.org>
40979
40980         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
40981         Reported by <erobles@sensacd.com.mx>.
40982
40983 2009-09-17  Eric Blake  <ebb9@byu.net>
40984
40985         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
40986         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
40987         slashes when checking if last component is missing.
40988         * tests/test-canonicalize.c (main): Test this.
40989
40990         canonicalize, canonicalize-lgpl: honor // if distinct from /
40991         * modules/canonicalize (Files): Add double-slash-root.m4.
40992         * modules/canonicalize-lgpl (Files): Likewise.
40993         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
40994         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
40995         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
40996         fallback definition.
40997         (canonicalize_filename_mode): Use it to protect //.
40998         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
40999         (__realpath): Likewise.
41000         * tests/test-canonicalize.c (main): Test this.
41001         * tests/test-canonicalize-lgpl.c (main): Likewise.
41002         * modules/canonicalize-tests (Depends-on): Add same-inode.
41003         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41004
41005         canonicalize-lgpl: fix glibc bug with trailing slash
41006         * m4/canonicalize-lgpl.m4: Move contents...
41007         * m4/canonicalize.m4: ...here.
41008         (gl_CANONICALIZE_LGPL): Factor realpath check...
41009         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
41010         glibc 2.3.5 bug, fixed 2005-04-27.
41011         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
41012         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
41013         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
41014         * modules/canonicalize-lgpl (Files): Manage file rename.
41015         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41016         * modules/stdlib (Makefile.am): Substitute witness.
41017         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
41018         is needed.
41019         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
41020         replacement is required.
41021         * lib/canonicalize.c (canonicalize_file_name): Likewise.
41022         * doc/glibc-functions/canonicalize_file_name.texi
41023         (canonicalize_file_name): Document this.
41024         * doc/posix-functions/realpath.texi (realpath): Likewise.
41025
41026         canonicalize-lgpl: reject non-directory with trailing slash
41027         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
41028         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
41029         catches failures in glibc 2.3.5.
41030         * tests/test-canonicalize.c (main): Likewise.
41031
41032         canonicalize-lgpl: use native realpath if it works
41033         * lib/canonicalize-lgpl.c (realpath): Guard with
41034         FUNC_REALPATH_WORKS.
41035         * lib/stdlib.in.h (realpath): Make declaration optional based on
41036         HAVE_REALPATH.
41037         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
41038         native realpath works.
41039         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41040         * modules/stdlib (Makefile.am): Substitute witness.
41041
41042         canonicalize, canonicalize-lgpl: use <stdlib.h>
41043         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
41044         (Include): Mention <stdlib.h>.
41045         (configure.ac): Mention functions we provide.
41046         * modules/canonicalize (configure.ac): Likewise.
41047         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
41048         realpath if canonicalize_file_name is missing.
41049         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
41050         * modules/stdlib (Makefile.am): Substitute witnesses.
41051         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
41052         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
41053         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
41054         * NEWS: Document this.
41055         * doc/glibc-functions/canonicalize_file_name.texi
41056         (canonicalize_file_name): Likewise.
41057         * doc/posix-functions/realpath.texi (realpath): Likewise.
41058         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
41059
41060         test-canonicalize: consolidate into single C program
41061         * tests/test-canonicalize.sh: Delete; move setup into...
41062         * tests/test-canonicalize.c (main): ...the program, making it
41063         easier to run in debugger.  Add some tests.
41064         * modules/canonicalize-tests (Files): Remove unused file.
41065         (Depends-on): Add progname.
41066         (configure.ac, Makefile.am): Simplify.
41067
41068         test-canonicalize-lgpl: consolidate into single C program
41069         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
41070         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
41071         easier to run in debugger.  Add some tests.
41072         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
41073         (configure.ac, Makefile.am): Simplify.
41074
41075         canonicalize: avoid resolvepath
41076         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
41077         unnecessary checks.
41078         * lib/canonicalize.c (includes): Simplify.
41079         (canonicalize_file_name): Drop resolvepath implementation.
41080         * modules/canonicalize (Depends-on): Drop filenamecat.
41081
41082         canonicalize: don't lose errno
41083         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
41084         over calls to free.
41085
41086         canonicalize: simplify errno handling
41087         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
41088         assignment.
41089
41090         canonicalize, canonicalize-lgpl: update module dependencies
41091         * modules/canonicalize (Depends-on): Add extensions, lstat,
41092         pathmax, stdlib.
41093         (Files): Drop pathmax.h.
41094         (configure.ac): Adjust macro name.
41095         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
41096         lstat, stdlib, sys_stat.
41097         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
41098         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
41099         extensions.
41100         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
41101         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
41102         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
41103         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
41104         declaration, if available.
41105         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
41106         we can rely on the readlink module.
41107         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
41108         (includes): Use <unistd.h> unconditionally.
41109
41110 2009-09-17  Eric Blake  <ebb9@byu.net>
41111
41112         maint: make Include sections of modules consistent
41113         * modules/alloca: Use only header name; no need to list #include.
41114         * modules/alloca-opt: Likewise.
41115         * modules/arpa_inet: Likewise.
41116         * modules/canon-host: Likewise.
41117         * modules/configmake: Likewise.
41118         * modules/dirent: Likewise.
41119         * modules/eealloc: Likewise.
41120         * modules/environ: Likewise.
41121         * modules/fchdir: Likewise.
41122         * modules/fcntl: Likewise.
41123         * modules/fcntl-h: Likewise.
41124         * modules/gethrxtime: Likewise.
41125         * modules/gettime: Likewise.
41126         * modules/ignore-value: Likewise.
41127         * modules/inet_ntop: Likewise.
41128         * modules/inet_pton: Likewise.
41129         * modules/inttypes: Likewise.
41130         * modules/isnand-nolibm: Likewise.
41131         * modules/isnanf-nolibm: Likewise.
41132         * modules/mbchar: Likewise.
41133         * modules/mbfile: Likewise.
41134         * modules/mbiter: Likewise.
41135         * modules/mbuiter: Likewise.
41136         * modules/netdb: Likewise.
41137         * modules/netinet_in: Likewise.
41138         * modules/nproc: Likewise.
41139         * modules/pagealign_alloc: Likewise.
41140         * modules/poll: Likewise.
41141         * modules/printf-frexp: Likewise.
41142         * modules/pthread: Likewise.
41143         * modules/putenv: Likewise.
41144         * modules/random_r: Likewise.
41145         * modules/relocatable-prog: Likewise.
41146         * modules/search: Likewise.
41147         * modules/select: Likewise.
41148         * modules/selinux-h: Likewise.
41149         * modules/settime: Likewise.
41150         * modules/signal: Likewise.
41151         * modules/size_max: Likewise.
41152         * modules/socklen: Likewise.
41153         * modules/ssize_t: Likewise.
41154         * modules/stdarg: Likewise.
41155         * modules/stdbool: Likewise.
41156         * modules/stddef: Likewise.
41157         * modules/stdint: Likewise.
41158         * modules/stdio: Likewise.
41159         * modules/stdlib: Likewise.
41160         * modules/string: Likewise.
41161         * modules/strings: Likewise.
41162         * modules/sys_file: Likewise.
41163         * modules/sys_ioctl: Likewise.
41164         * modules/sys_select: Likewise.
41165         * modules/sys_socket: Likewise.
41166         * modules/sys_stat: Likewise.
41167         * modules/sys_time: Likewise.
41168         * modules/sys_times: Likewise.
41169         * modules/sys_utsname: Likewise.
41170         * modules/sys_wait: Likewise.
41171         * modules/sysexits: Likewise.
41172         * modules/time: Likewise.
41173         * modules/times: Likewise.
41174         * modules/tmpfile: Likewise.
41175         * modules/trim: Likewise.
41176         * modules/unistd: Likewise.
41177         * modules/wchar: Likewise.
41178         * modules/wctype: Likewise.
41179
41180 2009-09-17  Bruno Haible  <bruno@clisp.org>
41181
41182         Make getdate.y compile on QNX and NetBSD 5 / i386.
41183         * m4/getdate.m4 (gl_GETDATE): Conditionally define
41184         TIME_T_FITS_IN_LONG_INT.
41185         * lib/getdate.y (long_time_t): New type.
41186         (relative_time): Change type of 'seconds' field to long_time_t.
41187         (get_date): Update types of local variables. Check against overflow
41188         during conversion from long_time_t to time_t.
41189         Reported by Matt Kraai <kraai@ftbfs.org>
41190         and Hasso Tepper <hasso@netbsd.org>.
41191
41192 2009-09-17  Bruno Haible  <bruno@clisp.org>
41193
41194         * modules/COPYING: Update copyright years.
41195         * modules/README: Likeiwse.
41196         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
41197         Reported by Ian Beckwith <ianb@erislabs.net>.
41198
41199 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41200
41201         * users.txt: Update references for gnuit package.
41202
41203 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
41204
41205         * m4/getdelim.m4: Fix typo in copyright line.
41206
41207 2009-09-17  Bruno Haible  <bruno@clisp.org>
41208
41209         * lib/atoll.c: Use the standard header with GPL copyright.
41210         * lib/argz.in.h: Likewise.
41211         * lib/glob.c: Likewise.
41212         * lib/glob-libc.h: Likewise.
41213         * lib/random_r.c: Likewise.
41214         * lib/siglist.h: Likewise.
41215         * lib/strsignal.c: Likewise.
41216         Reported by Ian Beckwith <ianb@erislabs.net>.
41217
41218 2009-09-17  Eric Blake  <ebb9@byu.net>
41219
41220         rmdir: ensure correct dependency order
41221         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
41222
41223 2009-09-17  Bruno Haible  <bruno@clisp.org>
41224
41225         Disable assertion that fails on NetBSD 5 / i386.
41226         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
41227         Reported by Sam Steingold <sds@gnu.org>
41228         and Hasso Tepper <hasso@netbsd.org>.
41229
41230 2009-09-16  Eric Blake  <ebb9@byu.net>
41231
41232         unlinkdir: port to mingw
41233         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
41234         on which no one can unlink a directory.
41235
41236         stdlib: sort witness names
41237         * modules/stdlib (Makefile.am): Sort replacements.
41238         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
41239         * lib/stdlib.in.h: Likewise.
41240
41241         parse-duration-tests: avoid link failure
41242         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
41243         LIBINTL.
41244         Reported by Tom G. Christensen.
41245
41246         openat-tests: ensure unlinkat behaves like rmdir
41247         * tests/test-rmdir.c (main): Factor guts...
41248         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
41249         * modules/rmdir-tests (Files): Ship new file.
41250         * modules/openat-tests: New test.
41251         * tests/test-unlinkat.c: Likewise.
41252
41253         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
41254         * modules/rmdir-errno (Status, Notice): Now obsolete.
41255
41256         rmdir: work around cygwin 1.5.x and mingw bugs
41257         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
41258         * lib/rmdir.c (rmdir): Work around it.
41259         * modules/rmdir (Status, Notice): No longer obsolete.
41260         (Files): Add dos.m4.
41261         (Depends-on): Add unistd.
41262         (configure.ac): Set witnesses.
41263         (License): Relax to LGPLv2+.
41264         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
41265         * modules/unistd (Makefile.am): Substitute witnesses.
41266         * lib/unistd.in.h (rmdir): Declare replacement.
41267         * doc/posix-functions/rmdir.texi (rmdir): Document this.
41268         * modules/rmdir-tests: New tests.
41269         * tests/test-rmdir.c: Likewise.
41270
41271 2009-09-15  Eric Blake  <ebb9@byu.net>
41272
41273         fchdir: improve use of replacement functions
41274         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
41275         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
41276         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
41277         REPLACE_CLOSEDIR.
41278         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
41279         * modules/sys_stat (Makefile.am): Substitute correct witness.
41280         * modules/dirent (Makefile.am): Likewise.
41281         * modules/unistd (Makefile.am): Likewise.
41282         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
41283         * lib/unistd.in.h (dup): Likewise.
41284         * lib/sys_stat.in.h (fstat): Likewise.
41285
41286         maint: ignore gnulib-tool temp files
41287         * .gitignore: Ignore files created during gnulib-tool --test.
41288
41289 2009-09-13  Jim Meyering  <meyering@redhat.com>
41290
41291         posixtm: don't reject a time that specify "60" as the number of seconds
41292         * lib/posixtm.c (posixtime): The code to reject invalid dates
41293         would also reject a time specified with the .60 suffix.
41294         But POSIX allows that, in order to accommodate leap seconds.
41295         So don't reject it.
41296         (main): Adjust tests accordingly.
41297         * modules/posixtm (Depends-on): Add stpcpy.
41298
41299 2009-09-11  Jim Meyering  <meyering@redhat.com>
41300
41301         announce-gen: include [$release_type] in emitted Subject:
41302         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
41303         e.g., [stable] in the emitted Subject: line.
41304
41305 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41306
41307         Remove obsolete macros from several modules.
41308         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
41309         obsolete Autoconf macros with their modern counterparts.
41310         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
41311         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
41312         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
41313         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
41314         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
41315         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41316         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41317         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41318         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
41319         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
41320         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41321         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41322         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
41323         * m4/sockets.m4 (gl_SOCKETS): Likewise.
41324         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
41325         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
41326         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
41327         * m4/time_r.m4 (gl_TIME_R): Likewise.
41328         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
41329         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
41330         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41331
41332         Fix copyright header in build-aux scripts.
41333         * build-aux/git-version-gen: Fix copyright header to match GPLv3
41334         recommendation.
41335         * build-aux/ncftpput-ftp: Likewise.
41336         * build-aux/update-copyright: Likewise.
41337
41338 2009-09-09  Eric Blake  <ebb9@byu.net>
41339
41340         test-link: allow Linux choice of errno
41341         * tests/test-link.c (main): Relax test for alternate error.
41342
41343         strndup: fix improper m4 caching
41344         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
41345         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
41346         (gl_PREREQ_STRNDUP): Delete.
41347         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
41348         * modules/string (Makefile.am): Substitute it.
41349         * lib/string.in.h (strndup): Modernize prototype.
41350
41351         getcwd: port to mingw
41352         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
41353         different from the POSIX assumptions made throughout the getcwd
41354         module; fortunately, the mingw getcwd does not need replacement.
41355         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
41356         * modules/getcwd-tests: New test.
41357         * tests/test-getcwd.c: Likewise.
41358
41359         link: fix platform bugs
41360         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
41361         * lib/link.c (link): Work around them.  Fix related mingw bug.
41362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
41363         * modules/unistd (Makefile.am): Substitute it.
41364         * lib/unistd.in.h (link): Declare replacement.
41365         * doc/posix-functions/link.texi (link): Document this.
41366         * modules/link (Depends-on): Add strdup-posix, sys_stat.
41367
41368         test-link: consolidate into single C program, test more cases
41369         * tests/test-link.sh: Delete.
41370         * tests/test-link.c: Test more error conditions.  Exposes bugs on
41371         at least Cygwin and Solaris.
41372         * modules/link-tests (Files): Remove unused file.
41373         (Depends-on): Add errno, sys_stat.
41374         (Makefile.am): Simplify.
41375
41376 2009-09-08  Bruno Haible  <bruno@clisp.org>
41377
41378         Work around towlower, towupper bug on mingw.
41379         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
41380         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
41381         * doc/posix-functions/towlower.texi: Mention the mingw bug.
41382         * doc/posix-functions/towupper.texi: Likewise.
41383         Reported by Eric Blake.
41384
41385 2009-09-08  Jim Meyering  <meyering@redhat.com>
41386
41387         build: don't try to run autoheader if we don't use it
41388         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
41389         is not used in configure.ac.
41390
41391 2009-09-08  Eric Blake  <ebb9@byu.net>
41392
41393         euidaccess: fix compilation error
41394         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
41395
41396         rawmemchr: relax license
41397         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
41398         okay.
41399         Reported by Jim Meyering.
41400
41401         mkfifoat: new module
41402         * modules/mkfifoat: New file.
41403         * lib/mkfifoat.c: Likewise.
41404         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
41405         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41406         * modules/sys_stat (Makefile.am): Use them.
41407         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
41408         * MODULES.html.sh (File system functions): Mention module.
41409         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41410         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41411         * modules/mkfifoat-tests: New test.
41412         * tests/test-mkfifoat.c: Likewise.
41413
41414         strchrnul: relax license
41415         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
41416         okay.
41417         Reported by Jim Meyering.
41418
41419 2009-09-08  Eric Blake  <ebb9@byu.net>
41420
41421         fstatat: fix compilation on Solaris
41422         * lib/fstatat.c (includes): Add fcntl.h.
41423         Reported by Pádraig Brady.
41424
41425 2009-09-07  Eric Blake  <ebb9@byu.net>
41426
41427         rename: modernize replacement
41428         * modules/rename (Depends-on): Add stdio.
41429         (configure.ac): Declare witness.
41430         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
41431         stdio take care of replacement.
41432         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
41433         * modules/stdio (Makefile.am): Substitute them.
41434         * lib/stdio.in.h (rename): Declare replacement.
41435         * lib/rename.c (includes): Allow cross-compilation to non-windows
41436         machines.
41437         * doc/posix-functions/rename.texi (rename): Improve
41438         documentation.
41439
41440         stdio: sort witness names
41441         * modules/stdio (Makefile.am): Sort replacements.
41442         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41443         * lib/stdio.in.h: Likewise.
41444
41445         getcwd: minor cleanups
41446         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
41447         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
41448
41449         openat: provide more convenience names
41450         * modules/faccessat (configure.ac): Add C witness.
41451         * lib/unistd.in.h (readlinkat): Fix typo.
41452         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
41453         convenience wrappers.
41454         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
41455         wrappers in syntax checks.
41456
41457 2009-09-06  Eric Blake  <ebb9@byu.net>
41458
41459         doc: fix comments in recent patches
41460         * lib/faccessat.c: Mention correct function.
41461         * lib/fchmodat.c: Likewise.
41462         * lib/fchownat.c: Likewise.
41463         * lib/symlinkat.c: Likewise.
41464         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
41465         constants.
41466
41467         faccessat, symlinkat: continue cleanup of previous patch
41468         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
41469         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41470         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
41471         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
41472         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
41473         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
41474         set.
41475
41476 2009-09-06  Bruno Haible  <bruno@clisp.org>
41477
41478         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
41479         (fstatat): Declare if GNULIB_FSTATAT is set.
41480         (mkdirat): Declare if GNULIB_MKDIRAT is set.
41481         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
41482         (unlinkat): Declare if GNULIB_UNLINKAT is set.
41483         * modules/fcntl-h (Files): Remove m4/openat.m4.
41484         * modules/sys_stat (Files): Remove m4/openat.m4.
41485         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
41486         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
41487         * modules/unistd (Files): Remove m4/openat.m4.
41488         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
41489         GNULIB_OPENAT.
41490         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
41491         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
41492         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
41493         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
41494         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
41495         gl_OPENAT_DEFAULTS.
41496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
41497         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
41498         Don't require gl_OPENAT_DEFAULTS.
41499         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
41500         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
41501         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
41502         (gl_OPENAT_DEFAULTS): Remove macro.
41503
41504 2009-09-06  Bruno Haible  <bruno@clisp.org>
41505
41506         * modules/openat (configure.ac): Remove unneeded witness.
41507
41508 2009-09-06  Bruno Haible  <bruno@clisp.org>
41509
41510         Set errno to ENOSYS when a function is entirely unsupported.
41511         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
41512         EOPNOTSUPP.
41513         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41514         * modules/chown (Depends-on): Remove errno.
41515
41516 2009-09-06  Bruno Haible  <bruno@clisp.org>
41517
41518         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
41519
41520 2009-09-06  Bruno Haible  <bruno@clisp.org>
41521
41522         * lib/sys_stat.in.h: Fix preprocessor command indentation.
41523
41524 2009-09-06  Ben Pfaff  <blp@gnu.org>
41525             Bruno Haible  <bruno@clisp.org>
41526
41527         Work around a glibc bug in strtok_r.
41528         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
41529         Undefine if UNDEFINE_STRTOK_R is set.
41530         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
41531         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41532         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
41533         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
41534         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
41535         UNDEFINE_STRTOK_R.
41536         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
41537
41538 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
41539
41540         exclude: minor fix
41541         * lib/exclude.c: Include wctype.h
41542
41543 2009-09-06  Akim Demaille  <demaille@gostai.com>
41544
41545         bootstrap: improve error message
41546         * build-aux/bootstrap (find_tool): Upon failure, report the list
41547         of candidates.
41548         Honor the initial value of the envvar.
41549
41550 2009-09-05  Eric Blake  <ebb9@byu.net>
41551
41552         symlinkat: new module
41553         * modules/symlinkat: New file.
41554         * lib/symlinkat.c: Likewise.
41555         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
41556         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41557         * modules/unistd (Makefile.am): Use them.
41558         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
41559         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
41560         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
41561         * MODULES.html.sh (File system functions): Mention module.
41562         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41563         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41564         * modules/symlinkat-tests: New test.
41565         * tests/test-symlinkat.c: Likewise.
41566
41567         test-openat-safer: add more checks
41568         * tests/test-openat-safer.c (main): Check more code paths.
41569
41570 2009-09-05  Jim Meyering  <meyering@redhat.com>
41571
41572         syntax-check: detect unnecessary inclusion of openat.h
41573         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
41574
41575 2009-09-05  Bruno Haible  <bruno@clisp.org>
41576
41577         Support towlower, towupper.
41578         * doc/posix-functions/towlower.texi: Mention module wctype.
41579         * doc/posix-functions/towupper.texi: Likewise.
41580         * lib/wctype.in.h (towlower, towupper): New functions.
41581         * tests/test-wctype.c: Include stdio.h, stdlib.h.
41582         (ASSERT): New macro.
41583         (e): New variable.
41584         (main): Test also towlower, towupper. Test WEOF argument.
41585         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41586
41587 2009-09-05  Bruno Haible  <bruno@clisp.org>
41588
41589         Fix conversion behaviour when the input is invalid.
41590         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
41591         mark occurring in first pass of indirect conversion.
41592         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
41593         input.
41594         Found by clang's static analyzer.
41595
41596 2009-09-05  Bruno Haible  <bruno@clisp.org>
41597
41598         * tests/test-striconveh.c (main): Test indirect conversion on platforms
41599         where direct conversion is possible.
41600
41601 2009-09-04  Eric Blake  <ebb9@byu.net>
41602
41603         openat: fail with ENOENT on empty name
41604         * lib/openat-proc.c (openat_proc_name): Special-case the empty
41605         buffer.
41606
41607         link-follow: fix logic bug in prior patch
41608         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
41609         reversed sense of yes and no in prior patch.  Avoid confusing
41610         compilation failure with desired semantics.
41611
41612         link-follow: accomodate mingw and cross-compilation
41613         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
41614         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
41615         cross-compilation results to -1, to make linkat easier to
41616         implement when cross-compiling.  Trivially support mingw.
41617         * modules/link-follow (configure.ac): Call new name.
41618         * NEWS: Mention this.
41619
41620 2009-09-03  Eric Blake  <ebb9@byu.net>
41621
41622         faccessat: compile replacement
41623         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
41624         needed.
41625
41626         fts: fix compilation error
41627         * lib/fts.c (includes): Re-add "openat.h", for
41628         openat_needs_fchdir.
41629
41630         faccessat: new module
41631         * modules/faccessat: New file.
41632         * lib/faccessat.c: Likewise.
41633         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
41634         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41635         * modules/unistd (Makefile.am): Use it.
41636         * lib/unistd.in.h (faccessat): Declare it.
41637         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
41638         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
41639         * MODULES.html.sh (File system functions): Mention it.
41640         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
41641         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41642
41643         euidaccess: prefer POSIX over non-standard implementation
41644         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
41645         * lib/euidaccess.c (euidaccess): Use it if available.
41646
41647         openat: make template easier to use
41648         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
41649         AT_FUNC_F2 to be undefined.
41650         (VALIDATE_FLAG): New macro; use it to reject bad flags.
41651         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
41652         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
41653         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
41654         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
41655         Likewise.
41656         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
41657         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
41658         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
41659         Likewise.
41660
41661         openat: declare in POSIX headers
41662         * NEWS: Mention this.
41663         * modules/openat (configure.ac): Declare witnesses.
41664         (Depends-on): Add fcntl-h, sys_stat, unistd.
41665         (Include): Mention correct headers.
41666         * modules/fcntl-h (Depends-on): Add link-warning.
41667         (Files): Add openat.m4.
41668         (Makefile.am): Substitute witnesses.
41669         * modules/sys_stat (Files, Makefile.am): Likewise.
41670         * modules/unistd (Files, Makefile.am): Likewise.
41671         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
41672         (gl_OPENAT_DEFAULTS): New macro.
41673         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
41674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
41675         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
41676         (SYS_STAT_H): Remove unused variable.
41677         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
41678         * lib/fcntl--.h (includes): Remove unneeded header.
41679         * lib/openat-safer.c (includes): Likewise.
41680         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
41681         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
41682         appropriate headers.
41683         (__OPENAT_PREFIX): Delete.
41684         * lib/fcntl.in.h (openat): Provide declaration.
41685         (AT_FDCWD): Fix Solaris bug.
41686         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
41687         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
41688         * lib/fchmodat.c (includes):  Adjust to find declaration.
41689         * lib/fchownat.c (includes): Likewise.
41690         * lib/mkdirat.c (includes): Likewise.
41691         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
41692         still visible.
41693
41694 2009-09-02  Eric Blake  <ebb9@byu.net>
41695
41696         errno: use consistently
41697         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
41698         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
41699         * lib/canonicalize.c (ELOOP): Likewise.
41700         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
41701         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
41702         * lib/lchown.c (EOPNOTSUPP): Likewise.
41703         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
41704         * lib/savewd.c (ESTALE): Likewise.
41705         * lib/settime.c (ENOSYS): Likewise.
41706         * lib/utimens.c (ENOSYS): Likewise.
41707         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
41708         * lib/chdir-safer.c (ELOOP): Likewise.
41709         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
41710         * modules/c-stack (Depends-on): Add errno.
41711         * modules/canonicalize (Depends-on): Likewise.
41712         * modules/chdir-safer (Depends-on): Likewise.
41713         * modules/fdopendir (Depends-on): Likewise.
41714         * modules/inet_ntop (Depends-on): Likewise.
41715         * modules/inet_pton (Depends-on): Likewise.
41716         * modules/lchown (Depends-on): Likewise.
41717         * modules/openat (Depends-on): Likewise.
41718         * modules/savewd (Depends-on): Likewise.
41719         * modules/settime (Depends-on): Likewise.
41720         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
41721
41722         fts: avoid leaking fds
41723         * modules/fts (Depends-on): Add cloexec.
41724         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
41725         flag.
41726
41727         fts: make directory fds more robust
41728         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
41729         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
41730
41731         backupfile, chdir-long, fts, savedir: make safer
41732         * lib/backupfile.c (includes): Use "dirent--.h", since
41733         numbered_backup can write to stderr during readdir.
41734         * lib/savedir.c (includes): Likewise.
41735         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
41736         emulation can write to stderr on failure.
41737         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
41738         * lib/getcwd.c: Document why opendir_safer is unused.
41739         * lib/glob.c: Likewise.
41740         * lib/scandir.c: Likewise.
41741         * lib/openat-proc.c: Likewise, for open_safer.
41742         * modules/backupfile (Depends-on): Add dirent-safer.
41743         * modules/savedir (Depends-on): Likewise.
41744         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
41745         * modules/chdir-long (Depends-on): Add openat-safer.
41746
41747         openat-safer: new module
41748         * modules/openat-safer: New file.
41749         * lib/openat-safer.c: Likewise.
41750         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
41751         * lib/fcntl-safer.h (openat_safer): Declare.
41752         * lib/fcntl--.h (openat): Override.
41753         * MODULES.html.sh (File descriptor based I/O): Mention it.
41754         * lib/openat.h: Add double-inclusion guards.
41755         * lib/openat.c (includes): Only include "fcntl-safer.h", not
41756         "fcntl--.h", so we can implement openat.
41757         * modules/openat-safer-tests: New test.
41758         * tests/test-openat-safer.c: New file.
41759
41760         dirent-safer: new module
41761         * modules/dirent-safer: New file.
41762         * lib/dirent--.h: Likewise.
41763         * lib/dirent-safer.h: Likewise.
41764         * lib/opendir-safer.c: Likewise.
41765         * m4/dirent-safer.m4: Likewise.
41766         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
41767         * modules/dirent-safer-tests: New test.
41768         * tests/test-dirent-safer.c: New file.
41769         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
41770
41771         fdopendir: optimize on mingw
41772         * lib/unistd.in.h (_gl_directory_name): New prototype.
41773         * lib/fchdir.c (_gl_directory_name): Implement it.
41774         (fchdir): Use it to simplify implementation.
41775         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
41776         fchdir, when available, to avoid calling [f]chdir().
41777
41778         fdopendir: split into its own module
41779         * lib/openat.c (fdopendir): Move...
41780         * lib/fdopendir.c: ...into new file.
41781         * modules/fdopendir: New module.
41782         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
41783         * modules/openat (Depends-on): Add fdopendir.
41784         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
41785         fdopendir here.
41786         * modules/savedir (Depends-on): Only need fdopendir, not full
41787         openat.
41788         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
41789         * lib/openat.h (fdopendir): Drop prototype.
41790         * lib/dirent.in.h (fdopendir): Provide prototype.
41791         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
41792         * modules/dirent (Makefile.am): Substitute them.
41793         * MODULES.html.sh (File system functions): Mention it.
41794         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
41795         * modules/fdopendir-tests: New file.
41796         * tests/test-fdopendir.c: Likewise.
41797
41798         fchdir: use more consistent macro convention
41799         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
41800         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
41801         REPLACE_FCHDIR, rather than relying on config.h macros.
41802         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
41803         inside a single make-time REPLACE_FCHDIR block, rather than using
41804         the config.h FCHDIR_REPLACEMENT.
41805         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
41806         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
41807         Manage fstat replacement.
41808         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
41809         REPLACE_FCHDIR.
41810         * modules/sys_stat (Files): Add m4/unistd_h.m4.
41811         (Makefile.am): Substitute REPLACE_FCHDIR.
41812         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
41813         FCHDIR_REPLACEMENT.
41814         * lib/dup-safer.c (dup_safer): Likewise.
41815         * lib/dup2.c (rpl_dup2): Likewise.
41816         * lib/dup3.c (rpl_dup3): Likewise.
41817         * lib/open.c (rpl_open): Likewise.
41818
41819         fchdir: simplify error handling, and support dup3
41820         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
41821         stdbool, malloc-posix, realloc-posix.
41822         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
41823         (ensure_dirs_slot): Return false on allocation failure.
41824         (rpl_dup2): Delete.
41825         (_gl_register_dup): New function.
41826         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
41827         (_gl_register_fd): Close fd on allocation failure.
41828         * lib/fcntl.in.h (_gl_register_fd): Update signature.
41829         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
41830         prototype.
41831         (rpl_dup2_fchdir): Delete prototype.
41832         * lib/open.c (open): Update caller.
41833         * lib/dup2.c (dup2): Track fchdir metadata.
41834         * lib/dup3.c (dup3): Likewise.
41835         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
41836         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
41837
41838 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41839
41840         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
41841         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
41842         don't pass arguments to AC_OUTPUT.
41843
41844 2009-09-02  Bruno Haible  <bruno@clisp.org>
41845
41846         * modules/mkdtemp (License): Relicense under LGPLv2+.
41847         Reported by Paolo Bonzini.
41848
41849 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41850
41851         Replace uses of obsolete autoconf macros in Jim's modules.
41852         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
41853         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
41854         can evoke a warning from autoconf when run with -Wobsolete
41855         enabled.  They were declared obsolete for good reasons (see
41856         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
41857         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
41858         should not continue using the deprecated macros.
41859         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
41860         obsolete Autoconf macros with modern counterparts.
41861         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
41862         * m4/dos.m4 (gl_AC_DOS): Likewise.
41863         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
41864         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
41865         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
41866         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
41867         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
41868         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
41869         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
41870         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
41871         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
41872         Likewise.
41873         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
41874         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
41875         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
41876         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
41877         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
41878         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
41879
41880 2009-09-01  Eric Blake  <ebb9@byu.net>
41881
41882         fchdir: fix off-by-one bug in previous patch
41883         * lib/fchdir.c (rpl_fstat): Use correct bounds.
41884         (_gl_unregister_fd): Delete useless if.
41885
41886 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
41887
41888         maint.mk: sort the list of syntax-check rules
41889         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
41890         easier to get a sense of progress when the rules are run sequentially
41891         and take a long time.
41892
41893 2009-09-01  Simon Josefsson  <simon@josefsson.org>
41894
41895         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
41896         * modules/netinet_in: Likewise.
41897         * modules/sys_file: Likewise.
41898         * modules/sys_ioctl: Likewise.
41899         * modules/sys_select: Likewise.
41900         * modules/sys_socket: Likewise.
41901         * modules/sys_stat: Likewise.
41902         * modules/sys_time: Likewise.
41903         * modules/sys_times: Likewise.
41904         * modules/sys_utsname: Likewise.
41905         * modules/sys_wait: Likewise.
41906
41907 2009-09-01  Jim Meyering  <meyering@redhat.com>
41908
41909         fts: help ensure that return values are not ignored
41910         * lib/fts_.h (__GNUC_PREREQ): Define.
41911         (__attribute_warn_unused_result__): Define.
41912         (fts_children, fts_close, fts_open, fts_read): Declare with
41913         __attribute_warn_unused_result__.
41914
41915         fts: fts_close now fails also when closing a dir file descriptor fails
41916         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
41917         and propagate to caller, along with errno.
41918
41919         announce-gen: correct formatting in --help output
41920         * build-aux/announce-gen (usage): Move the one-line description in
41921         --help output "up", to where it belongs, just after Usage:.
41922
41923 2009-08-31  Eric Blake  <ebb9@byu.net>
41924
41925         fchdir: port to mingw
41926         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
41927         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
41928         opened, then use a substitute.
41929         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
41930         replacement.
41931         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
41932         (_gl_register_fd): No need to check stat if open already filters
41933         all directories.
41934         (fchdir): Fix error condition to match POSIX.
41935         * modules/fchdir (Depends-on): Add sys_stat.
41936         * doc/posix-functions/open.texi (open): Document the limitation.
41937         * modules/fchdir-tests: New file.
41938         * tests/test-fchdir.c: Likewise.
41939
41940         canonicalize: allow cross-testing from cygwin to mingw
41941         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
41942         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
41943         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
41944         Likewise.
41945         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
41946         target does not support symlinks.
41947         * tests/test-canonicalize-lgpl.sh: Likewise.
41948
41949         chown: avoid compilation warning on mingw
41950         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
41951         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
41952         mingw.
41953         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
41954         * modules/chown (Depends-on): Add errno.
41955
41956 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41957
41958         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
41959         command.
41960
41961 2009-08-31  Jim Meyering  <meyering@redhat.com>
41962
41963         canonicalize: remove useless initialization
41964         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
41965         initialization of local, "end".
41966
41967 2009-08-30  Bruno Haible  <bruno@clisp.org>
41968
41969         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
41970         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
41971         ENOSYS.
41972
41973 2009-08-30  Bruno Haible  <bruno@clisp.org>
41974
41975         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
41976         /usr/xpg4/bin/tr when it exists.
41977         * tests/test-pipe-filter-gi1.sh: Likewise.
41978
41979 2009-08-30  Bruno Haible  <bruno@clisp.org>
41980
41981         Work around deficient /usr/bin/id program on Solaris.
41982         * tests/test-file-has-acl.sh (ID): New variable.
41983         * tests/test-set-mode-acl.sh (ID): Likewise.
41984         * tests/test-copy-acl.sh (ID): Likewise.
41985         * tests/test-copy-file.sh (ID): Likewise.
41986
41987 2009-08-30  Bruno Haible  <bruno@clisp.org>
41988
41989         New module 'xstriconveh'.
41990         * lib/xstriconveh.h: New file.
41991         * lib/xstriconveh.c: New file.
41992         * modules/xstriconveh: New file.
41993
41994 2009-08-30  Bruno Haible  <bruno@clisp.org>
41995
41996         Make it easier to use mem_cd_iconveh.
41997         * lib/striconveh.h (iconveh_t): New type.
41998         (iconveh_open, iconveh_close): New declarations.
41999         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42000         with a single 'const iconveh_t *' argument.
42001         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
42002         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42003         with a single 'const iconveh_t *' argument.
42004         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
42005         * tests/test-striconveh.c (main): Update.
42006         * NEWS: Mention the change.
42007
42008 2009-08-30  Bruno Haible  <bruno@clisp.org>
42009
42010         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
42011         problem.
42012
42013 2009-08-30  Bruno Haible  <bruno@clisp.org>
42014
42015         Work around iconv_open problem on Solaris.
42016         * lib/iconv_open-solaris.gperf: New file.
42017         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
42018         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
42019         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
42020         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
42021         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
42022         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
42023
42024 2009-08-29  Jim Meyering  <meyering@redhat.com>
42025
42026         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
42027         * top/maint.mk (cvs-check): Remove target; it was just an alias
42028         to the better-named vc-diff-check.
42029         (maintainer-distcheck): Remove rule.  It was used only from
42030         the (alpha/beta/major) target, and all of its commands but one
42031         were coreutils-specific.
42032         (vc-dist): Remove rule.
42033         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
42034         Run vc-diff-check, not vc-dist.
42035         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
42036
42037 2009-08-27  Bruno Haible  <bruno@clisp.org>
42038
42039         * tests/test-bitrotate.c (main): Remove test that uses a shift count
42040         of 0.
42041
42042 2009-08-27  Bruno Haible  <bruno@clisp.org>
42043
42044         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
42045         compilers.
42046         * doc/func.texi: Document the SunPRO C bug.
42047
42048 2009-08-27  Bruno Haible  <bruno@clisp.org>
42049
42050         Fix link error on Solaris.
42051         * tests/test-parse-duration.c (xstrdup): Remove function.
42052
42053 2009-08-26  Pádraig Brady  <P@draigbrady.com>
42054
42055         ignore-value: handle pointer types, too
42056         * lib/ignore-value.h (__attribute__): Remove definition.
42057         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
42058         of a more concise and more-often effective "(void) i" statement.
42059         (ignore_ptr): New function to suppress warnings from functions that
42060         return pointers, and to make it explicit that one function doesn't
42061         handle all cases.
42062
42063 2009-08-25  Bruno Haible  <bruno@clisp.org>
42064
42065         dup2: work around a Linux bug.
42066         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
42067         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
42068         * doc/posix-functions/dup2.texi: Mention the Linux bug.
42069         Reported by Simon Josefsson.
42070
42071 2009-08-25  Jim Meyering  <meyering@redhat.com>
42072
42073         libguestfs uses gnulib
42074         * users.txt: Add libguestfs.
42075
42076 2009-08-24  Eric Blake  <ebb9@byu.net>
42077
42078         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
42079         * lib/pipe2.c (includes): Add binary-io.h.
42080         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
42081
42082 2009-08-24  Bruno Haible  <bruno@clisp.org>
42083
42084         Tolerate declared but missing accept4 syscall.
42085         * lib/accept4.c (accept4): Invoke original accept4 function first, if
42086         available.
42087         * lib/sys_socket.in.h (accept4): If the function is already present,
42088         override it.
42089         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
42090         * modules/accept4 (Makefile.am): Compile accept4.c always.
42091         Reported by Paolo Bonzini and Eric Blake.
42092
42093 2009-08-23  Bruno Haible  <bruno@clisp.org>
42094
42095         New module 'accept4'.
42096         * lib/sys_socket.in.h (accept4): New declaration.
42097         * lib/accept4.c: New file.
42098         * m4/accept4.m4: New file.
42099         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42100         GNULIB_ACCEPT4, HAVE_ACCEPT4.
42101         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
42102         HAVE_ACCEPT4.
42103         * modules/accept4: New file.
42104         * doc/glibc-functions/accept4.texi: Mention the new module.
42105
42106 2009-08-24  Jim Meyering  <meyering@redhat.com>
42107
42108         progname: also set global program_invocation_name, when possible
42109         Before this change, a libtool-enabled program that calls glibc's
42110         error function would report the program name as
42111         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
42112         * modules/progname (configure.ac): Check for a declaration of
42113         program_invocation_name.
42114         * lib/progname.c:  Include <errno.h>.
42115         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
42116         Set program_invocation_name.
42117
42118 2009-08-23  Bruno Haible  <bruno@clisp.org>
42119
42120         * lib/dup3.c: Include <string.h>.
42121
42122 2009-08-23  Bruno Haible  <bruno@clisp.org>
42123
42124         * lib/dup3.c (dup3): Test only once whether the system actually exists.
42125         * lib/pipe2.c (pipe2): Likewise.
42126         Suggested by Eric Blake.
42127
42128 2009-08-23  Bruno Haible  <bruno@clisp.org>
42129
42130         Tolerate declared but missing dup3 syscall.
42131         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
42132         * lib/unistd.in.h (dup3): If the function is already present,
42133         override it.
42134         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
42135         * modules/dup3 (Makefile.am): Compile dup3.c always.
42136         Reported by Paolo Bonzini.
42137
42138 2009-08-23  Bruno Haible  <bruno@clisp.org>
42139
42140         Tolerate declared but missing pipe2 syscall.
42141         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
42142         available.
42143         * lib/unistd.in.h (pipe2): If the function is already present,
42144         override it.
42145         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
42146         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
42147         Reported by Paolo Bonzini.
42148
42149 2009-08-23  Bruno Haible  <bruno@clisp.org>
42150
42151         * lib/pipe2.c (pipe2): Move #ifs inside function.
42152
42153 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42154
42155         quotearg: document limitations of quote_these_too
42156         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
42157         those limitations are created.
42158         * lib/quotearg.h (set_char_quoting): Document that digits and
42159         letters that are special after backslash are not permitted.
42160         (quotearg_char): Cross-reference set_char_quoting documentation.
42161
42162 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
42163
42164         quotearg: implement custom_quoting_style
42165         * lib/quotearg.c: (struct quoting_options): Add left_quote and
42166         right_quote fields.
42167         (set_custom_quoting): New public function.
42168         (quotearg_buffer_restyled): Add left_quote and right_quote
42169         arguments, handle them very much like locale quoting, and update
42170         all uses.
42171         (quotearg_n_custom): New public function.
42172         (quotearg_n_custom_mem): New public function.
42173         (quotearg_custom): New public function.
42174         (quotearg_custom_mem): New public function.
42175         * lib/quotearg.h: Prototype and document new public functions.
42176         (enum quoting_style): For escape_quoting_style and
42177         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
42178         ignored even though they're otherwise like c_quoting_style.
42179         Add custom_quoting_style member and document with comparison to
42180         clocale_quoting_style.
42181         * tests/test-quotearg.c (custom_quotes): New array.
42182         (custom_results): New array.
42183         (main): Extend to test custom quoting.
42184
42185 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42186
42187         quotearg: fix right quote escaping when it's in quote_these_too
42188         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
42189         quote, be sure to prepend only one backslash.
42190         * tests/test-quotearg.c (use_quote_double_quotes): New function.
42191         (main): Test it.
42192
42193 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42194
42195         quotearg-tests: test escaping of embedded locale quotes
42196         * tests/test-quotearg.c (struct result_strings): Add member for
42197         new input.
42198         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
42199         (inputs): Add new input.
42200         (results_g): Add expected results.
42201         (flag_results): Likewise.
42202         (locale_results): Likewise.
42203         (compare_strings): Check those.
42204
42205 2009-08-23  Bruno Haible  <bruno@clisp.org>
42206
42207         Tests for module 'dup3'.
42208         * modules/dup3-tests: New file.
42209         * tests/test-dup3.c: New file.
42210
42211         New module 'dup3'.
42212         * lib/unistd.in.h (dup3): New declaration.
42213         * lib/dup3.c: New file.
42214         * m4/dup3.m4: New file.
42215         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
42216         HAVE_DUP3.
42217         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
42218         * modules/dup3: New file.
42219         * doc/glibc-functions/dup3.texi: Mention the new module.
42220
42221 2009-08-23  Bruno Haible  <bruno@clisp.org>
42222
42223         Tweak the dup2 test.
42224         * tests/test-dup2.c (main): Create the test file empty. Verify that an
42225         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
42226         the test file is still empty. Fix argument order of lseek.
42227
42228 2009-08-23  Bruno Haible  <bruno@clisp.org>
42229
42230         Avoid test link errors when the modules getopt-gnu, gettext are used.
42231         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
42232         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42233
42234 2009-08-23  Bruno Haible  <bruno@clisp.org>
42235
42236         Fix getdtablesize() on mingw.
42237         * lib/getdtablesize.c (getdtablesize): Implement differently.
42238         * lib/unistd.in.h (getdtablesize): Improve comment.
42239
42240 2009-08-23  Bruno Haible  <bruno@clisp.org>
42241
42242         New module 'mkostemp'.
42243         Based on Ulrich Drepper's 2007-08-10 change in glibc.
42244         * lib/stdlib.in.h (mksotemp): New declaration.
42245         * lib/mkostemp.c: New file, from glibc with modifications.
42246         * lib/tempname.h (GT_FILE): Remove outdated comment.
42247         (gen_tempname): Add flags argument.
42248         * lib/tempname.c (__GT_BIGFILE): Remove macro.
42249         (__GT_FILE): Map to 1.
42250         (small_open, large_open): Remove macros.
42251         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
42252         * lib/mkstemp.c (mkstemp): Update.
42253         * lib/mkdtemp.c (mkdtemp): Likewise.
42254         * m4/mkostemp.m4: New file.
42255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
42256         HAVE_MKOSTEMP.
42257         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
42258         HAVE_MKOSTEMP.
42259         * modules/mkostemp: New file, based on modules/mkstemp.
42260         * doc/glibc-functions/mkostemp.texi: Mention the new module.
42261         * NEWS: Mention the change.
42262
42263 2009-08-23  Bruno Haible  <bruno@clisp.org>
42264
42265         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
42266         Reported by Eric Blake.
42267
42268 2009-08-23  Bruno Haible  <bruno@clisp.org>
42269
42270         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
42271         Reported by Eric Blake.
42272
42273 2009-08-23  Bruno Haible  <bruno@clisp.org>
42274
42275         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
42276         * modules/pipe2 (Depends-on): Likewise.
42277
42278 2009-08-23  Eric Blake  <ebb9@byu.net>
42279
42280         fcntl-h: add O_TTY_INIT support
42281         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
42282         * tests/test-fcntl-h.c (o): Test it.
42283         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42284
42285         fcntl-h: rename from fcntl, in preparation for fcntl(2)
42286         * modules/fcntl: Move <fcntl.h> header replacement...
42287         * modules/fcntl-h: ...to new name, so as not to collide with
42288         like-named function.
42289         * tests/test-fcntl.c: Rename...
42290         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
42291         * modules/fcntl-tests: Rename...
42292         * modules/fcntl-h-tests: ...to this.  Update test file name.
42293         * modules/chdir-long (Depends-on): Update clients.
42294         * modules/chdir-safer (Depends-on): Likewise.
42295         * modules/fcntl-safer (Depends-on): Likewise.
42296         * modules/fts (Depends-on): Likewise.
42297         * modules/mkancesdirs (Depends-on): Likewise.
42298         * modules/mkdir-p (Depends-on): Likewise.
42299         * modules/open (Depends-on): Likewise.
42300         * modules/savewd (Depends-on): Likewise.
42301         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
42302         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
42303
42304 2009-08-22  Bruno Haible  <bruno@clisp.org>
42305
42306         * modules/binary-io (License): Relicense under LGPL.
42307         * modules/pipe2 (License): Likewise.
42308
42309 2009-08-22  Bruno Haible  <bruno@clisp.org>
42310
42311         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
42312         return value.
42313         * lib/pipe-filter-gi.c (filter_init): Likewise.
42314         Reported by Eric Blake.
42315
42316 2009-08-22  Bruno Haible  <bruno@clisp.org>
42317
42318         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
42319         * modules/pipe (Depends-on): Add pipe2.
42320
42321 2009-08-22  Bruno Haible  <bruno@clisp.org>
42322
42323         Tests for module 'pipe2'.
42324         * modules/pipe2-tests: New file.
42325         * tests/test-pipe2.c: New file.
42326
42327         New module 'pipe2'.
42328         * lib/unistd.in.h (pipe2): New declaration.
42329         * lib/pipe2.c: New file.
42330         * m4/pipe2.m4: New file.
42331         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
42332         HAVE_PIPE2.
42333         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
42334         * modules/pipe2: New file.
42335         * doc/glibc-functions/pipe2.texi: Mention the new module.
42336
42337 2009-08-22  Bruno Haible  <bruno@clisp.org>
42338
42339         Reference some new glibc functions.
42340         * doc/glibc-functions/accept4.texi: New file.
42341         * doc/glibc-functions/dup3.texi: New file.
42342         * doc/glibc-functions/mkostemp.texi: New file.
42343         * doc/glibc-functions/pipe2.texi: New file.
42344         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
42345         (Glibc sys/socket.h): Refer to accept4.
42346         (Glibc unistd.h): Refer to dup3, pipe2.
42347         Reported by Eric Blake.
42348
42349 2009-08-22  Jim Meyering  <meyering@redhat.com>
42350             Bruno Haible  <bruno@clisp.org>
42351
42352         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
42353         This makes it so packages using automake-1.11's silent-rules option
42354         can print e.g., a single "GEN    configmake.h" line, rather than
42355         the 30+ statements that perform the job.  If you want to see the
42356         actual commands, you can still run "make V=1".
42357         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
42358         so that make output is abbreviated when those variables are defined
42359         appropriately.
42360         * modules/argz: Likewise.
42361         * modules/arpa_inet: Likewise.
42362         * modules/byteswap: Likewise.
42363         * modules/configmake: Likewise.
42364         * modules/dirent: Likewise.
42365         * modules/errno: Likewise.
42366         * modules/fcntl: Likewise.
42367         * modules/float: Likewise.
42368         * modules/fnmatch: Likewise.
42369         * modules/getopt-posix: Likewise.
42370         * modules/glob: Likewise.
42371         * modules/iconv_open: Likewise.
42372         * modules/inttypes: Likewise.
42373         * modules/localcharset: Likewise.
42374         * modules/locale: Likewise.
42375         * modules/math: Likewise.
42376         * modules/netdb: Likewise.
42377         * modules/netinet_in: Likewise.
42378         * modules/poll: Likewise.
42379         * modules/posix_spawnp-tests: Likewise.
42380         * modules/sched: Likewise.
42381         * modules/search: Likewise.
42382         * modules/selinux-h: Likewise.
42383         * modules/signal: Likewise.
42384         * modules/spawn: Likewise.
42385         * modules/stdarg: Likewise.
42386         * modules/stdbool: Likewise.
42387         * modules/stddef: Likewise.
42388         * modules/stdint: Likewise.
42389         * modules/stdio: Likewise.
42390         * modules/stdlib: Likewise.
42391         * modules/string: Likewise.
42392         * modules/strings: Likewise.
42393         * modules/sys_file: Likewise.
42394         * modules/sys_ioctl: Likewise.
42395         * modules/sys_select: Likewise.
42396         * modules/sys_socket: Likewise.
42397         * modules/sys_stat: Likewise.
42398         * modules/sys_time: Likewise.
42399         * modules/sys_times: Likewise.
42400         * modules/sys_utsname: Likewise.
42401         * modules/sys_wait: Likewise.
42402         * modules/sysexits: Likewise.
42403         * modules/time: Likewise.
42404         * modules/unistd: Likewise.
42405         * modules/wchar: Likewise.
42406         * modules/wctype: Likewise.
42407
42408 2009-08-22  Jim Meyering  <meyering@redhat.com>
42409
42410         announce-gen: detect write failure
42411         * build-aux/announce-gen: Add Coda at end.
42412         Remove equivalent-but-more-verbose block at top.
42413
42414 2009-08-19  Akim Demaille  <demaille@gostai.com>
42415
42416         bootstrap: --help to stdout.
42417         * bootstrap (usage): Don't send --help to stderr.
42418         Use a here doc instead of a long string.
42419
42420 2009-08-21  Eric Blake  <ebb9@byu.net>
42421
42422         test-popen-safer: split from test-popen
42423         * tests/test-popen.c (main): Move...
42424         * tests/test-popen.h: ...into new file.
42425         * tests/test-popen-safer2.c: New file.
42426         * modules/popen-tests (Files): Add test-popen.h.
42427         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
42428         Suggested by Bruno Haible.
42429
42430         test-fcntl-safer: split from test-open
42431         * tests/test-open.c (main): Move...
42432         * tests/test-open.h: ...into new file.
42433         * tests/test-fcntl-safer.c: New file.
42434         * modules/open-tests (Files): Add test-open.h.
42435         * modules/fcntl-safer-tests: New file.
42436         Suggested by Bruno Haible.
42437
42438         test-fopen-safer: split from test-fopen
42439         * tests/test-fopen.c (main): Move...
42440         * tests/test-fopen.h: ...into new file.
42441         * tests/test-fopen-safer.c: New file.
42442         * modules/fopen-tests (Files): Add test-fopen.h.
42443         * modules/fopen-safer-tests: New file.
42444         Suggested by Bruno Haible.
42445
42446 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42447
42448         popen-safer: test O_CLOEXEC at run-time.
42449         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
42450
42451 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
42452
42453         fcntl: move more flags to the header
42454         * lib/cloexec.c: Do not define FD_CLOEXEC here.
42455         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
42456         * lib/fcntl.in.h: Do both things here.
42457
42458 2009-08-21  Jim Meyering  <meyering@redhat.com>
42459
42460         consistently remove $@-t before redirecting to it
42461         * modules/argz: Remove $@-t and $@ before redirecting to the former.
42462         * modules/alloca-opt: Likewise.
42463         * modules/byteswap: Likewise.
42464         * modules/fnmatch: Likewise.
42465         * modules/getopt-posix: Likewise.
42466         * modules/glob: Likewise.
42467         * modules/poll: Likewise.
42468         * modules/posix_spawnp-tests: Likewise.
42469         * modules/sys_socket: Likewise.
42470         * modules/sysexits: Likewise.
42471
42472 2009-08-21  Eric Blake  <ebb9@byu.net>
42473
42474         popen: simplify access to original popen
42475         * lib/popen.c (rpl_popen): No need to worry about popen being a
42476         macro.
42477         Reported by Bruno Haible.
42478
42479 2009-08-20  Eric Blake  <ebb9@byu.net>
42480
42481         build: avoid some compiler warnings
42482         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
42483         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
42484         type.
42485         (new_exclude_segment, excluded_file_pattern_p)
42486         (excluded_file_name_p): Reduce scope.
42487         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
42488         old-style declaration.
42489
42490 2009-08-20  Simon Josefsson  <simon@josefsson.org>
42491
42492         * tests/test-exclude1.sh: Handle Windows EOL.
42493         * tests/test-exclude2.sh: Likewise.
42494         * tests/test-exclude3.sh: Likewise.
42495         * tests/test-exclude4.sh: Likewise.
42496         * tests/test-exclude5.sh: Likewise.
42497         * tests/test-exclude6.sh: Likewise.
42498         * tests/test-exclude7.sh: Likewise.
42499
42500 2009-08-19  Akim Demaille  <demaille@gostai.com>
42501
42502         bootstrap: find sha1sum when named gsha1sum.
42503         * bootstrap (find_tool): New.
42504         ($SHA1SUM): New.
42505         Use it.
42506
42507 2009-08-20  Jim Meyering  <meyering@redhat.com>
42508
42509         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
42510         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
42511         expression that converts "." in a file name to "\." in the resulting
42512         regexp.  Start with a dummy statement, so that prior shell variable
42513         definitions are expanded portably.  Reported by Simon Josefsson.
42514
42515 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
42516
42517         Fix polling for writeability of a screen buffer.
42518         * lib/poll.c: Distinguish input and screen buffers for the
42519         Win32 implementation.
42520         * lib/select.c: Likewise.
42521
42522 2009-08-19  Eric Blake  <ebb9@byu.net>
42523
42524         popen-safer: prevent popen from clobbering std descriptors
42525         * modules/popen-safer: New file.
42526         * lib/popen-safer.c: Likewise.
42527         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
42528         * lib/stdio--.h (popen): Provide override.
42529         * lib/stdio-safer.h (popen_safer): Provide declaration.
42530         * tests/test-popen.c (includes): Partially test this.
42531         * modules/popen-safer-tests: New file, for more tests.
42532         * tests/test-popen-safer.c: Likewise.
42533         * MODULES.html.sh (file stream based Input/Output): Mention it.
42534
42535         tests: test some of the *-safer modules
42536         * modules/fopen-safer (Depends-on): Add fopen.
42537         * modules/fcntl-safer (Depends-on): Add fcntl.
42538         * modules/stdlib-safer (Depends-on): Add stdlib.
42539         (configure.ac): Set indicator.
42540         * modules/unistd-safer (configure.ac): Likewise.
42541         * modules/tmpfile-safer (configure.ac): Likewise.
42542         (Depends-on): Add tmpfile.
42543         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
42544         active.
42545         * tests/test-fopen.c (includes): Test safer versions when they are
42546         in use.
42547         * tests/test-open.c (includes): Likewise.
42548
42549         popen: fix cygwin 1.5 bug when stdin closed
42550         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
42551         * modules/popen: New file.
42552         * modules/popen-tests: Likewise.
42553         * tests/test-popen.c: Likewise.
42554         * m4/popen.m4: Likewise.
42555         * lib/popen.c: Likewise.
42556         * lib/stdio.in.h (popen): New declaration.
42557         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
42558         * modules/stdio (Makefile.am): Likewise.
42559         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
42560
42561 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
42562
42563         maint.mk: give full control over update-copyright exclusions
42564         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
42565         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
42566         (update-copyright): Don't force inclusion of top-level
42567         ChangeLog.  Don't force exclusion of all COPYING files, but make
42568         them the default exclusion instead.
42569
42570 2009-08-16  Bruno Haible  <bruno@clisp.org>
42571
42572         Fix test failures on Solaris 10.
42573         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
42574         tests when Solaris iconv() is used.
42575         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
42576         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
42577         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
42578         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
42579         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
42580
42581 2009-08-16  Bruno Haible  <bruno@clisp.org>
42582
42583         Fix test failures on Solaris 10.
42584         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
42585         'tr' program and pass it as first argument.
42586         * tests/test-pipe-filter-gi1.sh: Likewise.
42587         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
42588         program as first argument.
42589         * tests/test-pipe-filter-gi1.c (main): Likewise.
42590
42591 2009-08-16  Eric Blake  <ebb9@byu.net>
42592
42593         fpurge: fix previous commits
42594         * modules/fpurge (Makefile.am): Make replacement conditional,
42595         partially reverting 2007-04-29 change; missed in previous
42596         attempt.
42597         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
42598         is missing.
42599
42600 2009-08-16  Bruno Haible  <bruno@clisp.org>
42601
42602         Clarify fpurge's effect on the file position.
42603         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
42604         * tests/test-fpurge.c (main): Make a second pass for checking the file
42605         position.
42606
42607 2009-08-16  Bruno Haible  <bruno@clisp.org>
42608
42609         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
42610         declaration of fpurge is missing.
42611         * tests/test-fpurge.c (main): Check that the file has not more contents
42612         than expected. Close the file before removing it.
42613
42614 2009-08-15  Eric Blake  <ebb9@byu.net>
42615
42616         fpurge: don't wrap working cygwin implementation
42617         * lib/fpurge.c (fpurge): Fix comment typo.
42618         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
42619         1.7 to avoid replacement.
42620         * tests/test-fpurge.c (main): Enhance test.
42621
42622 2009-08-15  Eric Blake  <ebb9@byu.net>
42623         and Jim Meyering  <meyering@redhat.com>
42624
42625         test-update-copyright: skip if perl is insufficient
42626         * tests/test-update-copyright.sh: Failure to run maintainer tool
42627         should not cause testsuite failure on cygwin 1.5.
42628
42629 2009-08-14  Eric Blake  <ebb9@byu.net>
42630
42631         doc: mention more functions added in cygwin 1.7.0
42632         * doc/posix-headers/limits.texi (limits.h): Update for recent
42633         cygwin additions.
42634         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
42635         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
42636         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
42637         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
42638         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
42639
42640 2009-08-14  Eric Blake  <ebb9@byu.net>
42641
42642         maint.mk: simplify update-copyright rule
42643         * top/maint.mk (update-copyright-local): Delete, and document how
42644         to do it in cfg.mk instead.
42645         (update-copyright-exclude-regexp): Delete, and document how to do
42646         it in .x-update-copyright instead.
42647         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
42648         exclude ChangeLog.
42649
42650 2009-08-14  Bruno Haible  <bruno@clisp.org>
42651
42652         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
42653
42654 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42655
42656         maint.mk: support update-copyright-env
42657         * top/maint.mk (update-copyright-env): Define place-holder.
42658         (update-copyright): Expand $(update-copyright-env) before
42659         invoking update-copyright.
42660
42661 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42662
42663         update-copyright: implement forced reformatting
42664         * build-aux/update-copyright: Implement and document
42665         UPDATE_COPYRIGHT_FORCE.
42666         * tests/test-update-copyright.sh: Test it.
42667
42668 2009-08-14  Eric Blake  <ebb9@byu.net>
42669         and Bruno Haible  <bruno@clisp.org>
42670
42671         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
42672         * tests/test-locale.c: Revert previous patch related to NULL.
42673         * tests/test-stdio.c: Likewise.
42674         * tests/test-stdlib.c: Likewise.
42675         * tests/test-string.c: Likewise.
42676         * tests/test-unistd.c: Likewise.
42677         * modules/time-tests (Depends-on): Add verify.
42678         * modules/wchar-tests (Depends-on): Likewise.
42679         * tests/test-time.c: Test for NULL compliance.
42680         * tests/test-wchar.c: Likewise.
42681         * modules/locale (Depends-on): Add stddef.
42682         * modules/stdio (Depends-on): Likewise.
42683         * modules/stdlib (Depends-on): Likewise.
42684         * modules/string (Depends-on): Likewise.
42685         * modules/time (Depends-on): Likewise.
42686         * modules/unistd (Depends-on): Likewise.
42687         * modules/wchar (Depends-on): Likewise.
42688         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
42689         * lib/stdlib.in.h (includes): Likewise.
42690         * lib/string.in.h (includes): Likewise.
42691         * lib/time.in.h (includes): Likewise.
42692         * lib/unistd.in.h (includes): Likewise.
42693         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
42694         replaced.
42695         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42696         * m4/stddef_h.m4: New file.
42697         * modules/stddef: Likewise.
42698         * lib/stddef.in.h: Likewise.
42699         * modules/stddef-tests: Likewise.
42700         * tests/test-stddef.c: Likewise.
42701         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
42702         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
42703         * doc/posix-headers/locale.texi (locale.h): Likewise.
42704         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
42705         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
42706         * doc/posix-headers/string.texi (string.h): Likewise.
42707         * doc/posix-headers/time.texi (time.h): Likewise.
42708         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
42709         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
42710
42711 2009-08-14  Eric Blake  <ebb9@byu.net>
42712
42713         doc: improve git diff of texinfo files
42714         * .gitattributes: Add rule for *.texi files, with hint on how to
42715         use it.
42716         Copied from m4, and based on a report by Bruno Haible.
42717
42718 2009-08-14  Bruno Haible  <bruno@clisp.org>
42719
42720         Disable multithread support by default on Cygwin 1.5.x for real.
42721         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
42722
42723 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
42724
42725         update-copyright: much ado about intervals
42726         * build-aux/update-copyright: Implement and document
42727         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
42728         of copyright year intervals.
42729         Also, document UPDATE_COPYRIGHT_YEAR.
42730         * tests/test-update-copyright.sh: Test it.
42731
42732         update-copyright: convert 2-digit to 4-digit years
42733         * build-aux/update-copyright: Implement and document.
42734         * tests/test-update-copyright.sh: Update.
42735
42736 2009-08-14  Jim Meyering  <meyering@redhat.com>
42737
42738         test-exclude: avoid coreutils "make check" failure
42739         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
42740         just as in test-argmatch.c.
42741
42742 2009-08-13  Eric Blake  <ebb9@byu.net>
42743
42744         test-dup2: fix bad assumption
42745         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
42746         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
42747
42748         test-version-etc: fix CRLF portability issue
42749         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
42750         recognize \r.
42751         * tests/test-argp-version-etc-1.sh: Likewise.
42752
42753         getopt: update client modules
42754         * modules/argp (Depends-on): Use getopt-gnu.
42755         * modules/git-merge-changelog (Depends-on): Likewise.
42756         * modules/long-options (Depends-on): Likewise.
42757         * modules/xstrtol (Depends-on): Likewise.
42758
42759 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42760
42761         * tests/test-version-etc.sh: Don't fail on different
42762         project/version.  Don't fail on CRLF differences.  Rewrite to use
42763         multiple -e instead of multiple sed forks, suggested by Eric Blake
42764         <ebb9@byu.net>.
42765         * tests/test-argp-version-etc-1.sh: Likewise.
42766
42767 2009-08-13  Simon Josefsson  <simon@josefsson.org>
42768
42769         * tests/test-version-etc.sh: Don't fail on different
42770         project/version.
42771
42772 2009-08-12  Bruno Haible  <bruno@clisp.org>
42773
42774         Tests for modules 'getopt-posix', 'getopt-gnu'.
42775         * modules/getopt-posix-tests: New file.
42776         * tests/test-getopt.c: New file.
42777         * tests/test-getopt.h: New file.
42778         * tests/test-getopt_long.h: New file.
42779
42780         New modules 'getopt-posix', 'getopt-gnu'.
42781         * modules/getopt-gnu: New file, renamed from modules/getopt.
42782         * modules/getopt-posix: New file.
42783         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
42784         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
42785         (gl_GETOPT): Remove macro.
42786         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
42787         Disable the test against BSD systems that declare optreset. Test
42788         against mingw bug. Test against lack of support of optional arguments
42789         on many platforms.
42790         * doc/glibc-headers/getopt.texi: Update module name and list of
42791         relevant platforms.
42792         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
42793         'getopt-gnu' and more portability problems.
42794         * NEWS: Mention the changes.
42795
42796 2009-08-12  Bruno Haible  <bruno@clisp.org>
42797
42798         Ensure that optarg etc. get declared by <unistd.h>.
42799         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
42800         AC_USE_SYSTEM_EXTENSIONS.
42801         * modules/getopt (Depends-on): Add 'extensions'.
42802
42803 2009-08-12  Bruno Haible  <bruno@clisp.org>
42804
42805         Avoid test link errors.
42806         * modules/pipe-filter-ii-tests (Makefile.am): Define
42807         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
42808         * modules/pipe-filter-gi-tests (Makefile.am): Define
42809         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
42810         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42811
42812 2009-08-12  Bruno Haible  <bruno@clisp.org>
42813
42814         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
42815         gl_GETOPT_SUBSTITUTE before.
42816         (gl_GETOPT): Use it.
42817         * m4/argp.m4 (gl_ARGP): Update.
42818         Reported by Sergey Poznyakoff.
42819
42820         * m4/getopt.m4: Reorder macros.
42821         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
42822         (gl_GETOPT_SUBSTITUTE): Remove macro.
42823
42824 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42825
42826         Minor improvement in gitlog-to-changelog
42827
42828         * build-aux/gitlog-to-changelog: New option `--format' makes
42829         output format string configurable.
42830
42831 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42832
42833         Optimize exclude: use hash tables for non-wildcard patterns.
42834
42835         * lib/exclude.c: Include hash.h and mbuiter.h
42836         (struct exclude_pattern, exclude_segment): New data types.
42837         (struct exclude): Rewrite.
42838         (fnmatch_pattern_has_wildcards): New function.
42839         (new_exclude_segment, free_exclude_segment): New functions.
42840         (excluded_file_pattern_p, excluded_file_name_p): New functions.
42841         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
42842         * lib/exclude.h (is_fnmatch_pattern): New prototype.
42843         * modules/exclude: Depend on hash and mbuiter.
42844
42845         * modules/exclude-tests: New file.
42846         * tests/test-exclude.c: New file.
42847         * tests/test-exclude1.sh: New file.
42848         * tests/test-exclude2.sh: New file.
42849         * tests/test-exclude3.sh: New file.
42850         * tests/test-exclude4.sh: New file.
42851         * tests/test-exclude5.sh: New file.
42852         * tests/test-exclude6.sh: New file.
42853         * tests/test-exclude7.sh: New file.
42854
42855 2009-08-12  Bruno Haible  <bruno@clisp.org>
42856
42857         Ensure that getopt() gets declared by <unistd.h>.
42858         * lib/unistd.in.h: Conditionally include getopt.h.
42859         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
42860         Set GNULIB_UNISTD_H_GETOPT.
42861         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42862         GNULIB_UNISTD_H_GETOPT.
42863         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
42864
42865 2009-08-12  Bruno Haible  <bruno@clisp.org>
42866
42867         Clarify logic.
42868         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
42869         gl_replace_getopt instead of GETOPT_H.
42870
42871 2009-08-12  Bruno Haible  <bruno@clisp.org>
42872
42873         * m4/getopt.m4: Add comments.
42874
42875 2009-08-12  Bruno Haible  <bruno@clisp.org>
42876
42877         Disable multithread support by default on Cygwin 1.5.x.
42878         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
42879         set gl_use_threads=no if not specified otherwise.
42880
42881 2009-08-11  Bruno Haible  <bruno@clisp.org>
42882
42883         Avoid compilation error on NetBSD 5.0.
42884         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
42885         * tests/test-stdio.c: Likewise.
42886         * tests/test-stdlib.c: Likewise.
42887         * tests/test-string.c: Likewise.
42888         * tests/test-unistd.c: Likewise.
42889         Reported by Greg Troxel <gdt@ir.bbn.com>
42890         at <https://savannah.gnu.org/support/?106973>.
42891
42892 2009-08-11  Bruno Haible  <bruno@clisp.org>
42893
42894         * modules/dup2-tests (Depends-on): Remove close.
42895
42896         Undo 2009-07-19 commit.
42897         * modules/acl-tests (Depends-on): Remove close.
42898         * modules/binary-io-tests (Depends-on): Likewise.
42899         * modules/closein-tests (Depends-on): Likewise.
42900         * modules/flock-tests (Depends-on): Likewise.
42901         * modules/fsync-tests (Depends-on): Likewise.
42902         * modules/lseek-tests (Depends-on): Likewise.
42903         * modules/pipe-tests (Depends-on): Likewise.
42904         * modules/posix_spawn-tests (Depends-on): Likewise.
42905         * modules/posix_spawnp-tests (Depends-on): Likewise.
42906         * modules/stat-time-tests (Depends-on): Likewise.
42907         * modules/yesno-tests (Depends-on): Likewise.
42908
42909 2009-08-10  Bruno Haible  <bruno@clisp.org>
42910
42911         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
42912
42913 2009-08-10  Bruno Haible  <bruno@clisp.org>
42914
42915         Fix a gcc warning.
42916         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
42917
42918 2009-08-10  Bruno Haible  <bruno@clisp.org>
42919
42920         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
42921         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
42922         not only the first time.
42923         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
42924         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
42925         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
42926         is 1, not only the the first time.
42927
42928 2009-08-10  Bruno Haible  <bruno@clisp.org>
42929
42930         Make it possible to use module 'gethostname' without module 'close'.
42931         * lib/unistd.in.h (close): Evoke a link error only if
42932         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42934         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42935         * modules/unistd (Makefile.am): Substitute
42936         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42937         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
42938         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
42939         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
42940         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42941         * modules/sys_ioctl (Makefile.am): Substitute
42942         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42943         * modules/socket (configure.ac): On native Windows, set
42944         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
42945         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
42946         Reported by Sam Steingold <sds@gnu.org>.
42947
42948 2009-08-10  Bruno Haible  <bruno@clisp.org>
42949
42950         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
42951         * modules/ioctl (configure.ac): Likewise.
42952
42953 2009-08-10  Bruno Haible  <bruno@clisp.org>
42954
42955         Avoid collision between gnulib wrapper and libintl wrapper.
42956         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
42957         already defined in intl/printf.c.
42958         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
42959         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
42960
42961 2009-08-09  Bruno Haible  <bruno@clisp.org>
42962
42963         Make <sys/select.h> really self-contained, also on Solaris 10.
42964         * lib/sys_select.in.h: Include <string.h>.
42965         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
42966         Solaris 10 problem.
42967         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
42968         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
42969         Reported by Jim Meyering.
42970
42971 2009-08-09  Bruno Haible  <bruno@clisp.org>
42972
42973         Avoid warnings from 'aclocal' that are due to a use of macro name
42974         AM_XGETTEXT_OPTION that is not defined in automake.
42975         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
42976         automake.
42977         * modules/error (configure.ac): Likewise.
42978         * modules/propername (configure.ac): Likewise.
42979         * modules/vasprintf (configure.ac): Likewise.
42980         * modules/verror (configure.ac): Likewise.
42981         * modules/xprintf (configure.ac): Likewise.
42982         * modules/xvasprintf (configure.ac): Likewise.
42983
42984 2009-08-08  Bruno Haible  <bruno@clisp.org>
42985
42986         Avoid compilation error in C++ mode.
42987         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
42988         Reported by Sam Steingold <sds@gnu.org>.
42989
42990 2009-08-08  Bruno Haible  <bruno@clisp.org>
42991
42992         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
42993         for the various Unix platforms.
42994         * doc/posix-headers/limits.texi: Update platforms list regarding
42995         HOST_NAME_MAX.
42996         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42997
42998 2009-08-07  Jim Meyering  <meyering@redhat.com>
42999
43000         selinux-at: fix typo in a comment
43001         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
43002         Spotted by Paolo Bonzini.
43003
43004         selinux-at: remove redundant m4 code, add documentation
43005         * modules/selinux-at (configure.ac): Remove redundant code.
43006         LIB_SELINUX is already set via the dependent module, selinux-h.
43007         (Include): Add quotes around selinux-at.h.
43008         * lib/selinux-at.h: Add documentation.
43009         Reported by Bruno Haible in
43010         http://marc.info/?l=gnulib-bug&m=124958988300749
43011
43012 2009-08-07  Bruno Haible  <bruno@clisp.org>
43013
43014         Avoid link error on MacOS X 10.3 and 10.4.
43015         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
43016         on non-ELF systems.
43017         * lib/argp-pv.c (argp_program_version): Likewise.
43018         Reported by Simon Josefsson.
43019
43020 2009-08-07  Simon Josefsson  <simon@josefsson.org>
43021
43022         * tests/test-version-etc.sh: Use $EXEEXT.
43023
43024 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
43025
43026         update-copyright: update documentation to point to maint.mk
43027         * build-aux/update-copyright: Here.
43028
43029 2009-08-06  Jim Meyering  <meyering@redhat.com>
43030
43031         maint.mk: support update-copyright-local
43032         * top/maint.mk (update-copyright-local): Define place-holder.
43033         (update-copyright): Depend on $(update-copyright-local).
43034
43035 2009-08-06  Jim Meyering  <meyering@redhat.com>
43036
43037         selinux-at: new module
43038         Initially written for coreutils, this module will soon be
43039         used by findutils, too.
43040         * MODULES.html.sh [Misc]: Add selinux-at.
43041         * lib/selinux-at.h: New file, from coreutils.
43042         * lib/selinux-at.c: Likewise.
43043         * modules/selinux-at: Likewise.
43044         (License): Change from LGPL to GPL, since it depends
43045         on the GPL'd openat module.
43046
43047         doc: update README
43048         * README: Remove references to cogito.
43049         Remove cvs-repo-updating instructions from 2007.
43050         Don't imply that CVS is better if you have limited disk space.
43051
43052 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43053
43054         update-copyright: support C-style comments
43055         * build-aux/update-copyright: Implement and document.
43056         * tests/test-update-copyright.sh: Test.
43057
43058 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43059
43060         update-copyright: support omitted "(C)"
43061         * build-aux/update-copyright: Implement and document.  Also,
43062         allow variable whitespace before "(C)".
43063         * tests/test-update-copyright.sh: Test.
43064
43065 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43066
43067         update-copyright: don't trip on non-FSF copyright statements
43068         * build-aux/update-copyright: Fix so that the first correctly
43069         formatted FSF copyright statement is recognized no matter what
43070         appears before it.  Update documentation.
43071         * tests/test-update-copyright.sh: Test that.
43072
43073 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43074
43075         update-copyright: clean up code a little
43076         * build-aux/update-copyright: Append "_re" to the name of any
43077         variable holding a regular expression.
43078         Replace "old" and "new" with "stmt" in variable names.
43079         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
43080         handled correctly.
43081         Format code more consistently.
43082
43083 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43084
43085         update-copyright-tests: improve portability
43086         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
43087         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
43088
43089 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43090
43091         update-copyright: support @copyright{} and &copy;
43092         * build-aux/update-copyright: Implement and document.
43093         * tests/test-update-copyright.sh: Test.
43094
43095 2009-08-04  Jim Meyering  <meyering@redhat.com>
43096
43097         update-copyright-tests: correctly test EOL=\r\n handling
43098         * tests/test-update-copyright.sh: Put \r at the end of some lines
43099         for the dos-eol tests.  Based on a patch by Joel E. Denny.
43100
43101         maint.mk: make update-copyright exclusion list more configurable
43102         * top/maint.mk (update-copyright): Default to excluding COPYING,
43103         but allow an override, in case someone does want to update that file.
43104
43105         maint.mk: don't update copyright date in COPYING
43106         * top/maint.mk (update-copyright): Exclude COPYING.
43107
43108         maint.mk: add a copyright-updating rule
43109         * top/maint.mk (update-copyright): New rule.
43110         Derived from coreutils/Makefile.am.
43111
43112         update-copyright: rename some variables
43113         * build-aux/update-copyright: Rename a few variables for clarity.
43114         Tweak syntax.  List Joel E. Denny as coauthor.
43115
43116 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43117
43118         update-copyright: fix bug for 2-digit last year and add tests
43119         * build-aux/update-copyright: Fix bug.
43120         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
43121         specified.
43122         * modules/update-copyright-tests: New
43123         * tests/test-update-copyright.sh: New.
43124
43125 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43126
43127         update-copyright: handle leading tabs in line prefix
43128         * build-aux/update-copyright: Count leading tabs as 8 spaces
43129         when computing margin.  This helps with the formatting of
43130         ChangeLogs, for example.
43131         Fix documentation a little.
43132
43133 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43134
43135         update-copyright: support EOL=\r\n
43136         * build-aux/update-copyright: Implement that.
43137
43138 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43139
43140         update-copyright: automatically format copyright statements
43141         * build-aux/update-copyright: Implement that.
43142         Also, be a little more predictable and safer by always failing
43143         when the full copyright format is not perfectly recognized as an
43144         unbroken whole.  Discussed at
43145         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
43146         Rewrite documentation.
43147
43148 2009-08-03  Bruno Haible  <bruno@clisp.org>
43149
43150         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
43151
43152 2009-08-02  Bruno Haible  <bruno@clisp.org>
43153
43154         Tests for module 'uname'.
43155         * modules/uname-tests: New file.
43156         * tests/test-uname.c: New file.
43157
43158         New module 'uname'.
43159         * lib/uname.c: New file.
43160         * m4/uname.m4: New file.
43161         * modules/uname: New file.
43162         * doc/posix-functions/uname.texi: Mention the new module.
43163
43164 2009-08-02  Bruno Haible  <bruno@clisp.org>
43165
43166         Tests for module 'sys_utsname'.
43167         * modules/sys_utsname-tests: New file.
43168         * tests/test-sys_utsname.c: New file.
43169
43170         New module 'sys_utsname'.
43171         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
43172         * m4/sys_utsname_h.m4: New file.
43173         * modules/sys_utsname: New file.
43174         * doc/posix-headers/sys_utsname.texi: Mention the new module.
43175
43176 2009-08-02  Bruno Haible  <bruno@clisp.org>
43177
43178         Implicitly initialize the sockets library.
43179         * lib/gethostname.c: Include sockets.h.
43180         (rpl_gethostname): Invoke gl_sockets_startup.
43181         * lib/socket.c: Include sockets.h.
43182         (rpl_socket): Invoke gl_sockets_startup.
43183         * modules/gethostname (Depends-on): Add sockets.
43184         * modules/socket (Depends-on): Likewise.
43185         * tests/test-poll.c: Don't include sockets.h.
43186         (main): Don't invoke gl_sockets_startup.
43187         * tests/test-select.c: Don't include sockets.h.
43188         (main): Don't invoke gl_sockets_startup.
43189
43190 2009-08-02  Bruno Haible  <bruno@clisp.org>
43191
43192         Allow multiple calls to gl_sockets_startup.
43193         * lib/sockets.c (initialized_sockets_version): New variable.
43194         (gl_sockets_startup): Do nothing if already called for this or a higher
43195         version.
43196         (gl_sockets_cleanup): Reset initialized_sockets_version.
43197
43198 2009-08-03  Simon Josefsson  <simon@josefsson.org>
43199
43200         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
43201         different project/version.
43202
43203 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
43204             Bruno Haible  <bruno@clisp.org>
43205
43206         Tests for module 'pipe-filter-gi'.
43207         * modules/pipe-filter-gi-tests: New file.
43208         * tests/test-pipe-filter-gi1.sh: New file.
43209         * tests/test-pipe-filter-gi1.c: New file.
43210         * tests/test-pipe-filter-gi2.sh: New file.
43211         * tests/test-pipe-filter-gi2-main.c: New file.
43212         * tests/test-pipe-filter-gi2-child.c: New file.
43213
43214         New module 'pipe-filter-gi'.
43215         * lib/pipe-filter-gi.c: New file.
43216         * modules/pipe-filter-gi: New file.
43217
43218 2009-08-02  Bruno Haible  <bruno@clisp.org>
43219             Paolo Bonzini  <bonzini@gnu.org>
43220
43221         Tests for module 'pipe-filter-ii'.
43222         * modules/pipe-filter-ii-tests: New file.
43223         * tests/test-pipe-filter-ii1.sh: New file.
43224         * tests/test-pipe-filter-ii1.c: New file.
43225         * tests/test-pipe-filter-ii2.sh: New file.
43226         * tests/test-pipe-filter-ii2-main.c: New file.
43227         * tests/test-pipe-filter-ii2-child.c: New file.
43228
43229         New module 'pipe-filter-ii'.
43230         * lib/pipe-filter.h: New file.
43231         * lib/pipe-filter-ii.c: New file.
43232         * lib/pipe-filter-aux.h: New file.
43233         * modules/pipe-filter-ii: New file.
43234
43235 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43236
43237         * lib/gc-libgcrypt.c: Change copyright to FSF.
43238         * lib/gc-gnulib.c: Likewise.
43239
43240 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
43241
43242         * lib/gethostname.c: Include limits.h.
43243
43244 2009-08-02  Simon Josefsson  <simon@josefsson.org>
43245             Bruno Haible  <bruno@clisp.org>
43246
43247         Ensure HOST_NAME_MAX as part of the gethostname module.
43248         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
43249         define also HOST_NAME_MAX.
43250         * tests/test-gethostname.c: Include <limits.h>.
43251         (main): Check also HOST_NAME_MAX.
43252         * doc/posix-headers/limits.texi: Document the mingw problem.
43253
43254 2009-08-02  Bruno Haible  <bruno@clisp.org>
43255
43256         * lib/gethostname.c (gethostname): Fix handling of large len argument.
43257         Add comments.
43258
43259 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43260
43261         * lib/gethostname.c: Add Windows wrapper.
43262         * m4/gethostname.m4: Look for gethostname in -lws2_32.
43263         * modules/gethostname: Depend on sys_socket & errno, for also
43264         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
43265         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
43266
43267 2009-07-31  Jim Meyering  <meyering@redhat.com>
43268
43269         getloadavg: fix symbol name in comment
43270         * lib/getloadavg.c: Correct a typo I introduced when adding
43271         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
43272         Matt Kraai spotted the problem.
43273
43274 2009-07-29  Matt Kraai  <mkraai@beckman.com>
43275
43276         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
43277         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
43278         code also if ! defined N_NAME_POINTER.
43279         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
43280         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
43281         but the n_name member is a 12-byte array.
43282
43283 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
43284
43285         update-copyright: generalize comment handling
43286         * build-aux/update-copyright: Handle copyright statements
43287         within more comment styles.
43288         Document usage.
43289         Report any file with an external copyright holder or parse failure.
43290
43291 2009-07-29  Jim Meyering  <meyering@redhat.com>
43292
43293         mktime: correct setting of REPLACE_MKTIME
43294         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
43295
43296         update-copyright: new module
43297         * modules/update-copyright: New file.
43298         * build-aux/update-copyright: New file.
43299         * MODULES.html.sh (maint+release support): Add update-copyright.
43300
43301 2009-07-27  Bruno Haible  <bruno@clisp.org>
43302
43303         Fix compilation error when <ctime> is used and mktime is replaced.
43304         * lib/time.in.h (mktime): New declaration.
43305         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
43306         REPLACE_MKTIME instead of defining mktime in config.h.
43307         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
43308         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
43309         Reported by Ross McFarland <rwmcfa1@neces.com>.
43310
43311 2009-07-27  Bruno Haible  <bruno@clisp.org>
43312
43313         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
43314         Reported by Matt Kraai <mkraai@beckman.com>.
43315
43316 2009-07-25  Jim Meyering  <meyering@redhat.com>
43317
43318         maint.mk: avoid warnings about missing files
43319         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
43320         diagnostic when .prev-version does not exist.
43321         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
43322         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
43323         nonexistent cfg.mk.
43324         Suggestions from Simon Josefsson.
43325
43326 2009-07-25  Bruno Haible  <bruno@clisp.org>
43327
43328         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
43329         defined as macros. Needed on QNX 6.4.1.
43330         Reported by Matt Kraai <mkraai@beckman.com>.
43331
43332 2009-07-23  Jim Meyering  <meyering@redhat.com>
43333
43334         maint.mk: invoke "make dist" with a working value of XZ_OPT
43335         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
43336
43337 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
43338
43339         Make fseeko.c compile on QNX.
43340         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
43341
43342 2009-07-22  Peter Simons  <simons@cryp.to>
43343
43344         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
43345         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
43346         * lib/md4.h: Likewise.
43347         * lib/md5.h: Likewise.
43348         * lib/sha1.h: Likewise.
43349         * lib/sha256.h: Likewise.
43350         * lib/sha512.h: Likewise.
43351
43352         tests-sha1: don't assign literal string to 'char *' variable
43353         * tests/test-sha1.c (main): Declare locals with "const" to match
43354         attributes of the right hand side.
43355
43356 2009-07-21  Eric Blake  <ebb9@byu.net>
43357
43358         dup2: fix more mingw problems
43359         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
43360         fd to itself.
43361         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43362         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
43363         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
43364         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
43365         care of mingw bugs.
43366
43367 2009-07-21  Jim Meyering  <meyering@redhat.com>
43368
43369         vc-list-files: avoid failure when /bin/sh is dash
43370         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
43371         On some Debian based systems, /bin/sh is a symlink to dash, and running
43372         this command would omit the "/" following each 'tests' prefix:
43373           dash -x build-aux/vc-list-files -C . tests
43374         That is because bash and dash work differently:
43375           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
43376           bash ok
43377           dash odd
43378
43379 2009-07-21  Eric Blake  <ebb9@byu.net>
43380
43381         dup2-tests: test previous patch
43382         * modules/dup2-tests: New file.
43383         * tests/test-dup2.c: Likewise.
43384         * tests/test-open.c (main): Avoid unspecified behavior.
43385         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
43386         test.
43387
43388         dup2: work around mingw and cygwin 1.5 bug
43389         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
43390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43391         * modules/unistd (Makefile.am): Substitute it.
43392         * lib/unistd.in.h (dup2): Declare the replacement.
43393         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
43394         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
43395         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
43396         * modules/execute (Depends-on): Add dup2.
43397         * modules/fseterr (Depends-on): Likewise.
43398         * modules/pipe (Depends-on): Likewise.
43399         * modules/posix_spawn-internal (Depends-on): Likewise.
43400
43401 2009-07-21  Bruno Haible  <bruno@clisp.org>
43402
43403         * modules/.gitattributes: New file.
43404
43405 2009-07-20  Bruno Haible  <bruno@clisp.org>
43406
43407         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
43408         (main): Use it.
43409
43410 2009-07-20  Eric Blake  <ebb9@byu.net>
43411
43412         test-pipe: make a bit more robust.
43413         * tests/test-pipe.c (myerr): Allow error messages regardless of
43414         what we do to stderr.
43415         (test_pipe): Rearrange to avoid deadlock.
43416         (child_main): Try a larger read, to ensure we avoided deadlock.
43417         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
43418         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
43419         if misused.
43420
43421 2009-07-19  Jim Meyering  <meyering@redhat.com>
43422
43423         fts: avoid false-positive cycle-detection
43424         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
43425         for each new command line argument.
43426
43427 2009-07-19  Bruno Haible  <bruno@clisp.org>
43428
43429         Fix build error on mingw with the modules sys_select and unistd.
43430         * modules/acl-tests (Depends-on): Add close.
43431         * modules/binary-io-tests (Depends-on): Likewise.
43432         * modules/closein-tests (Depends-on): Likewise.
43433         * modules/flock-tests (Depends-on): Likewise.
43434         * modules/fsync-tests (Depends-on): Likewise.
43435         * modules/lseek-tests (Depends-on): Likewise.
43436         * modules/pipe-tests (Depends-on): Likewise.
43437         * modules/posix_spawn-tests (Depends-on): Likewise.
43438         * modules/posix_spawnp-tests (Depends-on): Likewise.
43439         * modules/stat-time-tests (Depends-on): Likewise.
43440         * modules/yesno-tests (Depends-on): Likewise.
43441
43442 2009-07-19  Bruno Haible  <bruno@clisp.org>
43443
43444         Unify conditionals.
43445         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
43446         macros, not at the compiler macros.
43447         * lib/pipe.c: Likewise.
43448         * lib/execute.c: Likewise.
43449         * lib/spawni.c: Likewise.
43450
43451 2009-07-19  Bruno Haible  <bruno@clisp.org>
43452
43453         Fix handling of closed stdin/stdout/stderr on mingw.
43454         * lib/w32spawn.h: Include unistd.h.
43455         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
43456         file descriptor with O_NOINHERIT flag.
43457         (fd_safer_noinherit): New function, based on fd-safer.c.
43458         (dup_safer_noinherit): New function, based on dup-safer.c.
43459         (undup_safer_noinherit): New function.
43460         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
43461         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
43462         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
43463         instead of fd_safer.
43464         * tests/test-pipe.c: Include <windows.h>.
43465         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
43466         result.
43467
43468         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
43469         from main.
43470         (test_pipe): Pass an extra argument for disambiguation.
43471         (main): Invoke parent_main or child_main.
43472
43473         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
43474         consistently.
43475
43476 2009-07-18  Eric Blake  <ebb9@byu.net>
43477
43478         test-pipe: fix mingw build
43479         * tests/test-pipe.c (main): Avoid fcntl on mingw.
43480
43481 2009-07-18  Bruno Haible  <bruno@clisp.org>
43482
43483         * modules/pipe-tests (Makefile.am): Fix typo.
43484
43485 2009-07-18  Eric Blake  <ebb9@byu.net>
43486
43487         error: fix mingw build
43488         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
43489         Reported by Bruno Haible.
43490
43491         error: avoid undefined use of stdout
43492         * lib/error.c (error, error_at_line): Check that fd 1 is open
43493         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
43494         is handling faults and the close_stdout module wants to report the
43495         detection of closed stdout as an error.
43496
43497 2009-07-17  Eric Blake  <ebb9@byu.net>
43498
43499         pipe: be robust in face of closed fds
43500         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
43501         should cause child to misbehave.
43502         * modules/pipe-tests: New module.
43503         * tests/test-pipe.c: New file.
43504         * tests/test-pipe.sh: New file.
43505         Reported by Akim Demaille.
43506
43507 2009-07-14  Bruno Haible  <bruno@clisp.org>
43508
43509         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
43510         Reported by anonymous kc.
43511
43512 2009-07-07  Jim Meyering  <meyering@redhat.com>
43513
43514         maint.mk: don't look for translatable strings in *.m4 or *.mk
43515         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
43516         when searching for translatable strings.
43517
43518 2009-07-05  Jim Meyering  <meyering@redhat.com>
43519
43520         remove superfluous parentheses in STREQ definition
43521         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
43522         * lib/getugroups.c (STREQ): Likewise.
43523         * lib/fnmatch.c (STREQ): Likewise.
43524         Spotted by Bruno Haible.
43525
43526 2009-07-04  Jim Meyering  <meyering@redhat.com>
43527
43528         argv-iter: new module
43529         * MODULES.html.sh: Add argv-iter.
43530         * lib/argv-iter.c, lib/argv-iter.h: New files.
43531         * modules/argv-iter: New file.
43532         * modules/argv-iter-tests: New file.
43533         * tests/test-argv-iter.c: Test it.
43534
43535 2009-07-04  Bruno Haible  <bruno@clisp.org>
43536
43537         Fix assertion.
43538         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
43539         contains more exact copies of a given entry than file2, leave the extra
43540         copies unpaired rather than aborting.
43541         Reported by Eric Blake.
43542
43543 2009-07-02  Bruno Haible  <bruno@clisp.org>
43544
43545         Speedup git-merge-changelog for git cherry-pick.
43546         * lib/git-merge-changelog.c (struct entries_mapping): New type.
43547         (entries_mapping_get): New function, extracted from compute_mapping.
43548         (entries_mapping_reverse_get): New function.
43549         (compute_mapping): Add a 'full' argument. Return the result in a
43550         'struct entries_mapping'.
43551         (main): Update. Access the mappings through entries_mapping_get.
43552         Reported by Eric Blake.
43553
43554 2009-07-02  Bruno Haible  <bruno@clisp.org>
43555
43556         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
43557         best_i.
43558
43559 2009-07-02  Bruno Haible  <bruno@clisp.org>
43560
43561         Speed up approximate search for matching ChangeLog entries.
43562         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
43563         argument. Call fstrcmp_bounded instead of fstrcmp.
43564         (compute_mapping, try_split_merged_entry, main): Update callers.
43565
43566 2009-07-02  Bruno Haible  <bruno@clisp.org>
43567
43568         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
43569
43570 2009-06-30  Bruno Haible  <bruno@clisp.org>
43571
43572         Reduce the number of uc_is_cased calls.
43573         * lib/unicase.h (casing_suffix_context_t): Add
43574         'first_char_except_ignorable' field.
43575         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
43576         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
43577         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
43578         Update initializer.
43579         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
43580         case-ignorable characters.
43581         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
43582         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
43583         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
43584         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
43585         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
43586
43587 2009-06-30  Bruno Haible  <bruno@clisp.org>
43588
43589         Tests for module 'unicase/ignorable'.
43590         * modules/unicase/ignorable-tests: New file.
43591         * tests/unicase/test-ignorable.c: New file, generated by
43592         gen-uni-tables.
43593
43594         Tests for module 'unicase/cased'.
43595         * modules/unicase/cased-tests: New file.
43596         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
43597         * tests/unicase/test-predicate-part1.h: New file, derived from
43598         tests/unictype/test-predicate-part1.h.
43599         * tests/unicase/test-predicate-part2.h: New file, same as
43600         tests/unictype/test-predicate-part2.h.
43601
43602         Fix evaluation of "Before C" condition of FINAL_SIGMA.
43603         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
43604         (output_casing_properties): New function.
43605         (main): Call it.
43606         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
43607         * lib/unicase/cased.c: Include unictype/bitmap.h.
43608         (uc_is_cased): Define through a bitmap lookup.
43609         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
43610         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
43611         (uc_is_case_ignorable): Define through a bitmap lookup.
43612         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
43613         lib/unictype/bitmap.h.
43614         (Depends-on): Add inline. Clean up.
43615         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
43616         lib/unictype/bitmap.h.
43617         (Depends-on): Add inline. Clean up.
43618         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
43619         recognition.
43620         * tests/unicase/test-u16-tolower.c (main): Likewise.
43621         * tests/unicase/test-u32-tolower.c (main): Likewise.
43622
43623 2009-06-30  Bruno Haible  <bruno@clisp.org>
43624
43625         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
43626         * lib/unicase/u16-casemap.c: Likewise.
43627         * lib/unicase/u32-casemap.c: Likewise.
43628
43629 2009-06-29  Bruno Haible  <bruno@clisp.org>
43630
43631         Define u32_casefold as a wrapper around u32_ct_casefold.
43632         * lib/unicase/u32-casefold.c: Update.
43633         * modules/unicase/u32-casefold (Depends-on): Add
43634         unicase/u32-ct-casefold, unicase/empty-prefix-context,
43635         unicase/empty-suffix-context. Clean up.
43636
43637         Define u16_casefold as a wrapper around u16_ct_casefold.
43638         * lib/unicase/u16-casefold.c: Update.
43639         * modules/unicase/u16-casefold (Depends-on): Add
43640         unicase/u16-ct-casefold, unicase/empty-prefix-context,
43641         unicase/empty-suffix-context. Clean up.
43642
43643         Define u8_casefold as a wrapper around u8_ct_casefold.
43644         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
43645         * lib/unicase/u8-casefold.c: Update.
43646         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
43647         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43648
43649         Define u32_totitle as a wrapper around u32_ct_totitle.
43650         * lib/unicase/u32-totitle.c: Update.
43651         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
43652         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43653
43654         Define u16_totitle as a wrapper around u16_ct_totitle.
43655         * lib/unicase/u16-totitle.c: Update.
43656         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
43657         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43658
43659         Define u8_totitle as a wrapper around u8_ct_totitle.
43660         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
43661         functions.
43662         (FUNC): Delegate to U_CT_TOTITLE.
43663         * lib/unicase/u8-totitle.c: Update.
43664         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
43665         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
43666
43667         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
43668         invocation.
43669         * modules/unicase/u32-tolower (Depends-on): Add
43670         unicase/empty-prefix-context, unicase/empty-suffix-context.
43671
43672         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
43673         invocation.
43674         * modules/unicase/u16-tolower (Depends-on): Add
43675         unicase/empty-prefix-context, unicase/empty-suffix-context.
43676
43677         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
43678         * modules/unicase/u8-tolower (Depends-on): Add
43679         unicase/empty-prefix-context, unicase/empty-suffix-context.
43680
43681         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
43682         invocation.
43683         * modules/unicase/u32-toupper (Depends-on): Add
43684         unicase/empty-prefix-context, unicase/empty-suffix-context.
43685
43686         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
43687         invocation.
43688         * modules/unicase/u16-toupper (Depends-on): Add
43689         unicase/empty-prefix-context, unicase/empty-suffix-context.
43690
43691         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
43692         * modules/unicase/u8-toupper (Depends-on): Add
43693         unicase/empty-prefix-context, unicase/empty-suffix-context.
43694
43695         New module 'unicase/u32-ct-casefold'.
43696         * lib/unicase/u32-ct-casefold.c: New file.
43697         * modules/unicase/u32-ct-casefold: New file.
43698
43699         New module 'unicase/u16-ct-casefold'.
43700         * lib/unicase/u16-ct-casefold.c: New file.
43701         * modules/unicase/u16-ct-casefold: New file.
43702
43703         New module 'unicase/u8-ct-casefold'.
43704         * lib/unicase/u8-ct-casefold.c: New file.
43705         * lib/unicase/u-ct-casefold.h: New file, derived from
43706         lib/unicase/u-casefold.h.
43707         * modules/unicase/u8-ct-casefold: New file.
43708
43709         New module 'unicase/u32-ct-totitle'.
43710         * lib/unicase/u32-ct-totitle.c: New file.
43711         * modules/unicase/u32-ct-totitle: New file.
43712
43713         New module 'unicase/u16-ct-totitle'.
43714         * lib/unicase/u16-ct-totitle.c: New file.
43715         * modules/unicase/u16-ct-totitle: New file.
43716
43717         New module 'unicase/u8-ct-totitle'.
43718         * lib/unicase/u8-ct-totitle.c: New file.
43719         * lib/unicase/u-ct-totitle.h: New file, derived from
43720         lib/unicase/u-totitle.h.
43721         * modules/unicase/u8-ct-totitle: New file.
43722
43723         New module 'unicase/u32-ct-tolower'.
43724         * lib/unicase/u32-ct-tolower.c: New file.
43725         * modules/unicase/u32-ct-tolower: New file.
43726
43727         New module 'unicase/u16-ct-tolower'.
43728         * lib/unicase/u16-ct-tolower.c: New file.
43729         * modules/unicase/u16-ct-tolower: New file.
43730
43731         New module 'unicase/u8-ct-tolower'.
43732         * lib/unicase/u8-ct-tolower.c: New file.
43733         * modules/unicase/u8-ct-tolower: New file.
43734
43735         New module 'unicase/u32-ct-toupper'.
43736         * lib/unicase/u32-ct-toupper.c: New file.
43737         * modules/unicase/u32-ct-toupper: New file.
43738
43739         New module 'unicase/u16-ct-toupper'.
43740         * lib/unicase/u16-ct-toupper.c: New file.
43741         * modules/unicase/u16-ct-toupper: New file.
43742
43743         New module 'unicase/u8-ct-toupper'.
43744         * lib/unicase/u8-ct-toupper.c: New file.
43745         * modules/unicase/u8-ct-toupper: New file.
43746
43747         Add context arguments to u*_casemap functions.
43748         * lib/unicase/unicasemap.h: Include unicase.h.
43749         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
43750         suffix_context arguments.
43751         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
43752         functions.
43753         (FUNC): Add prefix_context and suffix_context arguments. Use
43754         uc_is_cased and uc_is_case_ignorable.
43755         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
43756         * lib/unicase/u16-casemap.c: Likewise.
43757         * lib/unicase/u32-casemap.c: Likewise.
43758         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
43759         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43760         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
43761         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43762         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
43763         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
43764
43765         New module 'unicase/u32-suffix-context'.
43766         * lib/unicase/u32-suffix-context.c: New file.
43767         * modules/unicase/u32-suffix-context: New file.
43768
43769         New module 'unicase/u16-suffix-context'.
43770         * lib/unicase/u16-suffix-context.c: New file.
43771         * modules/unicase/u16-suffix-context: New file.
43772
43773         New module 'unicase/u8-suffix-context'.
43774         * lib/unicase/u8-suffix-context.c: New file.
43775         * lib/unicase/u-suffix-context.h: New file.
43776         * modules/unicase/u8-suffix-context: New file.
43777
43778         New module 'unicase/empty-suffix-context'.
43779         * lib/unicase/empty-suffix-context.c: New file.
43780         * modules/unicase/empty-suffix-context: New file.
43781
43782         New module 'unicase/u32-prefix-context'.
43783         * lib/unicase/u32-prefix-context.c: New file.
43784         * modules/unicase/u32-prefix-context: New file.
43785
43786         New module 'unicase/u16-prefix-context'.
43787         * lib/unicase/u16-prefix-context.c: New file.
43788         * modules/unicase/u16-prefix-context: New file.
43789
43790         New module 'unicase/u8-prefix-context'.
43791         * lib/unicase/u8-prefix-context.c: New file.
43792         * lib/unicase/u-prefix-context.h: New file.
43793         * lib/unicase/context.h: New file.
43794         * modules/unicase/u8-prefix-context: New file.
43795
43796         New module 'unicase/empty-prefix-context'.
43797         * lib/unicase/empty-prefix-context.c: New file.
43798         * modules/unicase/empty-prefix-context: New file.
43799
43800         New module 'unicase/ignorable'.
43801         * lib/unicase/ignorable.c: New file.
43802         * modules/unicase/ignorable: New file.
43803
43804         New module 'unicase/cased'.
43805         * lib/unicase/caseprop.h: New file.
43806         * lib/unicase/cased.c: New file.
43807         * modules/unicase/cased: New file.
43808
43809         New functions for case mapping of substrings.
43810         * lib/unicase.h (casing_prefix_context_t): New type.
43811         (unicase_empty_prefix_context): New variable.
43812         (u8_casing_prefix_context, u16_casing_prefix_context,
43813         u32_casing_prefix_context, u8_casing_prefixes_context,
43814         u16_casing_prefixes_context, u32_casing_prefixes_context): New
43815         declarations.
43816         (casing_suffix_context_t): New type.
43817         (unicase_empty_suffix_context): New variable.
43818         (u8_casing_suffix_context, u16_casing_suffix_context,
43819         u32_casing_suffix_context, u8_casing_suffixes_context,
43820         u16_casing_suffixes_context, u32_casing_suffixes_context,
43821         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
43822         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
43823         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
43824         declarations.
43825
43826 2009-06-28  Jim Meyering  <meyering@redhat.com>
43827
43828         boostrap: indent only with spaces
43829         * build-aux/bootstrap: Indent only with spaces, never TABs.
43830
43831         bootstrap: split long lines
43832         * build-aux/bootstrap: Keep line length < 80.
43833
43834         bootstrap: sync from coreutils
43835         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
43836         just as autoreconf does.  Verify a list of prerequisite
43837         package-name,version-number pairs if defined in bootstrap.conf.
43838         Refer to README-prereq, if prerequisites are not satisfied.
43839
43840 2009-06-27  Eric Blake  <ebb9@byu.net>
43841
43842         tests: add test for bogus NULL definition
43843         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
43844         * tests/test-stdlib.c: Likewise.
43845         * tests/test-string.c: Likewise.
43846         * tests/test-locale.c: Likewise.
43847         * tests/test-unistd.c: Likewise.
43848         * modules/stdio-tests (Depends-on): Add verify.
43849         * modules/stdlib-tests (Depends-on): Likewise.
43850         * modules/string-tests (Depends-on): Likewise.
43851         * modules/locale-tests (Depends-on): Likewise.
43852         * modules/unistd-tests (Depends-on): Likewise.
43853
43854 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
43855
43856         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
43857         self-explaining comment.
43858         * m4/selinux-selinux-h: Update serial.
43859         (gl_LIBSELINUX): New macro, adding a warning for missing development
43860         packages to code extracted from...
43861         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
43862         Add warning for missing development packages here, too.
43863
43864 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
43865
43866         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
43867
43868 2009-06-25  Eric Blake  <ebb9@byu.net>
43869
43870         version-etc: fix regression
43871         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
43872         gcc.
43873         (version_etc): Use it, to catch bugs with trailing NULL.
43874         * lib/version-etc.c (version_etc_arn): Delete unused argument.
43875         (version_etc_va): Fix logic bug.
43876         * modules/version-etc-tests: Add test.
43877         * tests/test-version-etc.c: New file.
43878         * tests/test-version-etc.sh: Likewise.
43879
43880 2009-06-25  Sam Steingold  <sds@gnu.org>
43881
43882         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
43883         mbtowc declaration.
43884
43885 2009-06-25  Eric Blake  <ebb9@byu.net>
43886
43887         fpurge: migrate into <stdio.h>
43888         * lib/fpurge.h: Delete...
43889         * lib/stdio.in.h (fpurge): ...and declare here, instead.
43890         * lib/fpurge.c (fpurge): Change declaring header.
43891         * modules/fpurge (Files): Drop deleted file.
43892         (Depends-on): Add stdio.
43893         (configure.ac): Set witness.
43894         * modules/stdio (Makefile.am): Support fpurge macros.
43895         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43896         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
43897         * lib/fflush.c: Update client.
43898         * tests/test-fpurge.c: Likewise.
43899         * NEWS: Mention the change.
43900
43901 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43902
43903         * lib/argp-version-etc.c (program_authors): Add const
43904         qualifier.
43905         * lib/version-etc.c: Fix typos in the comments.
43906         * modules/argp-version-etc: Depends on version-etc.
43907
43908 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43909
43910         argp-version-etc: new module.
43911
43912         * lib/argp-version-etc.c: New file.
43913         * lib/argp-version-etc.h: New file.
43914         * modules/argp-version-etc: New file.
43915         * modules/argp-version-etc-tests: New file.
43916         * tests/test-argp-version-etc.c: New test.
43917         * tests/test-argp-version-etc-1.sh: New test.
43918
43919 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
43920
43921         Provide additional interfaces and documentation for version-etc
43922         module.
43923
43924         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
43925         interfaces.
43926         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
43927         prototypes.
43928
43929 2009-06-24  Bruno Haible  <bruno@clisp.org>
43930
43931         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
43932         HAVE_LIB${NAME} macro.
43933         Reported by Sam Steingold <sds@gnu.org>.
43934
43935 2009-06-23  Simon Josefsson  <simon@josefsson.org>
43936
43937         * modules/hash-tests (test_hash_LDADD): Link to libintl when
43938         needed.
43939
43940 2009-06-21  Bruno Haible  <bruno@clisp.org>
43941
43942         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
43943         work.
43944         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
43945         together with LIB${NAME}, LTLIB${NAME}.
43946         Reported by Sam Steingold <sds@gnu.org>.
43947
43948 2009-06-20  Jim Meyering  <meyering@redhat.com>
43949
43950         tests: make sc_require_test_exit_idiom more generic
43951         * top/maint.mk (Exit_witness_file): New overridable variable.
43952         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
43953         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
43954
43955 2009-06-19  Jim Meyering  <meyering@redhat.com>
43956
43957         hash: reverse order of src/dst parameters in an internal interface
43958         * lib/hash.c (transfer_entries): Reverse order of parameters to
43959         put DST before SRC.  Adjust callers.
43960
43961         tests: test-hash: avoid wholesale duplication
43962         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
43963         Instead, use a loop and add a single conditional.
43964
43965         tests: test-hash: allow seed selection via a command line argument
43966         * tests/test-hash.c (get_seed): New function.
43967         (main): Use it.
43968
43969 2009-06-19  Eric Blake  <ebb9@byu.net>
43970
43971         hash: avoid memory leak on allocation failure
43972         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
43973         failure.  Factor repeated algorithm...
43974         (transfer_entries): ...into new helper routine.
43975         (hash_delete): React to hash_rehash return value.
43976
43977         hash: reduce memory pressure in hash_rehash no-op case
43978         * lib/hash.c (next_prime): Avoid overflow.
43979         (hash_initialize): Factor bucket size computation...
43980         (compute_bucket_size): ...into new helper function.
43981         (hash_rehash): Use new function and open coding to reduce memory
43982         pressure, and avoid a memory leak in USE_OBSTACK code.
43983         Reported by Jim Meyering.
43984
43985 2009-06-18  Eric Blake  <ebb9@byu.net>
43986
43987         hash: make rotation more obvious
43988         * modules/hash (Depends-on): Add bitrotate and stdint.
43989         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
43990         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
43991         (SIZE_MAX): Rely on headers for definition.
43992         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
43993         (raw_hasher): Use rotr_sz.
43994         Suggested by Jim Meyering.
43995
43996         hash: fix memory leak in last patch
43997         * lib/hash.c (hash_rehash): Avoid memory leak.
43998
43999         hash: avoid no-op rehashing
44000         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
44001
44002         hash: provide default callback functions
44003         * lib/hash.c (raw_hasher, raw_comparator): New functions.
44004         (hash_initialize): Use them as defaults.
44005         * tests/test-hash.c (main): Test this.
44006
44007         hash: minor optimization
44008         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
44009         when possible.
44010         (hash_initialize): Document this promise.
44011         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
44012         * tests/test-hash.c (hash_compare_strings): Test this.
44013
44014 2009-06-18  Bruno Haible  <bruno@clisp.org>
44015
44016         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
44017         going to be replaced anyway.
44018
44019 2009-06-18  Bruno Haible  <bruno@clisp.org>
44020
44021         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
44022         in one place.
44023         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
44024         be replaced anyway.
44025
44026 2009-06-18  Eric Blake  <ebb9@byu.net>
44027
44028         hash: check for resize before insertion
44029         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
44030         threshold before insertion, so that a pathological hash_rehash
44031         that fills every bucket can still trigger another rehash.
44032
44033 2009-06-18  Jim Meyering  <meyering@redhat.com>
44034
44035         hash-tests: add a loop around the small tests
44036         * tests/test-hash.c (main): Repeat small tests with selected
44037         small initial table sizes.
44038
44039 2009-06-17  Eric Blake  <ebb9@byu.net>
44040
44041         hash: minor cleanups
44042         * lib/hash.h (hash_entry): Make opaque, by moving...
44043         * lib/hash.c (hash_entry): ...here.
44044         (hash_insert): Clarify restrictions on what can be inserted.
44045         (hash_get_next): Clarify when it is safe to remove an element
44046         during traversal.
44047         (check_tuning): Skip verification when tuning is known safe.
44048         (hash_initialize): Clarify restrictions on tuning.
44049
44050 2009-06-17  Jim Meyering  <jim@meyering.net>
44051         and Eric Blake  <ebb9@byu.net>
44052
44053         hash-tests: new module
44054         * modules/hash-tests: New file.
44055         * tests/test-hash.c: New file.
44056
44057 2009-06-17  Eric Blake  <ebb9@byu.net>
44058
44059         strstr-simple: document new module
44060         * MODULES.html.sh: Document new module.
44061
44062         strstr, strcasestr: replace on platforms with broken memchr
44063         * modules/strstr: Split into...
44064         * modules/strstr-simple: ...new module that does not care about
44065         performance, but does care about glibc bug.
44066         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
44067         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
44068         if platform memchr is broken, per Debian bug 521737.
44069         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
44070         memchr.
44071         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
44072         * doc/posix-functions/strstr.texi (strstr): Document the fix.
44073         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44074         * modules/mountlist (Depends-on): Add strstr-simple.
44075         * modules/gen-uni-tables (Depends-on): Likewise.
44076         * modules/argz (Depends-on): Add strstr.
44077
44078 2009-06-17  Bruno Haible  <bruno@clisp.org>
44079
44080         * modules/posix_spawn-internal (Depends-on): Add errno.
44081
44082 2009-06-17  Bruno Haible  <bruno@clisp.org>
44083
44084         Define missing ESTALE on Interix 3.5.
44085         * lib/errno.in.h (ESTALE): Assign a value if missing.
44086         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
44087         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
44088         missing.
44089         * doc/posix-headers/errno.texi: Mention the Interix bug.
44090         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
44091
44092 2009-06-15  Eric Blake  <ebb9@byu.net>
44093
44094         memchr, memchr2: add valgrind exception
44095         * lib/memchr.valgrind: New file.
44096         * lib/memchr2.valgrind: New file.
44097         * modules/memchr (Files): Distribute valgrind file.
44098         * modules/memchr2 (Files): Likewise.
44099
44100         docs: memchr is no longer obsolete
44101         * MODULES.html.sh: Move memchr from obsolete to string.h section.
44102         * lib/string.in.h (memchr): Simplify logic.
44103
44104 2009-06-14  Jim Meyering  <meyering@redhat.com>
44105
44106         link-follow: fix the "checking..." message to not mention trailing slash
44107         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
44108         never considered trailing slashes.
44109
44110 2009-06-14  Bruno Haible  <bruno@clisp.org>
44111
44112         * m4/memchr.m4: Mention also the bug on IA-64.
44113         * doc/posix-functions/memchr.texi: Likewise.
44114
44115 2009-06-12  Eric Blake  <ebb9@byu.net>
44116
44117         memchr: detect broken x86_64 and alpha implementations
44118         * modules/memchr-tests (Depends-on): Move mmap detection...
44119         * modules/memchr (Depends-on): ...here.
44120         (configure.ac): Set indicator.
44121         * lib/string.in.h (memchr): Declare replacement.
44122         * modules/string (Makefile.am): Trigger replacement.
44123         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44124         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
44125         bugs.
44126         * doc/posix-functions/memchr.texi (memchr): Document the bug.
44127         * modules/getpagesize (License): Relax license.
44128
44129 2009-06-11  Bruno Haible  <bruno@clisp.org>
44130
44131         * lib/idpriv.h: Add more references.
44132
44133 2009-06-08  Bruno Haible  <bruno@clisp.org>
44134
44135         Tests for module 'idpriv-droptemp'.
44136         * modules/idpriv-droptemp-tests: New file.
44137         * tests/test-idpriv-droptemp.sh: New file.
44138         * tests/test-idpriv-droptemp.su.sh: New file.
44139         * tests/test-idpriv-droptemp.c: New file.
44140
44141         New module 'idpriv-droptemp'.
44142         * lib/idpriv-droptemp.c: New file.
44143         * modules/idpriv-droptemp: New file.
44144
44145 2009-06-08  Bruno Haible  <bruno@clisp.org>
44146
44147         Tests for module 'idpriv-drop'.
44148         * modules/idpriv-drop-tests: New file.
44149         * tests/test-idpriv-drop.sh: New file.
44150         * tests/test-idpriv-drop.su.sh: New file.
44151         * tests/test-idpriv-drop.c: New file.
44152
44153         New module 'idpriv-drop'.
44154         * lib/idpriv.h: New file.
44155         * lib-idpriv-drop.c: New file.
44156         * m4/idpriv.m4: New file.
44157         * modules/idpriv-drop: New file.
44158
44159 2009-06-08  Bruno Haible  <bruno@clisp.org>
44160
44161         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
44162         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44163         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44164         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44165         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44166         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44167         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44168
44169 2009-06-08  Eric Blake  <ebb9@byu.net>
44170
44171         test-strstr: use memory fence, when possible
44172         * tests/test-strstr.c (main): Use memory fence, in order to be
44173         more likely to trigger Debian bug 521737.
44174         * modules/strstr-tests (Files): Pull in additional files.
44175
44176         memchr: no longer obsolete, for wider field testing
44177         * modules/memchr (Status, Notice): Delete, this module is no
44178         longer obsolete.
44179         * modules/vasnprintf (Depends-on): Add memchr.
44180
44181 2009-06-07  Jim Meyering  <meyering@redhat.com>
44182
44183         hash: declare some functions with the warn_unused_result attribute
44184         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
44185
44186 2009-06-07  Bruno Haible  <bruno@clisp.org>
44187
44188         * tests/test-alignof.c: Don't test int64_t if it does not exist.
44189         Reported by Eric Blake.
44190
44191 2009-06-06  Eric Blake  <ebb9@byu.net>
44192
44193         test-alignof: fix typo with long double
44194         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
44195         compiler error.
44196
44197 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
44198
44199         Escape non-texinfo { and }s.
44200         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
44201         markup error.
44202
44203 2009-06-04  Jim Meyering  <meyering@redhat.com>
44204
44205         gitlog-to-changelog: don't infloop on an empty commit log
44206         * build-aux/gitlog-to-changelog: Warn about an empty log message.
44207         Reported by Boris Petersen <transacid@centerim.org>.
44208
44209 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
44210
44211         version-etc: extend for packagers
44212         Add three new configure options, intended for packagers:
44213           --with-packager="packager name"
44214           --with-packager-version="packager-specific version"
44215           --with-packager-bug-reports="packager bug reporting"
44216         An example with coreutils:
44217           $ ./configure \
44218             --with-packager=Gentoo \
44219             --with-packager-bug-report=http://bugs.gentoo.org/ \
44220             --with-packager-version="patchset 1.6"
44221           $ ./src/ls --version | head -n2
44222           ls (GNU coreutils) 7.1-dirty
44223           Packaged by Gentoo (patchset 1.6)
44224         Note that the bug reporting info via --help doesn't show up because
44225         coreutils uses its own custom emit_bug_reporting_address() implementation
44226         in src/system.h.  If it didn't, it'd look like:
44227           $ ./src/ls --help | tail -n4
44228           Report bugs to <bug-coreutils@gnu.org>.
44229           Report Gentoo bugs to <http://bugs.gentoo.org/>.
44230           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
44231           General help using GNU software: <http://www.gnu.org/gethelp/>.
44232         * lib/version-etc.c: Print new information, if provided.
44233         * m4/version-etc.m4: New file.
44234         * modules/version-etc (Files): Add m4/version-etc.m4.
44235         (configure.ac): Add gl_VERSION_ETC.
44236
44237 2009-05-31  Bruno Haible  <bruno@clisp.org>
44238
44239         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
44240         and 'int64_t'.
44241         * modules/alignof-tests (Dependencies): Add stdint.
44242         Reported by Eric Blake.
44243
44244 2009-05-31  Bruno Haible  <bruno@clisp.org>
44245
44246         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
44247         restriction due to compiler bugs.
44248         Reported by Eric Blake.
44249
44250 2009-05-31  Simon Josefsson  <simon@josefsson.org>
44251             Bruno Haible  <bruno@clisp.org>
44252
44253         Fix test-alignof failure.
44254         * lib/alignof.h (alignof_slot): New macro.
44255         (alignof_type): New macro, with the same semantics as the previous
44256         'alignof'.
44257         (alignof): Alias to alignof_slot.
44258         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
44259         check that the results are usable as constant expressions.
44260
44261 2009-05-31  Bruno Haible  <bruno@clisp.org>
44262
44263         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
44264         * tests/test-memchr.c (main): Check that memchr does not read past the
44265         first occurrence of the byte.
44266         * tests/test-strstr.c (main): Update comment.
44267         Suggested by Eric Blake.
44268
44269 2009-05-30  Bruno Haible  <bruno@clisp.org>
44270
44271         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
44272         detail how to use dumpbin.
44273         Reported by David Byron <dbyron@dbyron.com>.
44274
44275 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44276
44277         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
44278
44279 2009-06-02  Simon Josefsson  <simon@josefsson.org>
44280
44281         * m4/manywarnings.m4: Add GCC 4.4 warnings.
44282
44283 2009-05-28  Bruno Haible  <bruno@clisp.org>
44284
44285         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
44286         build-aux/ files.
44287
44288 2009-05-28  Simon Josefsson  <simon@josefsson.org>
44289
44290         * gnulib-tool (func_import): Transform license on build-aux/ files too.
44291
44292 2009-05-27  Simon Josefsson  <simon@josefsson.org>
44293
44294         * gnulib-tool (sed_transform_main_lib_file)
44295         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
44296         regexps.
44297
44298 2009-05-26  Simon Josefsson  <simon@josefsson.org>
44299
44300         * tests/test-strstr.c: Add another self-test.
44301         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
44302         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
44303
44304 2009-05-23  Bruno Haible  <bruno@clisp.org>
44305
44306         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
44307         change.
44308
44309 2009-05-21  Bruno Haible  <bruno@clisp.org>
44310
44311         Simplify use of mode_t varargs.
44312         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
44313         uses 'mode_t' or 'int'.
44314         * lib/openat.c (openat): Likewise.
44315         * lib/open-safer.c (open_safer): Likewise.
44316         * m4/mode_t.m4: New file.
44317         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
44318         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
44319         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
44320         * modules/open (Files): Add m4/mode_t.m4.
44321         * modules/openat (Files): Likewise.
44322         * modules/fcntl-safer (Files): Likewise.
44323         Suggested by Eric Blake.
44324
44325 2009-05-21  Pádraig Brady  <P@draigbrady.com>
44326
44327         * doc/glibc-functions/fallocate.texi: New file.
44328         * doc/gnulib.texi: Include it.
44329
44330 2009-05-21  Eric Blake  <ebb9@byu.net>
44331             Bruno Haible  <bruno@clisp.org>
44332
44333         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
44334         invocations.
44335         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44336
44337 2009-05-21  Eric Blake  <ebb9@byu.net>
44338             Bruno Haible  <bruno@clisp.org>
44339
44340         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
44341         include_next. Fix of 2008-11-20 commit.
44342         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
44343         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
44344         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
44345         NEXT_MATH_H.
44346         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
44347         instead of NEXT_MATH_H.
44348
44349 2009-05-21  Bruno Haible  <bruno@clisp.org>
44350
44351         Avoid redefinition warnings for SIZE_MAX.
44352         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
44353         Reported by Simon Josefsson.
44354
44355 2009-05-21  Bruno Haible  <bruno@clisp.org>
44356
44357         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
44358         AC_CACHE_VAL.
44359
44360 2009-05-20  Bruno Haible  <bruno@clisp.org>
44361
44362         Make zeroptr.h work on mingw.
44363         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
44364         mprotect.
44365         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
44366         * modules/memchr2-tests (configure.ac): Likewise.
44367         * modules/memcmp-tests (configure.ac): Likewise.
44368         * modules/memmem-tests (configure.ac): Likewise.
44369         * modules/memrchr-tests (configure.ac): Likewise.
44370         Reported by Simon Josefsson.
44371
44372 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44373
44374         * tests/test-glob.c: Include string.h for strcmp prototype.
44375
44376 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44377
44378         * modules/getdelim (Depends-on): Add explicit stdint, although it
44379         was implicitly already pulled in via realloc-posix.
44380         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
44381
44382 2009-05-20  Simon Josefsson  <simon@josefsson.org>
44383
44384         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
44385         G. Christensen" <tgc@jupiterrise.com>.
44386         * m4/sys_socket_h.m4: Check for sa_family_t.
44387         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
44388         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
44389         * tests/test-sys_socket.c: Check that sa_family_t works.
44390
44391 2009-05-18  Eric Blake  <ebb9@byu.net>
44392
44393         maint.mk: allow gnulib_dir in VPATH build
44394         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
44395
44396 2009-05-15  Jim Meyering  <meyering@redhat.com>
44397
44398         maint.mk: Give gnulib_dir a default definition.
44399         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
44400         Thus, most packages no longer need to specify this variable in cfg.mk
44401
44402 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
44403
44404         rename.m4: fix typos that would make non-mingw cross-configure fail
44405         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
44406
44407 2009-05-13  Eric Blake  <ebb9@byu.net>
44408
44409         mmap-anon: avoid out-of-order autoconf expansion
44410         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
44411         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
44412         * modules/memchr-tests (Depends-on): Add extensions.
44413         * modules/memchr2-tests (Depends-on): Add extensions.
44414         * modules/memcmp-tests (Depends-on): Add extensions.
44415         * modules/memmem-tests (Depends-on): Add extensions.
44416         * modules/memrchr-tests (Depends-on): Add extensions.
44417
44418 2009-05-13  Bruno Haible  <bruno@clisp.org>
44419
44420         Make some tests ISO C 99 compliant.
44421         * tests/zerosize-ptr.h: New file.
44422         * tests/test-memchr.c: Include zerosize-ptr.h.
44423         (main): Use a zero-size object pointer instead of NULL.
44424         * tests/test-memchr2.c: Include zerosize-ptr.h.
44425         (main): Use a zero-size object pointer instead of NULL.
44426         * tests/test-memcmp.c: Include zerosize-ptr.h.
44427         (main): Use a zero-size object pointer instead of NULL.
44428         * tests/test-memmem.c: Include zerosize-ptr.h.
44429         (main): Use a zero-size object pointer instead of NULL.
44430         * tests/test-memrchr.c: Include zerosize-ptr.h.
44431         (main): Use a zero-size object pointer instead of NULL.
44432         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
44433         m4/mmap-anon.m4.
44434         (Depends-on): Add getpagesize.
44435         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44436         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
44437         m4/mmap-anon.m4.
44438         (Depends-on): Add getpagesize.
44439         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44440         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
44441         m4/mmap-anon.m4.
44442         (Depends-on): Add getpagesize.
44443         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44444         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
44445         m4/mmap-anon.m4.
44446         (Depends-on): Add getpagesize.
44447         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44448         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
44449         m4/mmap-anon.m4.
44450         (Depends-on): Add getpagesize.
44451         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
44452
44453 2009-05-12  Bruno Haible  <bruno@clisp.org>
44454
44455         Tests for module 'alignof'.
44456         * modules/alignof-tests: New file.
44457         * tests/test-alignof.c: New file.
44458
44459 2009-05-12  Bruno Haible  <bruno@clisp.org>
44460
44461         Fix alignof macro.
44462         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
44463         vendor compilers that are always correct.
44464
44465 2009-05-12  Bruno Haible  <bruno@clisp.org>
44466
44467         Make the MAP_ANONYMOUS detection work on HP-UX 11.
44468         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
44469         not whether its fully works.
44470
44471 2009-05-12  Bruno Haible  <bruno@clisp.org>
44472
44473         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
44474
44475 2009-05-12  Jim Meyering  <meyering@redhat.com>
44476
44477         * top/maint.mk: Adjust backslash alignment.
44478
44479 2009-05-11  Simon Josefsson  <simon@josefsson.org>
44480
44481         * top/maint.mk: Make $(srcdir)/build-aux configurable.
44482
44483 2009-05-11  Eric Blake  <ebb9@byu.net>
44484
44485         argp: avoid undefined behavior
44486         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
44487         macros.
44488
44489 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44490
44491         * tests/test-vc-list-files-git.sh: Do git config of user.email and
44492         user.name to prevent git commit from complaining.
44493
44494 2009-05-10  Bruno Haible  <bruno@clisp.org>
44495
44496         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
44497         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
44498         it rewrites every file name only once.
44499         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
44500
44501 2009-05-08  Bruno Haible  <bruno@clisp.org>
44502
44503         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
44504         instead of 'max'.
44505
44506 2009-05-08  Simon Josefsson  <simon@josefsson.org>
44507
44508         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
44509         sockaddr_storage test.
44510
44511 2009-05-07  Simon Josefsson  <simon@josefsson.org>
44512
44513         * modules/sys_socket (Makefile.am): Substitute
44514         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
44515         * m4/sys_socket_h.m4: Check for sockaddr_storage.
44516         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
44517         * tests/test-sys_socket.c: Check sockaddr_storage.
44518
44519 2009-05-08  Bruno Haible  <bruno@clisp.org>
44520
44521         New module 'alignof'.
44522         * lib/alignof.h: New file.
44523         * modules/alignof: New file.
44524
44525 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44526             Bruno Haible  <bruno@clisp.org>
44527
44528         Fix test-file-has-acl on FreeBSD.
44529         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
44530         mask is implicitly added.
44531         * tests/test-file-has-acl.c: Include <signal.h>.
44532         (main): Terminate the test after 5 seconds.
44533         * modules/acl-tests (configure.ac): Check for alarm function.
44534
44535 2009-05-04  Bruno Haible  <bruno@clisp.org>
44536
44537         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
44538         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
44539         * modules/errno (configure.ac): Drop AC_REQUIRE.
44540         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
44541         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
44542
44543 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44544
44545         * modules/glob-tests: New module.
44546         * tests/test-glob.c: Add.
44547
44548 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44549
44550         * modules/fnmatch-tests: New module.
44551         * tests/test-fnmatch.c: Add.
44552
44553 2009-05-04  Eric Blake  <ebb9@byu.net>
44554
44555         maint: make the new no-submodule-changes rule VPATH-safe
44556         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
44557
44558 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44559             Bruno Haible  <bruno@clisp.org>
44560
44561         acl: Fix infinite loop on FreeBSD.
44562         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
44563         of return value from acl_get_entry.
44564         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
44565         Likewise.
44566
44567 2009-05-03  Bruno Haible  <bruno@clisp.org>
44568
44569         * lib/acl-internal.h (acl_entries): Clarify return value.
44570         * lib/acl_entries.c (acl_entries): Likewise.
44571
44572 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44573
44574         Bug fix in acl module.
44575         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
44576
44577 2009-05-03  Bruno Haible  <bruno@clisp.org>
44578
44579         Create gperf-generated file in the source dir, not in the build dir.
44580         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
44581         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
44582         * modules/unicase/locale-language (unicase/locale-languages.h):
44583         Likewise.
44584         * modules/unicase/special-casing (unicase/special-casing-table.h):
44585         Likewise.
44586         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
44587         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
44588         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
44589         Reported by Ralf Wildenhues.
44590
44591 2009-05-03  Bruno Haible  <bruno@clisp.org>
44592
44593         * modules/fnmatch (Description, configure.ac): Taken from
44594         fnmatch-posix.
44595         * modules/fnmatch-posix: Turn into a symbolic reference to the
44596         'fnmatch' module, and deprecate.
44597         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
44598
44599 2009-05-03  Bruno Haible  <bruno@clisp.org>
44600
44601         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
44602         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
44603         Reported by Ralf Wildenhues.
44604
44605 2009-05-04  Simon Josefsson  <simon@josefsson.org>
44606
44607         * m4/fnmatch.m4: Fix fnmatch re-define.
44608
44609 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
44610
44611         priv-set: new module and tests; adapt write-any-file
44612         * lib/priv-set.c: New file.
44613         * lib/priv-set.h: New file.
44614         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
44615         * lib/write-any-file.c: Simplify by using priv-set module.
44616         * m4/priv-set.m4: New file.
44617         * modules/priv-set: New file.
44618         * modules/unlinkdir: Add dependency on priv-set module.
44619         * modules/write-any-file: Likewise.
44620
44621         Tests for module 'priv-set'.
44622         * modules/priv-set-tests: New file.
44623         * tests/test-priv-set.c: New file.
44624
44625 2009-05-03  Jim Meyering  <meyering@redhat.com>
44626             Bruno Haible  <bruno@clisp.org>
44627
44628         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
44629         use the converted UTF-8 variant of the name instead.
44630
44631 2009-05-03  Jim Meyering  <meyering@redhat.com>
44632
44633         tests: tighten some getdate tests
44634         * tests/test-getdate.c (main): Tighten tests: require equality,
44635         not just greater than.  Set TZ envvar to UTC0.
44636
44637 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
44638
44639         getdate: correctly interpret "next monday" when run on a Monday
44640         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
44641         that e.g., "next tues" (when run on a tuesday) results in a date
44642         that is one week in the future, and not today's date.
44643         I.e., add a week when the wday is the same as the current one.
44644         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
44645         and earlier by Martin Bernreuther and Jan Minář.
44646         * tests/test-getdate.c (main): Check that "next DAY" is always in
44647         the future and that "last DAY" is always in the past.
44648
44649 2009-05-02  Jim Meyering  <meyering@redhat.com>
44650
44651         build: ensure that a release build fails when a submodule is unclean
44652         * top/maint.mk (no-submodule-changes): New rule.
44653         (alpha beta major): Depend on it.
44654
44655 2009-05-02  Bruno Haible  <bruno@clisp.org>
44656
44657         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
44658         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
44659         shell variable gl_fnmatch_required to detect which variant is
44660         requested.
44661         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
44662         gl_FUNC_FNMATCH_POSIX.
44663         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
44664         exclude fnmatch-posix.
44665
44666 2009-05-02  Bruno Haible  <bruno@clisp.org>
44667
44668         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
44669         * modules/mbsrtowcs (License): Change to LGPLv2+.
44670         * modules/strnlen1 (License): Likewise.
44671         Reported by Simon Josefsson.
44672
44673 2009-05-02  Bruno Haible  <bruno@clisp.org>
44674
44675         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
44676         "cross".
44677         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
44678         gnulib-tool was called with option --source-base=lib.
44679
44680 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44681
44682         Use automake *-local hooks without commands, for extensibility.
44683         * modules/localcharset (Makefile.am): Rename install-exec-local
44684         rule to install-exec-localcharset, and make it a prerequisite of
44685         install-exec-local.  Likewise, rename the uninstall-local rule to
44686         uninstall-localcharset, and make it a prerequisite of the former.
44687
44688 2009-05-01  Bruno Haible  <bruno@clisp.org>
44689
44690         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
44691         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44692         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
44693         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
44694         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
44695         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44696         m4/locale-zh.m4, m4/codeset.m4.
44697
44698         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
44699         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
44700         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
44701         m4/locale-zh.m4.
44702
44703         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
44704         REPLACE_WCRTOMB if mbstate_t must be replaced.
44705         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
44706         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
44707
44708 2009-05-01  Bruno Haible  <bruno@clisp.org>
44709
44710         Avoid compiler warnings when redefining macros defined by <libintl.h>.
44711         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
44712         dngettext, dcngettext, textdomain, bindtextdomain,
44713         bind_textdomain_codeset): Undefine before redefining.
44714
44715 2009-04-30  Bruno Haible  <bruno@clisp.org>
44716
44717         Fix bug introduced on 2009-04-25.
44718         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
44719         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
44720         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
44721         is defined.
44722         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
44723         is defined.
44724         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
44725         is defined.
44726         Reported by Elbert_Pol <elbert.pol@gmail.com>.
44727
44728 2009-04-28  Bruno Haible  <bruno@clisp.org>
44729
44730         Comment tweaks.
44731         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
44732         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
44733         * lib/unicase.h (u*_casexfrm): Likewise.
44734         Reported by Paolo Bonzini.
44735
44736 2009-04-28  Bruno Haible  <bruno@clisp.org>
44737
44738         Fix a compilation error.
44739         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
44740         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
44741         Reported by Jim Meyering.
44742
44743 2009-04-27  Bruno Haible  <bruno@clisp.org>
44744
44745         New module 'libunistring'.
44746         * modules/libunistring: New file.
44747         * m4/libunistring.m4: New file.
44748         * MODULES.html.sh (Unicode string functions): Add it.
44749
44750 2009-04-27  Eric Blake  <ebb9@byu.net>
44751
44752         maint.mk: allow package-specific header to provide <config.h>
44753         * top/maint.mk (sc_require_config_h): New variable.
44754         (sc_require_config_h, sc_require_config_h_first): Use it.
44755
44756 2009-04-27  Simon Josefsson  <simon@josefsson.org>
44757
44758         * top/maint.mk (sc_avoid_if_before_free): Except
44759         useless-if-before-free script.
44760
44761 2009-04-27  Eric Blake  <ebb9@byu.net>
44762
44763         maintainer-makefile: depend on all required helper scripts
44764         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
44765         useless-if-before-free.
44766         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
44767         version, rather than assuming gnulib checkout is available.
44768         Reported by Simen Josefsson.
44769
44770 2009-04-26  Bruno Haible  <bruno@clisp.org>
44771
44772         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
44773         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
44774         "../" or "..".
44775
44776 2009-04-26  Bruno Haible  <bruno@clisp.org>
44777
44778         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
44779         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
44780         AC_LIB_HAVE_LINKFLAGS.
44781
44782 2009-04-26  Bruno Haible  <bruno@clisp.org>
44783
44784         Simplify calling convention of u*_conv_from_encoding.
44785         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
44786         u32_conv_from_encoding): Expect a resultbuf argument and return the
44787         result directly as a pointer.
44788         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
44789         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
44790         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
44791         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
44792         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
44793         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44794         Update.
44795         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
44796         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
44797         * lib/vasnprintf.c (VASNPRINTF): Update.
44798         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
44799         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
44800         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
44801         * NEWS: Mention the change.
44802
44803 2009-04-26  Bruno Haible  <bruno@clisp.org>
44804
44805         Simplify calling convention of u*_conv_to_encoding.
44806         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
44807         u32_conv_to_encoding): Expect a resultbuf argument and return the
44808         result directly as a pointer.
44809         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44810         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
44811         freeing scaled_offsets if mem_iconveha failed.
44812         * lib/unicase/u-casexfrm.h (FUNC): Update.
44813         * lib/uninorm/u-normxfrm.h (FUNC): Update.
44814         * lib/vasnprintf.c (VASNPRINTF): Update.
44815         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
44816         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
44817         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
44818         * NEWS: Mention the change.
44819
44820 2009-04-26  Bruno Haible  <bruno@clisp.org>
44821
44822         Avoid test failures on AIX and OSF/1.
44823         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
44824         malloc(0).
44825         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
44826         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
44827         Likewise.
44828         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
44829         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
44830         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
44831         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
44832         * doc/posix-functions/malloc.texi: Document the portability problem
44833         related to malloc(0).
44834
44835 2009-04-26  Bruno Haible  <bruno@clisp.org>
44836
44837         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
44838         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
44839         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
44840
44841 2009-04-25  Bruno Haible  <bruno@clisp.org>
44842
44843         Avoid link error when creating a namespace clean library.
44844         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
44845         as macro with arguments if already defined as an alias.
44846         * lib/signbitf.c (gl_signbitf): Don't undefine.
44847         * lib/signbitd.c (gl_signbitd): Don't undefine.
44848         * lib/signbitl.c (gl_signbitl): Don't undefine.
44849
44850 2009-04-25  Jim Meyering  <meyering@redhat.com>
44851
44852         vc-list-files: fix another quoting bug
44853         * build-aux/vc-list-files: Avoid sed backslash expansion
44854         of pathological directory names.
44855
44856 2009-04-25  Eric Blake  <ebb9@byu.net>
44857
44858         vc-list-files: fix shell quoting error
44859         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
44860         timestamp.
44861
44862 2009-04-25  Jim Meyering  <meyering@redhat.com>
44863
44864         vc-list-files: restore lost functionality with subdir argument
44865         * build-aux/vc-list-files: When given a non-"." sub-directory
44866         argument, substitute the $dir/ prefix back onto each resulting name.
44867         Otherwise, coreutils' root_tests check would fail.
44868
44869 2009-04-24  Eric Blake  <ebb9@byu.net>
44870
44871         vc-list-files: ignore git symlinks
44872         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
44873         than ls-files, to ignore git symlinks.
44874
44875         maint.mk: import improvements from m4
44876         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
44877         (move_if_change): Delete unused macro.
44878         (news-date-check, vc-diff-check): Support VPATH builds.
44879         (announcement): Likewise.  Split --bootstrap-tools list...
44880         (boostrap-tools): ...into separate list, which can be overridden
44881         in cfg.mk.
44882         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
44883         requiring dependency on useless-if-before-free module.
44884         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
44885         Support VPATH builds.
44886
44887 2009-04-24  Jim Meyering  <meyering@redhat.com>
44888
44889         maint.mk: remove coreutils-specific rules and variables
44890         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
44891         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
44892         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
44893
44894         maint.mk: remove obsolete rule
44895         * top/maint.mk (rel-check): Remove rule.
44896         (WGET, WGETFLAGS): Remove now-unused variables.
44897
44898 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44899
44900         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
44901         consistency.
44902
44903         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
44904         '$(PATH_SEPARATOR)' instead of ':'.
44905
44906 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44907
44908         * lib/getopt1.c (main): Use 'const' for static array.
44909
44910 2009-04-24  Simon Josefsson  <simon@josefsson.org>
44911
44912         * top/maint.mk: Sync with coreutils.
44913         * NEWS: Explain incompatibilities.
44914
44915 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44916             Bruno Haible  <bruno@clisp.org>
44917
44918         Fix cross-compilation results.
44919         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
44920         statement, as third argument of AC_TRY_RUN.
44921         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44922         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
44923         Likewise.
44924         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44925         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
44926         Likewise.
44927         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44928         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
44929         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
44930
44931 2009-04-20  Bruno Haible  <bruno@clisp.org>
44932
44933         Avoid test failure on mingw.
44934         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
44935
44936 2009-04-20  Bruno Haible  <bruno@clisp.org>
44937
44938         Avoid compilation error on mingw.
44939         * modules/localename-tests (Depends-on): Add locale.
44940
44941 2009-04-19  Bruno Haible  <bruno@clisp.org>
44942
44943         Support for building a shared library on Windows platforms.
44944         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
44945         (main): Test the presence of UNINORM_NFC here.
44946         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
44947         (main): Test the presence of UNINORM_NFD here.
44948         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
44949         (main): Test the presence of UNINORM_NFKC here.
44950         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
44951         (main): Test the presence of UNINORM_NFKD here.
44952
44953 2009-04-19  Bruno Haible  <bruno@clisp.org>
44954
44955         Avoid a compiler warning.
44956         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
44957         Change type of variable 'sequence'.
44958
44959 2009-04-19  Bruno Haible  <bruno@clisp.org>
44960
44961         * modules/configmake (Makefile.am): When the contents of configmake.h
44962         does not change, arrange to preserve its modification time.
44963
44964 2009-04-17  Simon Josefsson  <simon@josefsson.org>
44965
44966         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
44967         gettext domain.
44968
44969 2009-04-16  Jim Meyering  <meyering@redhat.com>
44970
44971         useless-if-before-free: improve conversion code
44972         * build-aux/useless-if-before-free: Adjust code-in-comment to match
44973         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
44974
44975 2009-04-14  Bruno Haible  <bruno@clisp.org>
44976
44977         * modules/fcntl (Depends-on): Add extensions.
44978         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
44979
44980 2009-04-12  Ben Pfaff  <blp@gnu.org>
44981
44982         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
44983         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
44984
44985 2009-03-20  Ben Pfaff  <blp@gnu.org>
44986
44987         Make rename replace existing destinations on Windows.
44988         * m4/rename.m4: Add test for Mingw.
44989         * lib/rename.c: Add rename replacement that uses MoveFileEx with
44990         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
44991         * doc/posix-functions/rename.texi: Document.
44992
44993 2009-04-10  Bruno Haible  <bruno@clisp.org>
44994
44995         New include file "iconveh.h".
44996         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
44997         * lib/striconveh.h: Include it.
44998         (enum iconv_ilseq_handler): Remove definition.
44999         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
45000         striconveh.h.
45001         * lib/striconveha.c: Include striconveh.h.
45002         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
45003         * modules/striconveh (Files): Add lib/iconveh.h.
45004         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
45005         lib/striconveh.h.
45006
45007 2009-04-10  Bruno Haible  <bruno@clisp.org>
45008
45009         * lib/uniconv.h: Update comment.
45010
45011 2009-04-10  Bruno Haible  <bruno@clisp.org>
45012
45013         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
45014         always.
45015         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45016         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45017         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45018         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
45019         "unistring-notinline.h", so that the function gets defined always.
45020         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45021         * lib/unistr/u8-uctomb.c: Likewise.
45022         * lib/unistr/u16-mbtouc.c: Likewise.
45023         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45024         * lib/unistr/u16-uctomb.c: Likewise.
45025         * lib/unistr/u32-mbtouc.c: Likewise.
45026         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45027         * lib/unistr/u32-uctomb.c: Likewise.
45028
45029 2009-04-10  Bruno Haible  <bruno@clisp.org>
45030
45031         Mark 'utime' obsolete.
45032         * modules/utime (Status, Notice): New sections.
45033         Suggested by Jim Meyering.
45034
45035         Fix cross-compile guess for utime test.
45036         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
45037         autoconf.
45038         * doc/posix-functions/utime.texi: Give more precisions.
45039         Reported by Jan <ipif@ymail.com>.
45040
45041 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
45042
45043         filevercmp: correct today's change
45044         * lib/filevercmp.c: Also handle coreutils' test inputs.
45045         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
45046
45047         Fix regression in 'filevercmp' module. Thanks Sven Joachim
45048         for reporting it.
45049         * lib/filevercmp.c: Special handle for "", "." and "..".
45050         * tests/test-filevercmp.c: Enlarge the set suite.
45051
45052 2009-04-07  Jim Meyering  <meyering@redhat.com>
45053
45054         useless-if-before-free: show how to remove braced useless free, too
45055         * build-aux/useless-if-before-free: still only in a comment, though.
45056
45057 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
45058
45059         maint.mk: import changes to syntax-check macros from coreutils
45060         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
45061         Use them in the relevant macros.
45062
45063 2009-04-06  Bruno Haible  <bruno@clisp.org>
45064
45065         Fix unportable use of bit-fields.
45066         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
45067         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
45068         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
45069
45070 2009-04-06  Bruno Haible  <bruno@clisp.org>
45071
45072         Avoid test failures on AIX and OSF/1.
45073         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
45074         that malloc(0) = NULL.
45075         * tests/unicase/test-u8-tolower.c (check): Likewise.
45076         * tests/unicase/test-u8-totitle.c (check): Likewise.
45077         * tests/unicase/test-u8-toupper.c (check): Likewise.
45078         * tests/unicase/test-u16-casefold.c (check): Likewise.
45079         * tests/unicase/test-u16-tolower.c (check): Likewise.
45080         * tests/unicase/test-u16-totitle.c (check): Likewise.
45081         * tests/unicase/test-u16-toupper.c (check): Likewise.
45082         * tests/unicase/test-u32-casefold.c (check): Likewise.
45083         * tests/unicase/test-u32-tolower.c (check): Likewise.
45084         * tests/unicase/test-u32-totitle.c (check): Likewise.
45085         * tests/unicase/test-u32-toupper.c (check): Likewise.
45086         * tests/uninorm/test-u8-nfc.c (check): Likewise.
45087         * tests/uninorm/test-u8-nfd.c (check): Likewise.
45088         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
45089         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
45090         * tests/uninorm/test-u16-nfc.c (check): Likewise.
45091         * tests/uninorm/test-u16-nfd.c (check): Likewise.
45092         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
45093         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
45094         * tests/uninorm/test-u32-nfc.c (check): Likewise.
45095         * tests/uninorm/test-u32-nfd.c (check): Likewise.
45096         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
45097         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
45098
45099 2009-04-05  Bruno Haible  <bruno@clisp.org>
45100
45101         Work around an autoconf limitation.
45102         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
45103         comment line if it would be longer than 3 KB.
45104
45105 2009-04-05  Bruno Haible  <bruno@clisp.org>
45106
45107         Avoid test failure with libiconv-1.13.
45108         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
45109         of the expected test results.
45110
45111 2009-04-05  Bruno Haible  <bruno@clisp.org>
45112
45113         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
45114         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
45115         that it should be installed.
45116
45117 2009-04-05  Bruno Haible  <bruno@clisp.org>
45118
45119         * gnulib-tool: New option --copy-file.
45120         (func_usage): Document it.
45121         (func_dest_tmpfilename): Moved out of func_import.
45122         (func_add_file, func_update_file): New functions, extracted from
45123         func_import.
45124         (func_import): Update.
45125
45126 2009-04-05  Karl Berry  <karl@gnu.org>
45127
45128         * README: prominently mention gnulib-tool.
45129         Rearrange sections so getting the code is near the top.
45130
45131 2009-04-05  Bruno Haible  <bruno@clisp.org>
45132
45133         * lib/unicase.h: Mention u*_cmp2.
45134         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45135         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
45136         * lib/unicase/ulc-casecmp.c: Likewise.
45137         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
45138         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
45139         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
45140         unistr/u8-cmp.
45141         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
45142         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
45143         unistr/u16-cmp.
45144         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
45145         unistr/u32-cmp.
45146
45147         * lib/uninorm.h: Mention u*_cmp2.
45148         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45149         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
45150         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
45151         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
45152         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
45153         unistr/u8-cmp.
45154         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
45155         unistr/u16-cmp.
45156         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
45157         unistr/u32-cmp.
45158
45159         New module 'unistr/u32-cmp2'.
45160         * lib/unistr/u32-cmp2.c: New file.
45161         * modules/unistr/u32-cmp2: New file.
45162
45163         New module 'unistr/u16-cmp2'.
45164         * lib/unistr/u16-cmp2.c: New file.
45165         * modules/unistr/u16-cmp2: New file.
45166
45167         New module 'unistr/u8-cmp2'.
45168         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
45169         * lib/unistr/u8-cmp2.c: New file.
45170         * lib/unistr/u-cmp2.h: New file.
45171         * modules/unistr/u8-cmp2: New file.
45172
45173 2009-04-05  Bruno Haible  <bruno@clisp.org>
45174
45175         * lib/unictype.h (uc_property_is_valid): New macro.
45176         * tests/unictype/test-pr_byname.c (main): Use it.
45177
45178         * lib/unistr.h: Doc fixes.
45179         * lib/uniconv.h: Doc fixes.
45180         * lib/unictype.h: Doc fixes.
45181
45182 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
45183
45184         Port coreutils 7.2 to Solaris 8.
45185
45186         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
45187         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
45188         for Solaris 8.  This is a bit of a hack, as it means it's the
45189         caller's responsibility to add -lnsl if needed, but most likely it
45190         won't be needed since only getaddrinfo uses this and getaddrinfo
45191         isn't needed on Solaris 8.
45192
45193         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
45194         problem to Solaris 8 encountered with coreutils 7.2, which
45195         resulted in a message "fnmatch.c:292: warning: passing argument 4
45196         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
45197         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
45198
45199 2009-04-03  Simon Josefsson  <simon@josefsson.org>
45200
45201         * m4/ld-version-script.m4: Add FIXME comment.
45202
45203 2009-04-02  Simon Josefsson  <simon@josefsson.org>
45204
45205         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
45206         SOVERSION variable.
45207
45208 2009-04-02  Bruno Haible  <bruno@clisp.org>
45209
45210         * Makefile (info, html, dvi, pdf): Combine the rules.
45211         Suggested by Jim Meyering.
45212
45213 2009-04-01  Bruno Haible  <bruno@clisp.org>
45214
45215         * Makefile (info, html, dvi, pdf): New targets.
45216         Reported by Reuben Thomas <rrt@sc3d.org>.
45217
45218 2009-04-01  Bruno Haible  <bruno@clisp.org>
45219
45220         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
45221         can be put into PATH.
45222         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
45223
45224 2009-04-01  Bruno Haible  <bruno@clisp.org>
45225
45226         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
45227
45228 2009-04-01  Bruno Haible  <bruno@clisp.org>
45229
45230         Rename module 'visibility'.
45231         * modules/lib-symbol-visibility: Renamed from modules/visibility.
45232         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
45233         * doc/gnulib.texi: Update.
45234         * MODULES.html.sh (Misc): Update.
45235         * NEWS: Mention the change.
45236
45237 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45238
45239         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
45240         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
45241         Eric Blake <ebb9@byu.net> for review.
45242         * MODULES.html.sh: Add lib-msvc-compat.
45243         * doc/gnulib.texi: Link to new section.
45244         * m4/ld-output-def.m4: New file.
45245         * doc/ld-output-def.texi: New file.
45246
45247 2009-04-01  Simon Josefsson  <simon@josefsson.org>
45248
45249         Rename ld-version-script to lib-symbol-versions.  Suggested by
45250         Bruno Haible <bruno@clisp.org>.
45251         * modules/ld-version-script: Renamed to lib-symbol-versions.
45252         * doc/ld-version-script.texi: Fix module name.
45253         * MODULES.html.sh: Add lib-symbol-versions.
45254
45255 2009-03-31  Simon Josefsson  <simon@josefsson.org>
45256
45257         * modules/u64-tests: New file.
45258         * tests/test-u64.c: New file.
45259
45260 2009-03-04  Simon Josefsson  <simon@josefsson.org>
45261
45262         * MODULES.html.sh: Mention u64.
45263         * modules/u64: New module.
45264         * modules/crypto/sha512: Depend on u64 module instead of providing
45265         u64.h.
45266
45267 2009-03-27  Eric Blake  <ebb9@byu.net>
45268
45269         test-strerror: make debugging EAI_SYSTEM easier
45270         * modules/getaddrinfo-tests (Depends-on): Add strerror.
45271         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
45272         failure was EAI_SYSTEM.
45273
45274 2009-03-25  Bruno Haible  <bruno@clisp.org>
45275
45276         Fix a problem with --enable-relocatable on Solaris 7.
45277         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
45278         since 2008-02-24.
45279
45280 2009-03-25  Eric Blake  <ebb9@byu.net>
45281
45282         test-sockets: avoid gcc warning
45283         * tests/test-sockets.c (main): Silence compiler warning.
45284
45285 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
45286
45287         New modules nproc, pthread, contributed by Glen Lenker.
45288
45289         * MODULES.html.sh: Add pthread, nproc.
45290         * lib/nproc.c: New file.
45291         * lib/nproc.h: New file.
45292         * lib/pthread.in.h: New file.
45293         * m4/pthread.m4: New file.
45294         * modules/nproc: New file.
45295         * modules/pthread: New file.
45296
45297 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45298
45299         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
45300         New variable.
45301
45302 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
45303
45304         filevercmp: handle simple~ and numbered.~3~ backup suffixes
45305         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
45306         * tests/test-filevercmp.c: Add tests for backup suffixes.
45307
45308 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45309
45310         * modules/stdlib (Depends-on): Add stdint, needed when defining
45311         struct random_data on, for example, HP-UX 10.20.  Reported by
45312         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45313
45314 2009-03-24  Simon Josefsson  <simon@josefsson.org>
45315
45316         * lib/readline.c (readline): Call fflush on stdout after printing
45317         prompt.
45318
45319 2009-03-20  Bruno Haible  <bruno@clisp.org>
45320
45321         Remove dependency from 'close' module to -lws2_32 on native Windows.
45322         * lib/close-hook.h: New file.
45323         * lib/close-hook.c: New file.
45324         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
45325         w32sock.h.
45326         (_gl_close_fd_maybe_socket): Remove function.
45327         (rpl_close): Invoke execute_all_close_hooks instead of
45328         _gl_close_fd_maybe_socket.
45329         * lib/sockets.c: Include close-hook.h, w32sock.h.
45330         (close_fd_maybe_socket): New function, essentially from lib/close.c.
45331         (close_sockets_hook): New variable.
45332         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
45333         (gl_sockets_cleanup): Unregister it.
45334         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
45335         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
45336         * modules/close-hook: New file.
45337         * modules/close (Files): Remove lib/w32sock.h.
45338         (Depends-on): Add close-hook.
45339         (Link): Remove section.
45340         * modules/sockets (Files): Add lib/w32sock.h.
45341         (Depends-on): Add close-hook.
45342         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
45343         invocation.
45344         * NEWS: Mention that LIB_CLOSE is gone.
45345
45346 2009-03-23  Eric Blake  <ebb9@byu.net>
45347
45348         signal-tests: test previous patch
45349         * tests/test-signal.c: New file.
45350         * modules/signal-tests: Likewise.
45351
45352         signal.h: always support 'volatile sig_atomic_t'
45353         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
45354         (gl_SIGNAL_H_DEFAULTS): Add a default.
45355         * modules/signal (Makefile.am): Substitute if needed.
45356         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
45357         users can blindly add volatile.
45358         * doc/posix-headers/signal.texi (signal.h): Document it.
45359         Reported by Matthew Woehlke.
45360
45361 2009-03-23  Jim Meyering  <meyering@redhat.com>
45362
45363         pathmax: PATH_MAX: use pathconf only when available
45364         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
45365         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
45366         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
45367         This avoids a link failure in a PSP cross-compilation environment
45368         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
45369
45370         * lib/vasnprintf.c (divide): Fix typo in comment.
45371
45372 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45373
45374         * gnulib-tool (func_filter_filelist): Fix comment.
45375
45376 2009-03-20  Bruno Haible  <bruno@clisp.org>
45377
45378         Make sockets.h self-contained.
45379         * lib/sockets.c: Include sockets.h first.
45380         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
45381
45382 2009-03-19  Eric Blake  <ebb9@byu.net>
45383
45384         doc: mention more functions added in cygwin 1.7.0
45385         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
45386         addition.
45387         * doc/posix-functions/log2f.texi: Likewise.
45388
45389 2009-03-19  Jim Meyering  <meyering@redhat.com>
45390
45391         fsusage: avoid syntax error due to statement-before-declaration
45392         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
45393         after all declarations.  Reported by Matthew Woehlke in
45394         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
45395
45396 2009-03-18  Eric Blake  <ebb9@byu.net>
45397
45398         build-aux/compile: sync from automake
45399         * build-aux/compile: New file, from automake.
45400         * config/srclist.txt: Mention build-aux/compile.
45401
45402 2009-03-17  Bruno Haible  <bruno@clisp.org>
45403
45404         * lib/git-merge-changelog.c: Fix typo in comment.
45405         Reported by Reuben Thomas <rrt@sc3d.org>.
45406
45407 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
45408
45409         * m4/regex.m4: update and improve help for
45410         --without-included-regex.
45411
45412 2009-03-17  Simon Josefsson  <simon@josefsson.org>
45413
45414         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
45415         failure on missing include files.
45416
45417 2009-03-17  Eric Blake  <ebb9@byu.net>
45418
45419         doc: mention more functions added in cygwin 1.7.0
45420         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
45421         addition.
45422         * doc/posix-functions/fwscanf.texi: Likewise.
45423         * doc/posix-functions/swprintf.texi: Likewise.
45424         * doc/posix-functions/swscanf.texi: Likewise.
45425         * doc/posix-functions/vfwprintf.texi: Likewise.
45426         * doc/posix-functions/vfwscanf.texi: Likewise.
45427         * doc/posix-functions/vswprintf.texi: Likewise.
45428         * doc/posix-functions/vswscanf.texi: Likewise.
45429         * doc/posix-functions/vwprintf.texi: Likewise.
45430         * doc/posix-functions/vwscanf.texi: Likewise.
45431         * doc/posix-functions/wcscasecmp.texi: Likewise.
45432         * doc/posix-functions/wcsdup.texi: Likewise.
45433         * doc/posix-functions/wcsftime.texi: Likewise.
45434         * doc/posix-functions/wcsncasecmp.texi: Likewise.
45435         * doc/posix-functions/wprintf.texi: Likewise.
45436         * doc/posix-functions/wscanf.texi: Likewise.
45437         * doc/glibc-functions/gethostbyname2.texi: Likewise.
45438
45439 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45440
45441         maint.mk: really add $(AM_MAKEFLAGS)
45442         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
45443         was inadvertently omitted in the last commit.
45444         Spotted by Bruno Haible.
45445
45446         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
45447         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
45448         $(AM_MAKEFLAGS)' rather than plain `make'.
45449
45450         gnulib-tool: execute $MAKE not make
45451         * gnulib-tool: Default $MAKE to 'make'.
45452         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
45453         than make.  Initialize $MAKE in the do-autobuild script.
45454
45455         gnulib-tool: use $MAKE not make in generated files
45456         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
45457         make, in generated files.  Initialize $MAKE in the do-autobuild
45458         script.
45459
45460         * top/GNUmakefile (_have-git-version-gen): Fix typo.
45461
45462         GNUmakefile: disable parallelism only for multiple, recursive targets
45463         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
45464         additions in the Makefile.
45465         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
45466         by Automake.
45467         (.NOTPARALLEL): Only disable parallel builds if multiple targets
45468         are listed on the command line and at least one of them is
45469         listed in $(ALL_RECURSIVE_TARGETS).
45470
45471 2009-03-14  Bruno Haible  <bruno@clisp.org>
45472
45473         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
45474         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
45475         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
45476         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
45477         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
45478         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
45479         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
45480         unistr/u8-uctomb.
45481         * modules/unistr/u8-strchr (Depends-on): Likewise.
45482         * modules/unistr/u8-strrchr (Depends-on): Likewise.
45483         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
45484         unistr/u16-uctomb.
45485         * modules/unistr/u16-strchr (Depends-on): Likewise.
45486         * modules/unistr/u16-strrchr (Depends-on): Likewise.
45487
45488 2009-03-12  Bruno Haible  <bruno@clisp.org>
45489
45490         Work around select() bug on Interix 3.5.
45491         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
45492         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
45493         * m4/select.m4: New file.
45494         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
45495         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
45496         * modules/select (Files): Add m4/select.m4.
45497         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
45498         * modules/nanosleep (Depends-on): Add select.
45499         * modules/poll (Depends-on): Likewise.
45500         * doc/posix-functions/select.texi: Mention the Interix bug.
45501         Reported by Markus Duft <mduft@gentoo.org>.
45502
45503         * lib/select.c: Renamed from lib/winsock-select.c.
45504         * modules/select (Files): Add lib/select.c, remove
45505         lib/winsock-select.c.
45506         (configure.ac): Update.
45507
45508 2009-03-12  Jim Meyering  <meyering@redhat.com>
45509
45510         avoid gcc warnings about unused macro definitions
45511         * lib/readtokens.c (STREQ): Remove unused definition.
45512         * lib/xmalloc.c (SIZE_MAX): Likewise.
45513         * lib/openat-die.c (N_): Likewise.
45514         * lib/mountlist.c (SIZE_MAX): Remove definition.
45515         Instead, include <stdint.h>.
45516         * lib/readutmp.c: Likewise.
45517         * modules/readutmp (Depends-on): Add stdint.
45518         * modules/mountlist (Depends-on): Add stdint.
45519         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
45520
45521 2009-03-10  Bruno Haible  <bruno@clisp.org>
45522
45523         Tests for module 'mbmemcasecoll'.
45524         * modules/mbmemcasecoll-tests: New file.
45525         * tests/test-mbmemcasecoll1.sh: New file.
45526         * tests/test-mbmemcasecoll2.sh: New file.
45527         * tests/test-mbmemcasecoll3.sh: New file.
45528         * tests/test-mbmemcasecoll.c: New file.
45529
45530         New module 'mbmemcasecoll'.
45531         * lib/mbmemcasecoll.h: New file.
45532         * lib/mbmemcasecoll.c: New file.
45533         * modules/mbmemcasecoll: New file.
45534
45535         * tests/test-mbmemcasecmp.h: New file, extracted from
45536         tests/test-mbmemcasecmp.c.
45537         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
45538         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
45539         (main): Update.
45540         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
45541
45542 2009-03-09  Bruno Haible  <bruno@clisp.org>
45543
45544         Tests for module 'mbmemcasecmp'.
45545         * modules/mbmemcasecmp-tests: New file.
45546         * tests/test-mbmemcasecmp1.sh: New file.
45547         * tests/test-mbmemcasecmp2.sh: New file.
45548         * tests/test-mbmemcasecmp3.sh: New file.
45549         * tests/test-mbmemcasecmp.c: New file.
45550
45551         New module 'mbmemcasecmp'.
45552         * lib/mbmemcasecmp.h: New file.
45553         * lib/mbmemcasecmp.c: New file.
45554         * modules/mbmemcasecmp: New file.
45555
45556 2009-03-09  Bruno Haible  <bruno@clisp.org>
45557
45558         Tests for module 'unicase/ulc-casecoll'.
45559         * modules/unicase/ulc-casecoll-tests: New file.
45560         * tests/unicase/test-ulc-casecoll1.sh: New file.
45561         * tests/unicase/test-ulc-casecoll2.sh: New file.
45562         * tests/unicase/test-ulc-casecoll.c: New file.
45563
45564         New module 'unicase/ulc-casecoll'.
45565         * lib/unicase.h (ulc_casecoll): New declaration.
45566         * lib/unicase/ulc-casecoll.c: New file.
45567         * modules/unicase/ulc-casecoll: New file.
45568
45569         New module 'unicase/ulc-casexfrm'.
45570         * lib/unicase.h (ulc_casexfrm): New declaration.
45571         * lib/unicase/ulc-casexfrm.c: New file.
45572         * modules/unicase/ulc-casexfrm: New file.
45573
45574 2009-03-09  Bruno Haible  <bruno@clisp.org>
45575
45576         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
45577         invocations.
45578
45579         * m4/mbscasecmp.m4: Remove file.
45580         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
45581         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
45582
45583         * m4/mbscasestr.m4: Remove file.
45584         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
45585         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
45586
45587         * m4/mbschr.m4: Remove file.
45588         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
45589         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
45590
45591         * m4/mbscspn.m4: Remove file.
45592         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
45593         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
45594
45595         * m4/mbslen.m4: Remove file.
45596         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
45597         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
45598
45599         * m4/mbsncasecmp.m4: Remove file.
45600         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
45601         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
45602
45603         * m4/mbsnlen.m4: Remove file.
45604         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
45605         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
45606
45607         * m4/mbspbrk.m4: Remove file.
45608         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
45609         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
45610
45611         * m4/mbspcasecmp.m4: Remove file.
45612         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
45613         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
45614
45615         * m4/mbsrchr.m4: Remove file.
45616         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
45617         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
45618
45619         * m4/mbssep.m4: Remove file.
45620         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
45621         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
45622
45623         * m4/mbsspn.m4: Remove file.
45624         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
45625         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
45626
45627         * m4/mbsstr.m4: Remove file.
45628         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
45629         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
45630
45631         * m4/mbstok_r.m4: Remove file.
45632         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
45633         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
45634
45635         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
45636
45637         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
45638         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
45639
45640         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
45641
45642 2009-03-08  Bruno Haible  <bruno@clisp.org>
45643
45644         Tests for module 'unicase/ulc-casecmp'.
45645         * modules/unicase/ulc-casecmp-tests: New file.
45646         * tests/unicase/test-ulc-casecmp1.sh: New file.
45647         * tests/unicase/test-ulc-casecmp2.sh: New file.
45648         * tests/unicase/test-ulc-casecmp.c: New file.
45649
45650         New module 'unicase/ulc-casecmp'.
45651         * lib/unicase.h (ulc_casecmp): New declaration.
45652         * lib/unicase/ulc-casecmp.c: New file.
45653         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
45654         'const SRC_UNIT *'.
45655         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
45656         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
45657         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
45658         * modules/unicase/ulc-casecmp: New file.
45659
45660         Tests for module 'unicase/u32-is-cased'.
45661         * modules/unicase/u32-is-cased-tests: New file.
45662         * tests/unicase/test-u32-is-cased.c: New file.
45663
45664         Tests for module 'unicase/u16-is-cased'.
45665         * modules/unicase/u16-is-cased-tests: New file.
45666         * tests/unicase/test-u16-is-cased.c: New file.
45667
45668         Tests for module 'unicase/u8-is-cased'.
45669         * modules/unicase/u8-is-cased-tests: New file.
45670         * tests/unicase/test-u8-is-cased.c: New file.
45671         * tests/unicase/test-is-cased.h: New file.
45672
45673         New module 'unicase/u32-is-cased'.
45674         * lib/unicase/u32-is-cased.c: New file.
45675         * modules/unicase/u32-is-cased: New file.
45676
45677         New module 'unicase/u16-is-cased'.
45678         * lib/unicase/u16-is-cased.c: New file.
45679         * modules/unicase/u16-is-cased: New file.
45680
45681         New module 'unicase/u8-is-cased'.
45682         * lib/unicase/u8-is-cased.c: New file.
45683         * lib/unicase/u-is-cased.h: New file.
45684         * modules/unicase/u8-is-cased: New file.
45685
45686         Tests for module 'unicase/u32-is-casefolded'.
45687         * modules/unicase/u32-is-casefolded-tests: New file.
45688         * tests/unicase/test-u32-is-casefolded.c: New file.
45689
45690         Tests for module 'unicase/u16-is-casefolded'.
45691         * modules/unicase/u16-is-casefolded-tests: New file.
45692         * tests/unicase/test-u16-is-casefolded.c: New file.
45693
45694         Tests for module 'unicase/u8-is-casefolded'.
45695         * modules/unicase/u8-is-casefolded-tests: New file.
45696         * tests/unicase/test-u8-is-casefolded.c: New file.
45697         * tests/unicase/test-is-casefolded.h: New file.
45698
45699         New module 'unicase/u32-is-casefolded'.
45700         * lib/unicase/u32-is-casefolded.c: New file.
45701         * modules/unicase/u32-is-casefolded: New file.
45702
45703         New module 'unicase/u16-is-casefolded'.
45704         * lib/unicase/u16-is-casefolded.c: New file.
45705         * modules/unicase/u16-is-casefolded: New file.
45706
45707         New module 'unicase/u8-is-casefolded'.
45708         * lib/unicase/u8-is-casefolded.c: New file.
45709         * modules/unicase/u8-is-casefolded: New file.
45710
45711         Tests for module 'unicase/u32-is-titlecase'.
45712         * modules/unicase/u32-is-titlecase-tests: New file.
45713         * tests/unicase/test-u32-is-titlecase.c: New file.
45714
45715         Tests for module 'unicase/u16-is-titlecase'.
45716         * modules/unicase/u16-is-titlecase-tests: New file.
45717         * tests/unicase/test-u16-is-titlecase.c: New file.
45718
45719         Tests for module 'unicase/u8-is-titlecase'.
45720         * modules/unicase/u8-is-titlecase-tests: New file.
45721         * tests/unicase/test-u8-is-titlecase.c: New file.
45722         * tests/unicase/test-is-titlecase.h: New file.
45723
45724         New module 'unicase/u32-is-titlecase'.
45725         * lib/unicase/u32-is-titlecase.c: New file.
45726         * modules/unicase/u32-is-titlecase: New file.
45727
45728         New module 'unicase/u16-is-titlecase'.
45729         * lib/unicase/u16-is-titlecase.c: New file.
45730         * modules/unicase/u16-is-titlecase: New file.
45731
45732         New module 'unicase/u8-is-titlecase'.
45733         * lib/unicase/u8-is-titlecase.c: New file.
45734         * modules/unicase/u8-is-titlecase: New file.
45735
45736         Tests for module 'unicase/u32-is-lowercase'.
45737         * modules/unicase/u32-is-lowercase-tests: New file.
45738         * tests/unicase/test-u32-is-lowercase.c: New file.
45739
45740         Tests for module 'unicase/u16-is-lowercase'.
45741         * modules/unicase/u16-is-lowercase-tests: New file.
45742         * tests/unicase/test-u16-is-lowercase.c: New file.
45743
45744         Tests for module 'unicase/u8-is-lowercase'.
45745         * modules/unicase/u8-is-lowercase-tests: New file.
45746         * tests/unicase/test-u8-is-lowercase.c: New file.
45747         * tests/unicase/test-is-lowercase.h: New file.
45748
45749         New module 'unicase/u32-is-lowercase'.
45750         * lib/unicase/u32-is-lowercase.c: New file.
45751         * modules/unicase/u32-is-lowercase: New file.
45752
45753         New module 'unicase/u16-is-lowercase'.
45754         * lib/unicase/u16-is-lowercase.c: New file.
45755         * modules/unicase/u16-is-lowercase: New file.
45756
45757         New module 'unicase/u8-is-lowercase'.
45758         * lib/unicase/u8-is-lowercase.c: New file.
45759         * modules/unicase/u8-is-lowercase: New file.
45760
45761         Tests for module 'unicase/u32-is-uppercase'.
45762         * modules/unicase/u32-is-uppercase-tests: New file.
45763         * tests/unicase/test-u32-is-uppercase.c: New file.
45764
45765         Tests for module 'unicase/u16-is-uppercase'.
45766         * modules/unicase/u16-is-uppercase-tests: New file.
45767         * tests/unicase/test-u16-is-uppercase.c: New file.
45768
45769         Tests for module 'unicase/u8-is-uppercase'.
45770         * modules/unicase/u8-is-uppercase-tests: New file.
45771         * tests/unicase/test-u8-is-uppercase.c: New file.
45772         * tests/unicase/test-is-uppercase.h: New file.
45773
45774         New module 'unicase/u32-is-uppercase'.
45775         * lib/unicase/u32-is-uppercase.c: New file.
45776         * modules/unicase/u32-is-uppercase: New file.
45777
45778         New module 'unicase/u16-is-uppercase'.
45779         * lib/unicase/u16-is-uppercase.c: New file.
45780         * modules/unicase/u16-is-uppercase: New file.
45781
45782         New module 'unicase/u8-is-uppercase'.
45783         * lib/unicase/u8-is-uppercase.c: New file.
45784         * modules/unicase/u8-is-uppercase: New file.
45785
45786         New module 'unicase/u32-is-invariant'.
45787         * lib/unicase/u32-is-invariant.c: New file.
45788         * modules/unicase/u32-is-invariant: New file.
45789
45790         New module 'unicase/u16-is-invariant'.
45791         * lib/unicase/u16-is-invariant.c: New file.
45792         * modules/unicase/u16-is-invariant: New file.
45793
45794         New module 'unicase/u8-is-invariant'.
45795         * lib/unicase/u8-is-invariant.c: New file.
45796         * lib/unicase/invariant.h: New file.
45797         * lib/unicase/u-is-invariant.h: New file.
45798         * modules/unicase/u8-is-invariant: New file.
45799
45800         Tests for module 'unicase/u32-casecoll'.
45801         * modules/unicase/u32-casecoll-tests: New file.
45802         * tests/unicase/test-u32-casecoll.c: New file.
45803
45804         Tests for module 'unicase/u16-casecoll'.
45805         * modules/unicase/u16-casecoll-tests: New file.
45806         * tests/unicase/test-u16-casecoll.c: New file.
45807
45808         Tests for module 'unicase/u8-casecoll'.
45809         * modules/unicase/u8-casecoll-tests: New file.
45810         * tests/unicase/test-u8-casecoll.c: New file.
45811
45812         New module 'unicase/u32-casecoll'.
45813         * lib/unicase/u32-casecoll.c: New file.
45814         * modules/unicase/u32-casecoll: New file.
45815
45816         New module 'unicase/u16-casecoll'.
45817         * lib/unicase/u16-casecoll.c: New file.
45818         * modules/unicase/u16-casecoll: New file.
45819
45820         New module 'unicase/u8-casecoll'.
45821         * lib/unicase/u8-casecoll.c: New file.
45822         * lib/unicase/u-casecoll.h: New file.
45823         * modules/unicase/u8-casecoll: New file.
45824
45825         New module 'unicase/u32-casexfrm'.
45826         * lib/unicase/u32-casexfrm.c: New file.
45827         * modules/unicase/u32-casexfrm: New file.
45828
45829         New module 'unicase/u16-casexfrm'.
45830         * lib/unicase/u16-casexfrm.c: New file.
45831         * modules/unicase/u16-casexfrm: New file.
45832
45833         New module 'unicase/u8-casexfrm'.
45834         * lib/unicase/u8-casexfrm.c: New file.
45835         * lib/unicase/u-casexfrm.h: New file.
45836         * modules/unicase/u8-casexfrm: New file.
45837
45838         Tests for module 'unicase/u32-casecmp'.
45839         * modules/unicase/u32-casecmp-tests: New file.
45840         * tests/unicase/test-u32-casecmp.c: New file.
45841
45842         Tests for module 'unicase/u16-casecmp'.
45843         * modules/unicase/u16-casecmp-tests: New file.
45844         * tests/unicase/test-u16-casecmp.c: New file.
45845
45846         Tests for module 'unicase/u8-casecmp'.
45847         * modules/unicase/u8-casecmp-tests: New file.
45848         * tests/unicase/test-u8-casecmp.c: New file.
45849         * tests/unicase/test-casecmp.h: New file.
45850
45851         New module 'unicase/u32-casecmp'.
45852         * lib/unicase/u32-casecmp.c: New file.
45853         * modules/unicase/u32-casecmp: New file.
45854
45855         New module 'unicase/u16-casecmp'.
45856         * lib/unicase/u16-casecmp.c: New file.
45857         * modules/unicase/u16-casecmp: New file.
45858
45859         New module 'unicase/u8-casecmp'.
45860         * lib/unicase/u8-casecmp.c: New file.
45861         * lib/unicase/u-casecmp.h: New file.
45862         * modules/unicase/u8-casecmp: New file.
45863
45864         Tests for module 'unicase/u32-casefold'.
45865         * modules/unicase/u32-casefold-tests: New file.
45866         * tests/unicase/test-u32-casefold.c: New file.
45867
45868         Tests for module 'unicase/u16-casefold'.
45869         * modules/unicase/u16-casefold-tests: New file.
45870         * tests/unicase/test-u16-casefold.c: New file.
45871
45872         Tests for module 'unicase/u8-casefold'.
45873         * modules/unicase/u8-casefold-tests: New file.
45874         * tests/unicase/test-u8-casefold.c: New file.
45875
45876         New module 'unicase/u32-casefold'.
45877         * lib/unicase/u32-casefold.c: New file.
45878         * modules/unicase/u32-casefold: New file.
45879
45880         New module 'unicase/u16-casefold'.
45881         * lib/unicase/u16-casefold.c: New file.
45882         * modules/unicase/u16-casefold: New file.
45883
45884         New module 'unicase/u8-casefold'.
45885         * lib/unicase/u8-casefold.c: New file.
45886         * lib/unicase/u-casefold.h: New file.
45887         * modules/unicase/u8-casefold: New file.
45888
45889         New module 'unicase/tocasefold'.
45890         * lib/unicase/casefold.h: New file.
45891         * lib/unicase/tocasefold.c: New file.
45892         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
45893         * modules/unicase/tocasefold: New file.
45894
45895         Tests for module 'unicase/u32-totitle'.
45896         * modules/unicase/u32-totitle-tests: New file.
45897         * tests/unicase/test-u32-totitle.c: New file.
45898
45899         Tests for module 'unicase/u16-totitle'.
45900         * modules/unicase/u16-totitle-tests: New file.
45901         * tests/unicase/test-u16-totitle.c: New file.
45902
45903         Tests for module 'unicase/u8-totitle'.
45904         * modules/unicase/u8-totitle-tests: New file.
45905         * tests/unicase/test-u8-totitle.c: New file.
45906
45907         New module 'unicase/u32-totitle'.
45908         * lib/unicase/u32-totitle.c: New file.
45909         * modules/unicase/u32-totitle: New file.
45910
45911         New module 'unicase/u16-totitle'.
45912         * lib/unicase/u16-totitle.c: New file.
45913         * modules/unicase/u16-totitle: New file.
45914
45915         New module 'unicase/u8-totitle'.
45916         * lib/unicase/u8-totitle.c: New file.
45917         * lib/unicase/u-totitle.h: New file.
45918         * modules/unicase/u8-totitle: New file.
45919
45920         Tests for module 'unicase/u32-tolower'.
45921         * modules/unicase/u32-tolower-tests: New file.
45922         * tests/unicase/test-u32-tolower.c: New file.
45923
45924         Tests for module 'unicase/u16-tolower'.
45925         * modules/unicase/u16-tolower-tests: New file.
45926         * tests/unicase/test-u16-tolower.c: New file.
45927
45928         Tests for module 'unicase/u8-tolower'.
45929         * modules/unicase/u8-tolower-tests: New file.
45930         * tests/unicase/test-u8-tolower.c: New file.
45931
45932         New module 'unicase/u32-tolower'.
45933         * lib/unicase/u32-tolower.c: New file.
45934         * modules/unicase/u32-tolower: New file.
45935
45936         New module 'unicase/u16-tolower'.
45937         * lib/unicase/u16-tolower.c: New file.
45938         * modules/unicase/u16-tolower: New file.
45939
45940         New module 'unicase/u8-tolower'.
45941         * lib/unicase/u8-tolower.c: New file.
45942         * modules/unicase/u8-tolower: New file.
45943
45944         Tests for module 'unicase/u32-toupper'.
45945         * modules/unicase/u32-toupper-tests: New file.
45946         * tests/unicase/test-u32-toupper.c: New file.
45947
45948         Tests for module 'unicase/u16-toupper'.
45949         * modules/unicase/u16-toupper-tests: New file.
45950         * tests/unicase/test-u16-toupper.c: New file.
45951
45952         Tests for module 'unicase/u8-toupper'.
45953         * modules/unicase/u8-toupper-tests: New file.
45954         * tests/unicase/test-u8-toupper.c: New file.
45955
45956         New module 'unicase/u32-toupper'.
45957         * lib/unicase/u32-toupper.c: New file.
45958         * modules/unicase/u32-toupper: New file.
45959
45960         New module 'unicase/u16-toupper'.
45961         * lib/unicase/u16-toupper.c: New file.
45962         * modules/unicase/u16-toupper: New file.
45963
45964         New module 'unicase/u8-toupper'.
45965         * lib/unicase/u8-toupper.c: New file.
45966         * modules/unicase/u8-toupper: New file.
45967
45968         New module 'unicase/u32-casemap'.
45969         * lib/unicase/u32-casemap.c: New file.
45970         * modules/unicase/u32-casemap: New file.
45971
45972         New module 'unicase/u16-casemap'.
45973         * lib/unicase/u16-casemap.c: New file.
45974         * modules/unicase/u16-casemap: New file.
45975
45976         New module 'unicase/u8-casemap'.
45977         * lib/unicase/unicasemap.h: New file.
45978         * lib/unicase/u8-casemap.c: New file.
45979         * lib/unicase/u-casemap.h: New file.
45980         * modules/unicase/u8-casemap: New file.
45981
45982         New module 'unicase/special-casing'.
45983         * lib/unicase/special-casing.h: New file.
45984         * lib/unicase/special-casing.c: New file.
45985         * lib/unicase/special-casing-table.gperf: New file, generated by
45986         gen-uni-tables.c.
45987         * modules/unicase/special-casing: New file.
45988
45989         Tests for module 'unicase/locale-language'.
45990         * modules/unicase/locale-language-tests: New file.
45991         * tests/unicase/test-locale-language.sh: New file.
45992         * tests/unicase/test-locale-language.c: New file.
45993
45994         New module 'unicase/locale-language'.
45995         * lib/unicase/locale-language.c: New file.
45996         * lib/unicase/locale-languages.gperf: New file.
45997         * modules/unicase/locale-language: New file.
45998
45999         Generate more tables for case conversion and case folding.
46000         * lib/gen-uni-tables.c (SCC_*): New enum items.
46001         (struct special_casing_rule): New type.
46002         (casing_rules, num_casing_rules, allocated_casing_rules): New
46003         variables.
46004         (add_casing_rule, fill_casing_rules): New functions.
46005         (struct casefold_rule): New type.
46006         (casefolding_rules, num_casefolding_rules,
46007         allocated_casefolding_rules): New variables.
46008         (fill_casefolding_rules): New function.
46009         (unicode_casefold): New variable.
46010         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
46011         sort_casing_rules, output_casing_rules): New functions.
46012         (main): Accept to more arguments: SpecialCasing.txt and
46013         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
46014         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
46015         Output mapping for casefolding.
46016
46017         * lib/unicase.h: Include stdbool.h, uninorm.h.
46018         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
46019         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
46020         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
46021         arguments.
46022         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
46023         resultp arguments.
46024         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
46025         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
46026         resultp arguments.
46027         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
46028         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
46029         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
46030         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
46031         declarations.
46032         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
46033
46034 2009-03-08  Bruno Haible  <bruno@clisp.org>
46035
46036         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46037         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
46038         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
46039         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46040
46041 2009-03-07  Bruno Haible  <bruno@clisp.org>
46042
46043         Adjust u*_normcmp, u*_normcoll API.
46044         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46045         u16_normcoll, u32_normcoll): Change failure conventions.
46046         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
46047         errno and return -1.
46048         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46049
46050 2009-03-07  Bruno Haible  <bruno@clisp.org>
46051
46052         Tests for module 'uninorm/u32-normcoll'.
46053         * modules/uninorm/u32-normcoll-tests: New file.
46054         * tests/uninorm/test-u32-normcoll.c: New file.
46055
46056         Tests for module 'uninorm/u16-normcoll'.
46057         * modules/uninorm/u16-normcoll-tests: New file.
46058         * tests/uninorm/test-u16-normcoll.c: New file.
46059
46060         Tests for module 'uninorm/u8-normcoll'.
46061         * modules/uninorm/u8-normcoll-tests: New file.
46062         * tests/uninorm/test-u8-normcoll.c: New file.
46063
46064 2009-03-07  Bruno Haible  <bruno@clisp.org>
46065
46066         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
46067         tests/uninorm/test-u32-normcmp.c.
46068         * tests/uninorm/test-u32-normcmp.c: Include it.
46069         (test_nonascii): New function, extracted from main. Add some more
46070         tests.
46071         (main): Invoke test_ascii and test_nonascii.
46072         * modules/uninorm/u32-normcmp-tests (Files): Add
46073         tests/uninorm/test-u32-normcmp.h.
46074         (Depends-on): Remove uninorm/u32-normcmp.
46075
46076         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
46077         tests/uninorm/test-u16-normcmp.c.
46078         * tests/uninorm/test-u16-normcmp.c: Include it.
46079         (test_nonascii): New function, extracted from main. Add some more
46080         tests.
46081         (main): Invoke test_ascii and test_nonascii.
46082         * modules/uninorm/u16-normcmp-tests (Files): Add
46083         tests/uninorm/test-u16-normcmp.h.
46084         (Depends-on): Remove uninorm/u16-normcmp.
46085
46086         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
46087         tests/uninorm/test-u8-normcmp.c.
46088         * tests/uninorm/test-u8-normcmp.c: Include it.
46089         (test_nonascii): New function, extracted from main. Add some more
46090         tests.
46091         (main): Invoke test_ascii and test_nonascii.
46092         * modules/uninorm/u8-normcmp-tests (Files): Add
46093         tests/uninorm/test-u8-normcmp.h.
46094         (Depends-on): Remove uninorm/u8-normcmp.
46095
46096 2009-03-07  Bruno Haible  <bruno@clisp.org>
46097
46098         New module 'uninorm/u32-normcoll'.
46099         * lib/uninorm/u32-normcoll.c: New file.
46100         * modules/uninorm/u32-normcoll: New file.
46101
46102         New module 'uninorm/u16-normcoll'.
46103         * lib/uninorm/u16-normcoll.c: New file.
46104         * modules/uninorm/u16-normcoll: New file.
46105
46106         New module 'uninorm/u8-normcoll'.
46107         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
46108         declarations.
46109         * lib/uninorm/u8-normcoll.c: New file.
46110         * lib/uninorm/u-normcoll.h: New file.
46111         * modules/uninorm/u8-normcoll: New file.
46112
46113         New module 'uninorm/u32-normxfrm'.
46114         * lib/uninorm/u32-normxfrm.c: New file.
46115         * modules/uninorm/u32-normxfrm: New file.
46116
46117         New module 'uninorm/u16-normxfrm'.
46118         * lib/uninorm/u16-normxfrm.c: New file.
46119         * modules/uninorm/u16-normxfrm: New file.
46120
46121         New module 'uninorm/u8-normxfrm'.
46122         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
46123         declarations.
46124         * lib/uninorm/u8-normxfrm.c: New file.
46125         * lib/uninorm/u-normxfrm.h: New file.
46126         * modules/uninorm/u8-normxfrm: New file.
46127
46128 2009-03-07  Bruno Haible  <bruno@clisp.org>
46129
46130         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
46131         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
46132         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
46133
46134 2009-03-07  Bruno Haible  <bruno@clisp.org>
46135
46136         New module 'memxfrm'.
46137         * lib/memxfrm.h: New file.
46138         * lib/memxfrm.c: New file.
46139         * modules/memxfrm: New file.
46140
46141 2009-03-07  Bruno Haible  <bruno@clisp.org>
46142
46143         New module 'memcmp2'.
46144         * lib/memcmp2.h: New file.
46145         * lib/memcmp2.c: New file.
46146         * modules/memcmp2: New file.
46147
46148 2009-03-07  Bruno Haible  <bruno@clisp.org>
46149
46150         Tests for module 'uninorm/decomposing-form'.
46151         * modules/uninorm/decomposing-form-tests: New file.
46152         * tests/uninorm/test-decomposing-form.c: New file.
46153
46154         New module 'uninorm/decomposing-form'.
46155         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
46156         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
46157         Add 'decomposing_variant' field.
46158         * lib/uninorm/decomposing-form.c: New file.
46159         * lib/uninorm/nfc.c (uninorm_nfc): Update.
46160         * lib/uninorm/nfd.c (uninorm_nfd): Update.
46161         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
46162         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
46163         * modules/uninorm/decomposing-form: New file.
46164         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
46165         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
46166
46167 2009-03-07  Bruno Haible  <bruno@clisp.org>
46168
46169         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
46170         strings.
46171
46172 2009-03-06  Bruno Haible  <bruno@clisp.org>
46173
46174         Tests for module 'uninorm/u32-normcmp'.
46175         * tests/uninorm/test-u32-normcmp.c: New file.
46176         * modules/uninorm/u32-normcmp-tests: New file.
46177
46178         Tests for module 'uninorm/u16-normcmp'.
46179         * tests/uninorm/test-u16-normcmp.c: New file.
46180         * modules/uninorm/u16-normcmp-tests: New file.
46181
46182         Tests for module 'uninorm/u8-normcmp'.
46183         * tests/uninorm/test-u8-normcmp.c: New file.
46184         * modules/uninorm/u8-normcmp-tests: New file.
46185
46186         New module 'uninorm/u32-normcmp'.
46187         * lib/uninorm/u32-normcmp.c: New file.
46188         * modules/uninorm/u32-normcmp: New file.
46189
46190         New module 'uninorm/u16-normcmp'.
46191         * lib/uninorm/u16-normcmp.c: New file.
46192         * modules/uninorm/u16-normcmp: New file.
46193
46194         New module 'uninorm/u8-normcmp'.
46195         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
46196         declarations.
46197         * lib/uninorm/u8-normcmp.c: New file.
46198         * lib/uninorm/u-normcmp.h: New file.
46199         * modules/uninorm/u8-normcmp: New file.
46200
46201 2009-03-06  Bruno Haible  <bruno@clisp.org>
46202
46203         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
46204         Reported by Eric Blake.
46205
46206 2009-03-06  Eric Blake  <ebb9@byu.net>
46207             Bruno Haible  <bruno@clisp.org>
46208
46209         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
46210         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
46211         condition.
46212         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46213         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
46214         condition.
46215         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
46216
46217 2009-03-06  Eric Blake  <ebb9@byu.net>
46218
46219         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
46220         to avoid compiler warnings.
46221         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
46222
46223 2009-03-05  Bruno Haible  <bruno@clisp.org>
46224
46225         * tests/test-ftell.c (main): Disable test beyond end of file on
46226         FreeMiNT.
46227         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46228
46229 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
46230
46231         * lib/filevercmp.c: Move hidden files up in ordering.
46232         * tests/test-filevercmp.c: Add tests for hidden files.
46233
46234 2009-03-04  Bruno Haible  <bruno@clisp.org>
46235
46236         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
46237         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
46238         AM_CFLAGS.
46239         Reported by Simon Josefsson.
46240
46241 2009-03-03  Bruno Haible  <bruno@clisp.org>
46242
46243         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
46244         Reported by Simon Josefsson.
46245
46246         * doc/ld-version-script.texi: Update node reference.
46247
46248 2009-03-03  Bruno Haible  <bruno@clisp.org>
46249
46250         * modules/visibility (License): Change to 'unlimited'.
46251         Suggested by Simon Josefsson.
46252
46253 2009-03-03  Jim Meyering  <meyering@redhat.com>
46254
46255         unlinkdir: cannot_unlink_dir may modify process state
46256         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
46257         it's neither thread-safe nor appropriate for use in a library.
46258
46259 2009-03-03  Eric Blake  <ebb9@byu.net>
46260
46261         test-closein: silence test under Darwin
46262         * tests/test-closein.sh: Ignore stderr from cat, since we don't
46263         care if it dies from EPIPE or EBADF.
46264
46265 2009-03-03  Bruno Haible  <bruno@clisp.org>
46266
46267         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
46268         earlier.
46269         * doc/visibility.texi: Fix @node and @section.
46270
46271 2009-03-03  Simon Josefsson  <simon@josefsson.org>
46272
46273         * doc/gnulib.texi: Link to sections for ld version script and
46274         visibility.
46275         * doc/visibility.texi: Add @node and @section.
46276         * modules/ld-version-script: New module.
46277         * m4/ld-version-script.m4: New file.
46278         * doc/ld-version-script.texi: New file.
46279
46280 2009-03-02  David Lutterkort  <lutter@redhat.com>
46281
46282         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
46283         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46284
46285 2009-03-02  Bruno Haible  <bruno@clisp.org>
46286
46287         * doc/visibility.texi: Mention libtool's -export-symbols option.
46288
46289 2009-03-02  Jim Meyering  <meyering@redhat.com>
46290
46291         announce-gen: new option: --no-print-checksums
46292         * build-aux/announce-gen (usage): Describe it.
46293         (print_checksums): Print a newline here, not in the [*] footnote.
46294         (main): Honor it.
46295
46296 2009-03-01  Bruno Haible  <bruno@clisp.org>
46297
46298         Use socklen_t in the native Windows replacements prototypes.
46299         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
46300         instead of 'int'.
46301         * lib/getsockopt.c (rpl_getsockopt): Likewise.
46302         * lib/setsockopt.c (rpl_setsockopt): Likewise.
46303         * modules/getsockopt (Depends-on): Add socklen.
46304         * modules/setsockopt (Depends-on): Add socklen.
46305
46306 2009-03-01  Bruno Haible  <bruno@clisp.org>
46307
46308         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
46309         least 4.2.
46310
46311 2009-03-01  Eric Blake  <ebb9@byu.net>
46312             Bruno Haible  <bruno@clisp.org>
46313
46314         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
46315         error messages.
46316         * lib/wait-process.c (wait_subprocess): Omit error message about
46317         deadly signal sent to the child of termsigp != NULL.
46318
46319 2009-03-01  Eric Blake  <ebb9@byu.net>
46320
46321         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
46322
46323 2009-03-01  Bruno Haible  <bruno@clisp.org>
46324
46325         Avoid a gcc warning.
46326         * tests/test-sched.c (b): Make global.
46327         Reported by Eric Blake.
46328
46329 2009-01-19  Martin Lambers  <marlam@marlam.de>
46330
46331         Provide POSIX semantics for socket timeout options on W32.
46332         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
46333         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
46334         * modules/setsockopt: Depend on sys_time module for struct timeval.
46335         * modules/getsockopt: Depend on sys_time module for struct timeval.
46336
46337 2009-03-01  Simon Josefsson  <simon@josefsson.org>
46338
46339         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
46340         __USE_GNU, for consistency with netdb.in.h.
46341         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46342
46343 2009-03-01  Bruno Haible  <bruno@clisp.org>
46344
46345         More support for FreeMiNT.
46346         * lib/fseeko.c (rpl_fseeko): Complete last commit.
46347         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46348
46349 2009-03-01  Bruno Haible  <bruno@clisp.org>
46350
46351         More support for FreeMiNT.
46352         * lib/fpurge.c (fpurge): Correct last commit.
46353         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46354
46355 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46356
46357         Fix unportable awk script in vc-list-files.
46358         * build-aux/vc-list-files: In the replacement awk script, use
46359         substr with a second argument of 1, not zero.
46360         Report by Simon Josefsson.
46361
46362 2009-02-28  Bruno Haible  <bruno@clisp.org>
46363
46364         More support for FreeMiNT.
46365         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
46366         to FreeMiNT today.
46367         * lib/fwriting.c (fwriting): Likewise.
46368         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
46369
46370 2009-02-28  Bruno Haible  <bruno@clisp.org>
46371
46372         * tests/test-freadseek.c (main): Disable test beyond end of file on
46373         FreeMiNT.
46374         * tests/test-ftello.c (main): Likewise.
46375         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
46376
46377 2009-02-28  Bruno Haible  <bruno@clisp.org>
46378
46379         Add tentative support for FreeMiNT.
46380         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
46381         * lib/fpurge.c (fpurge): Likewise.
46382         * lib/freadable.c (freadable): Likewise.
46383         * lib/freading.c (freading): Likewise.
46384         * lib/freadptr.c (freadptr): Likewise.
46385         * lib/freadseek.c (freadptrinc): Likewise.
46386         * lib/fseeko.c (rpl_fseeko): Likewise.
46387         * lib/fseterr.c (fseterr): Likewise.
46388         * lib/fwritable.c (fwritable): Likewise.
46389         * lib/fwriting.c (fwriting): Likewise.
46390         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
46391         Hourihane.
46392         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46393
46394 2009-02-28  Bruno Haible  <bruno@clisp.org>
46395
46396         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
46397         SIGCHLD.
46398         Reported by Jim Meyering.
46399
46400 2009-02-28  Bruno Haible  <bruno@clisp.org>
46401
46402         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
46403         Mention the results of these tests on various platforms.
46404         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
46405         order.
46406         * doc/posix-functions/printf.texi: Likewise.
46407         * doc/posix-functions/snprintf.texi: Likewise.
46408         * doc/posix-functions/sprintf.texi: Likewise.
46409         * doc/posix-functions/vfprintf.texi: Likewise.
46410         * doc/posix-functions/vprintf.texi: Likewise.
46411         * doc/posix-functions/vsnprintf.texi: Likewise.
46412         * doc/posix-functions/vsprintf.texi: Likewise.
46413         * doc/glibc-functions/obstack_printf.texi: Likewise.
46414         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46415
46416 2009-02-28  Bruno Haible  <bruno@clisp.org>
46417
46418         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
46419         Reported by Loïc Minier <lool@dooz.org>.
46420
46421 2009-02-27  Bruno Haible  <bruno@clisp.org>
46422
46423         * gnulib-tool (func_import): Make the sed expression used to create the
46424         sed script for updating the .gitignore file POSIX compliant.
46425         Reported by Eric Blake.
46426
46427 2009-02-27  Bruno Haible  <bruno@clisp.org>
46428
46429         * gnulib-tool (sed): Don't alias as "sed --posix".
46430         Reported by Eric Blake.
46431
46432 2009-02-27  Bruno Haible  <bruno@clisp.org>
46433
46434         Avoid test link errors.
46435         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
46436         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
46437         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
46438         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
46439         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46440
46441 2009-02-27  Bruno Haible  <bruno@clisp.org>
46442
46443         Avoid spurious "(cached)" in configure output.
46444         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
46445         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
46446         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
46447         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
46448         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
46449         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
46450         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
46451         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
46452         Reported by Eric Blake.
46453
46454 2009-02-27  Eric Blake  <ebb9@byu.net>
46455
46456         printf: fix regression in previous patch
46457         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
46458
46459 2009-02-27  Bruno Haible  <bruno@clisp.org>
46460
46461         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
46462         value.
46463         * lib/stdint.in.h: Likewise.
46464         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
46465
46466 2009-02-27  Eric Blake  <ebb9@byu.net>
46467
46468         doc: mention more functions added in cygwin 1.7.0
46469         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
46470         addition.
46471         * doc/posix-functions/open_wmemstream.texi: Likewise.
46472         * doc/posix-functions/wcsnlen.texi: Likewise.
46473         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46474         * doc/posix-functions/wcstod.texi: Likewise.
46475         * doc/posix-functions/wcstof.texi: Likewise.
46476         * doc/posix-functions/wcstoimax.texi: Likewise.
46477         * doc/posix-functions/wcstok.texi: Likewise.
46478         * doc/posix-functions/wcstoumax.texi: Likewise.
46479
46480         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
46481         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
46482         * doc/posix-functions/fprintf.texi: Update.
46483         * doc/posix-functions/printf.texi: Update.
46484         * doc/posix-functions/snprintf.texi: Update.
46485         * doc/posix-functions/sprintf.texi: Update.
46486         * doc/posix-functions/vfprintf.texi: Update.
46487         * doc/posix-functions/vprintf.texi: Update.
46488         * doc/posix-functions/vsnprintf.texi: Update.
46489         * doc/posix-functions/vsprintf.texi: Update.
46490         * doc/glibc-functions/obstack_printf.texi: Update.
46491         * doc/glibc-functions/obstack_vprintf.texi: Update.
46492
46493 2009-02-26  Eric Blake  <ebb9@byu.net>
46494
46495         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
46496         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
46497         compilation bug by using runtime conversion.
46498         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
46499         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
46500         * modules/ceill-tests (Files): Use nan.h.
46501         * modules/floorl-tests (Files): Likewise.
46502         * modules/frexpl-tests (Files): Likewise.
46503         * modules/isnanl-tests (Files): Likewise.
46504         * modules/ldexpl-tests (Files): Likewise.
46505         * modules/roundl-tests (Files): Likewise.
46506         * modules/truncl-tests (Files): Likewise.
46507         * tests/test-ceill.c (main): Use a working NaN.
46508         * tests/test-floorl.c (main): Likewise.
46509         * tests/test-frexpl.c (main): Likewise.
46510         * tests/test-isnan.c (test_long_double): Likewise.
46511         * tests/test-isnanl.h (main): Likewise.
46512         * tests/test-ldexpl.h (main): Likewise.
46513         * tests/test-roundl.h (main): Likewise.
46514         * tests/test-truncl.h (main): Likewise.
46515         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
46516
46517 2009-02-26  Eric Blake  <ebb9@byu.net>
46518             Bruno Haible  <bruno@clisp.org>
46519
46520         Work around a *printf bug with %ls on Solaris.
46521         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
46522         precision is specified, sprintf stops converting the wide string
46523         argument when the number of bytes that have been produced by this
46524         conversion equals or exceeds the precision.
46525         * doc/posix-functions/fprintf.texi: Update.
46526         * doc/posix-functions/printf.texi: Update.
46527         * doc/posix-functions/snprintf.texi: Update.
46528         * doc/posix-functions/sprintf.texi: Update.
46529         * doc/posix-functions/vfprintf.texi: Update.
46530         * doc/posix-functions/vprintf.texi: Update.
46531         * doc/posix-functions/vsnprintf.texi: Update.
46532         * doc/posix-functions/vsprintf.texi: Update.
46533         * doc/glibc-functions/obstack_printf.texi: Update.
46534         * doc/glibc-functions/obstack_vprintf.texi: Update.
46535
46536 2009-02-26  Eric Blake  <ebb9@byu.net>
46537
46538         stdlib: favor compiler check of random.h
46539         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
46540         to avoid an ObjC random.h installed by Swarm.
46541
46542 2009-02-26  Bruno Haible  <bruno@clisp.org>
46543
46544         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
46545         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
46546         Reported by Gary V. Vaughan <gary@gnu.org>.
46547
46548 2009-02-26  Bruno Haible  <bruno@clisp.org>
46549
46550         Fix *printf behaviour regarding the %ls directive.
46551         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
46552         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
46553         NEED_PRINTF_DIRECTIVE_LS.
46554         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
46555         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
46556         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46557         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
46558         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
46559         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
46560         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
46561         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46562         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46563         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46564         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46565         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
46566         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46567         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46568         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46569         * doc/posix-functions/fprintf.texi: Update.
46570         * doc/posix-functions/printf.texi: Update.
46571         * doc/posix-functions/snprintf.texi: Update.
46572         * doc/posix-functions/sprintf.texi: Update.
46573         * doc/posix-functions/vfprintf.texi: Update.
46574         * doc/posix-functions/vprintf.texi: Update.
46575         * doc/posix-functions/vsnprintf.texi: Update.
46576         * doc/posix-functions/vsprintf.texi: Update.
46577         * doc/glibc-functions/obstack_printf.texi: Update.
46578         * doc/glibc-functions/obstack_vprintf.texi: Update.
46579         Reported by Eric Blake.
46580
46581 2009-02-25  Bruno Haible  <bruno@clisp.org>
46582
46583         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
46584         with known value.
46585         Reported by Gary V. Vaughan <gary@gnu.org>.
46586
46587 2009-02-25  Bruno Haible  <bruno@clisp.org>
46588
46589         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
46590         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
46591         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
46592         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
46593         Reported by Gary V. Vaughan <gary@gnu.org>.
46594
46595 2009-02-25  Bruno Haible  <bruno@clisp.org>
46596
46597         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
46598         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
46599         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
46600         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
46601         Reported by Gary V. Vaughan <gary@gnu.org>.
46602
46603 2009-02-25  Eric Blake  <ebb9@byu.net>
46604
46605         tests: skip fseek/ftell tests if ungetc is broken
46606         * m4/ungetc.m4: New file.
46607         * modules/fseek-tests: Split test, so ungetc dependency is
46608         separate from rest of test.
46609         * modules/fseeko-tests: Likewise.
46610         * modules/ftell-tests: Likewise.
46611         * modules/ftello-tests: Likewise.
46612         * tests/test-fseek.c (main): Isolate ungetc dependency.
46613         * tests/test-fseeko.c (main): Likewise.
46614         * tests/test-ftell.c (main): Likewise.
46615         * tests/test-ftello.c (main): Likewise.
46616         * tests/test-fseek2.sh: New file.
46617         * tests/test-fseeko2.sh: Likewise.
46618         * tests/test-ftell2.sh: Likewise.
46619         * tests/test-ftello2.sh: Likewise.
46620
46621 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
46622
46623         test-getaddrinfo: fix usage of skip return code 77
46624         * tests/test-gettaddrinfo.c: Return skip code 77 only
46625         for first occurance of skip (4x77 is not 77)
46626
46627 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
46628
46629         strtod: avoid C99 decl-after-statement
46630         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
46631
46632 2009-02-24  Eric Blake  <ebb9@byu.net>
46633
46634         strtod: detect HP-UX 11.31 bug
46635         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
46636         Reported by Gary V. Vaughan.
46637
46638 2009-02-23  Bruno Haible  <bruno@clisp.org>
46639
46640         Fix invalid read past end of memory block.
46641         * lib/vasnprintf.c (DCHAR_SET): Define.
46642         (local_wcslen): Define only when needed.
46643         (local_strnlen, local_wcsnlen): New functions.
46644         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
46645         directives that involve a conversion ourselves.
46646         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
46647         wcsnlen, mbrtowc, wcrtomb.
46648         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
46649         * tests/test-vasprintf-posix.c (test_function): Likewise.
46650         * tests/test-snprintf-posix.h (test_function): Likewise.
46651         * tests/test-sprintf-posix.h (test_function): Likewise.
46652         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46653
46654 2009-02-22  Bruno Haible  <bruno@clisp.org>
46655
46656         Implement new clarified decomposition of Hangul syllables.
46657         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
46658         of type LTV, return only a pairwise decomposition.
46659         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
46660         Likewise.
46661         * tests/uninorm/test-decomposition.c (main): Updated expected result.
46662         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
46663         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
46664
46665 2009-02-22  Bruno Haible  <bruno@clisp.org>
46666
46667         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
46668         zero-length results and shrink excess allocated memory.
46669         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
46670         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
46671         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
46672         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
46673         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
46674         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
46675         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
46676         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
46677         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
46678         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
46679         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
46680         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
46681
46682 2009-02-21  Bruno Haible  <bruno@clisp.org>
46683
46684         * doc/gnulib.texi: Include safe-alloc.texi earlier.
46685         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
46686         spaces after a period. Put a space between a macro name and its
46687         argument list. Trivial rewordings.
46688         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
46689         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
46690         (main): Return 0 explicitly.
46691
46692 2009-02-21  Bruno Haible  <bruno@clisp.org>
46693
46694         Tests for module 'uninorm/filter'.
46695         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
46696         * modules/uninorm/filter-tests: New file.
46697
46698         New module 'uninorm/filter'.
46699         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
46700         uninorm_filter_flush, uninorm_filter_free): New declarations.
46701         * lib/uninorm/uninorm-filter.c: New file.
46702         * modules/uninorm/filter: New file.
46703
46704 2009-02-21  Bruno Haible  <bruno@clisp.org>
46705
46706         Tests for module 'uninorm/nfkc'.
46707         * tests/uninorm/test-nfkc.c: New file.
46708         * tests/uninorm/test-u8-nfkc.c: New file.
46709         * tests/uninorm/test-u16-nfkc.c: New file.
46710         * tests/uninorm/test-u32-nfkc.c: New file.
46711         * tests/uninorm/test-u32-nfkc-big.sh: New file.
46712         * tests/uninorm/test-u32-nfkc-big.c: New file.
46713         * modules/uninorm/nfkc-tests: New file.
46714
46715         New module 'uninorm/nfkc'.
46716         * lib/uninorm/nfkc.c: New file.
46717         * modules/uninorm/nfkc: New file.
46718
46719         Tests for module 'uninorm/nfkd'.
46720         * tests/uninorm/test-nfkd.c: New file.
46721         * tests/uninorm/test-u8-nfkd.c: New file.
46722         * tests/uninorm/test-u16-nfkd.c: New file.
46723         * tests/uninorm/test-u32-nfkd.c: New file.
46724         * tests/uninorm/test-u32-nfkd-big.sh: New file.
46725         * tests/uninorm/test-u32-nfkd-big.c: New file.
46726         * modules/uninorm/nfkd-tests: New file.
46727
46728         New module 'uninorm/nfkd'.
46729         * lib/uninorm/nfkd.c: New file.
46730         * modules/uninorm/nfkd: New file.
46731
46732         Tests for module 'uninorm/nfc'.
46733         * tests/uninorm/test-nfc.c: New file.
46734         * tests/uninorm/test-u8-nfc.c: New file.
46735         * tests/uninorm/test-u16-nfc.c: New file.
46736         * tests/uninorm/test-u32-nfc.c: New file.
46737         * tests/uninorm/test-u32-nfc-big.sh: New file.
46738         * tests/uninorm/test-u32-nfc-big.c: New file.
46739         * modules/uninorm/nfc-tests: New file.
46740
46741         New module 'uninorm/nfc'.
46742         * lib/uninorm/nfc.c: New file.
46743         * modules/uninorm/nfc: New file.
46744
46745         Tests for module 'uninorm/nfd'.
46746         * tests/uninorm/test-nfd.c: New file.
46747         * tests/uninorm/test-u8-nfd.c: New file.
46748         * tests/uninorm/test-u16-nfd.c: New file.
46749         * tests/uninorm/test-u32-nfd.c: New file.
46750         * tests/uninorm/test-u32-nfd-big.sh: New file.
46751         * tests/uninorm/test-u32-nfd-big.c: New file.
46752         * tests/uninorm/test-u32-normalize-big.h: New file.
46753         * tests/uninorm/test-u32-normalize-big.c: New file.
46754         * tests/uninorm/NormalizationTest.txt: New file, created from
46755         Unicode 5.1.0 NormalizationTest.txt.
46756         * modules/uninorm/nfd-tests: New file.
46757
46758         New module 'uninorm/nfd'.
46759         * lib/uninorm/nfd.c: New file.
46760         * modules/uninorm/nfd: New file.
46761
46762         New module 'uninorm/u32-normalize'.
46763         * lib/uninorm/u32-normalize.c: New file.
46764         * modules/uninorm/u32-normalize: New file.
46765
46766         New module 'uninorm/u16-normalize'.
46767         * lib/uninorm/u16-normalize.c: New file.
46768         * modules/uninorm/u16-normalize: New file.
46769
46770         New module 'uninorm/u8-normalize'.
46771         * lib/uninorm/u8-normalize.c: New file.
46772         * lib/uninorm/normalize-internal.h: New file.
46773         * lib/uninorm/u-normalize-internal.h: New file.
46774         * modules/uninorm/u8-normalize: New file.
46775
46776         New module 'uninorm/decompose-internal'.
46777         * lib/uninorm/decompose-internal.c: New file.
46778         * modules/uninorm/decompose-internal: New file.
46779
46780         Tests for module 'uninorm/composition'.
46781         * tests/uninorm/test-composition.c: New file.
46782         * modules/uninorm/composition-tests: New file.
46783
46784         New module 'uninorm/composition'.
46785         * lib/uninorm/composition.c: New file.
46786         * lib/uninorm/composition-table.gperf: New file, generated by
46787         gen-uni-tables.
46788         * modules/uninorm/composition: New file.
46789
46790         Tests for module 'uninorm/compat-decomposition'.
46791         * tests/uninorm/test-compat-decomposition.c: New file.
46792         * modules/uninorm/compat-decomposition-tests: New file.
46793
46794         New module 'uninorm/compat-decomposition'.
46795         * lib/uninorm/decompose-internal.h: New file.
46796         * lib/uninorm/compat-decomposition.c: New file.
46797         * modules/uninorm/compat-decomposition: New file.
46798
46799         Tests for module 'uninorm/canonical-decomposition'.
46800         * tests/uninorm/test-canonical-decomposition.c: New file.
46801         * modules/uninorm/canonical-decomposition-tests: New file.
46802
46803         New module 'uninorm/canonical-decomposition'.
46804         * lib/uninorm/canonical-decomposition.c: New file.
46805         * modules/uninorm/canonical-decomposition: New file.
46806
46807         Tests for module 'uninorm/decomposition'.
46808         * tests/uninorm/test-decomposition.c: New file.
46809         * modules/uninorm/decomposition-tests: New file.
46810
46811         New module 'uninorm/decomposition'.
46812         * lib/uninorm/decomposition.c: New file.
46813         * modules/uninorm/decomposition: New file.
46814
46815         New module 'uninorm/decomposition-table'.
46816         * lib/uninorm/decomposition-table.h: New file.
46817         * lib/uninorm/decomposition-table.c: New file.
46818         * lib/uninorm/decomposition-table1.h: New file, generated by
46819         gen-uni-tables.
46820         * lib/uninorm/decomposition-table2.h: New file, generated by
46821         gen-uni-tables.
46822         * modules/uninorm/decomposition-table: New file.
46823
46824         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
46825         (UC_DECOMP_*): New enumeration items.
46826         (get_decomposition): New function.
46827         (struct decomp_table): New type.
46828         (output_decomposition, output_decomposition_tables): New functions.
46829         (unicode_composition_exclusions): New variable.
46830         (fill_composition_exclusions, debug_output_composition_tables): New
46831         functions.
46832         (main): Accept one more argument. Invoke fill_composition_exclusions.
46833         Output decomposition and composition tables.
46834
46835         New module 'uninorm/base'.
46836         * lib/uninorm.h: New file.
46837         * lib/unictype.h: Update comment.
46838         * modules/uninorm/base: New file.
46839
46840 2009-02-21  David Lutterkort  <lutter@redhat.com>
46841
46842         Tests for module 'safe-alloc'.
46843         * tests/test-safe-alloc.c: New file.
46844         * modules/safe-alloc-tests: New file.
46845
46846         New module 'safe-alloc'.
46847         * lib/safe-alloc.h: New file.
46848         * lib/safe-alloc.c: New file.
46849         * m4/safe-alloc.m4: New file.
46850         * modules/safe-alloc: New file.
46851         * doc/safe-alloc.texi: New file.
46852         * doc/gnulib.texi: Include it.
46853         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
46854         safe-alloc.
46855
46856 2009-02-18  Bruno Haible  <bruno@clisp.org>
46857
46858         Fix link error on non-glibc systems.
46859         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
46860         variable.
46861         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46862
46863 2009-02-18  Jim Meyering  <meyering@redhat.com>
46864
46865         fts: avoid used-uninitialized error due to recent change
46866         * lib/fts.c (fts_read): Guard uses of the new member,
46867         parent->fts_n_dirs_remaining, since it's not relevant for
46868         the parent of a directory specified on the command-line.
46869
46870 2009-02-17  James Youngman  <jay@gnu.org>
46871             Bruno Haible  <bruno@clisp.org>
46872
46873         * m4/include_next.m4: Reformulate comment.
46874
46875 2009-02-16  Jim Meyering  <meyering@redhat.com>
46876
46877         fts: add #if guards so that the fts_lgpl module still builds
46878         * lib/fts.c: Guard just-added hash-table-using parts with
46879         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
46880         Reported by Simon Josefsson.
46881
46882 2009-02-15  Bruno Haible  <bruno@clisp.org>
46883
46884         * modules/array-mergesort-tests: New file.
46885         * tests/test-array-mergesort.c: New file.
46886
46887         New module 'array-mergesort'.
46888         * modules/array-mergesort: New file.
46889         * lib/array-mergesort.h: New file.
46890
46891 2009-02-15  Bruno Haible  <bruno@clisp.org>
46892
46893         Fix 2009-02-07 commit.
46894         * lib/gen-uni-tables.c (output_predicate, output_category,
46895         output_combclass, output_bidi_category, output_decimal_digit,
46896         output_digit, output_numeric, output_mirror, output_scripts,
46897         output_ident_category, output_simple_mapping): Fix format directives.
46898         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
46899
46900 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
46901
46902         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
46903         fixes are available from IBM.
46904
46905 2009-02-13  Jim Meyering  <meyering@redhat.com>
46906
46907         fts: arrange not to stat non-directories in more cases
46908         This makes GNU find (when it doesn't need to stat each file)
46909         *much* more efficient at traversing reiserfs file systems.
46910         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
46911         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
46912         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
46913         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
46914         (leaf_optimization_applies): New function.
46915         (LCO_hash, LCO_compare): New helper functions.
46916         (link_count_optimize_ok): New function.
46917         (fts_stat): Initialize new member (if dir).
46918         (fts_read): Decrement parent's fts_n_dirs_remaining count if
46919         we've just stat'ed a directory.  Skip the stat call when possible.
46920         ---
46921         Note this AFS-related exchange:
46922         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
46923         and note find's pioctl call in find/fstype.c.
46924         But that is necessary only if you want to enable the
46925         optimization for AFS, and for now, I don't.
46926
46927         fts: move a function definition "up" (no semantic change)
46928         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
46929         "up" to precede upcoming use of a related function.
46930
46931 2009-02-11  Jim Meyering  <meyering@redhat.com>
46932
46933         fts: correct internal computation of nlinks (optimization-related)
46934         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
46935         whether the current entry is a directory, so don't test it.
46936
46937 2009-02-10  Bruno Haible  <bruno@clisp.org>
46938
46939         Tests for module 'uniwbrk/ulc-wordbreaks'.
46940         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
46941         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
46942         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
46943
46944         Tests for module 'uniwbrk/u32-wordbreaks'.
46945         * modules/uniwbrk/u32-wordbreaks-tests: New file.
46946         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
46947
46948         Tests for module 'uniwbrk/u16-wordbreaks'.
46949         * modules/uniwbrk/u16-wordbreaks-tests: New file.
46950         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
46951
46952         Tests for module 'uniwbrk/u8-wordbreaks'.
46953         * modules/uniwbrk/u8-wordbreaks-tests: New file.
46954         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
46955
46956 2009-02-10  Bruno Haible  <bruno@clisp.org>
46957
46958         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
46959         property.
46960         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
46961         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
46962         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
46963
46964 2009-02-10  Simon Josefsson  <simon@josefsson.org>
46965
46966         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
46967         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
46968
46969 2009-02-10  Bruno Haible  <bruno@clisp.org>
46970
46971         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
46972         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
46973         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
46974         * lib/unilbrk/u8-possible-linebreaks.c: Update.
46975         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
46976         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
46977
46978 2009-02-09  Simon Josefsson  <simon@josefsson.org>
46979
46980         * lib/sockets.h (gl_fd_to_handle): New function.
46981
46982         * tests/test-sockets.c: Call gl_fd_to_handle.
46983
46984 2009-02-09  Bruno Haible  <bruno@clisp.org>
46985
46986         * doc/havelib.texi: Document the conventions on bi-arch systems.
46987
46988 2009-02-08  Bruno Haible  <bruno@clisp.org>
46989
46990         Document the AC_LIB_LINKFLAGS macro.
46991         * doc/havelib.texi: New file, mostly written on 2005-05-24.
46992         * doc/gnulib.texi: Include it.
46993
46994 2009-02-08  Bruno Haible  <bruno@clisp.org>
46995
46996         Fix wrong order of sections, compared to TOC.
46997         * doc/gnulib.texi: Include relocatable-maint.texi after the
46998         "Regular expressions" node, not before.
46999
47000 2009-02-08  Bruno Haible  <bruno@clisp.org>
47001
47002         Tests for module 'unicase/totitle'.
47003         * modules/unicase/totitle-tests: New file.
47004
47005         Tests for module 'unicase/tolower'.
47006         * modules/unicase/tolower-tests: New file.
47007
47008         Tests for module 'unicase/toupper'.
47009         * modules/unicase/toupper-tests: New file.
47010         * tests/unicase/test-mapping-part1.h: New file.
47011         * tests/unicase/test-mapping-part2.h: New file.
47012
47013         New module 'unicase/totitle'.
47014         * modules/unicase/totitle: New file.
47015         * lib/unicase/totitle.c: New file.
47016
47017         New module 'unicase/tolower'.
47018         * modules/unicase/tolower: New file.
47019         * lib/unicase/tolower.c: New file.
47020
47021         New module 'unicase/toupper'.
47022         * modules/unicase/toupper: New file.
47023         * lib/unicase/toupper.c: New file.
47024         * lib/unicase/simple-mapping.h: New file.
47025
47026         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
47027         (mapping_table): New structure.
47028         (output_simple_mapping): New function.
47029         (main): Invoke output_simple_mapping_test and output_simple_mapping.
47030         * modules/gen-uni-tables (Description): Update.
47031         * lib/unicase/toupper.h: New file, automatically generated by
47032         gen-uni-tables.
47033         * lib/unicase/tolower.h: New file, automatically generated by
47034         gen-uni-tables.
47035         * lib/unicase/totitle.h: New file, automatically generated by
47036         gen-uni-tables.
47037         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
47038         gen-uni-tables.
47039         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
47040         gen-uni-tables.
47041         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
47042         gen-uni-tables.
47043
47044         New module 'unicase/base'.
47045         * modules/unicase/base: New file.
47046         * lib/unicase.h: New file.
47047
47048 2009-02-08  Bruno Haible  <bruno@clisp.org>
47049
47050         New module 'uniwbrk/ulc-wordbreaks'.
47051         * modules/uniwbrk/ulc-wordbreaks: New file.
47052         * lib/uniwbrk/ulc-wordbreaks.c: New file.
47053
47054         New module 'uniwbrk/u32-wordbreaks'.
47055         * modules/uniwbrk/u32-wordbreaks: New file.
47056         * lib/uniwbrk/u32-wordbreaks.c: New file.
47057
47058         New module 'uniwbrk/u16-wordbreaks'.
47059         * modules/uniwbrk/u16-wordbreaks: New file.
47060         * lib/uniwbrk/u16-wordbreaks.c: New file.
47061
47062         New module 'uniwbrk/u8-wordbreaks'.
47063         * modules/uniwbrk/u8-wordbreaks: New file.
47064         * lib/uniwbrk/u8-wordbreaks.c: New file.
47065         * lib/uniwbrk/u-wordbreaks.h: New file.
47066
47067         New module 'uniwbrk/table'.
47068         * modules/uniwbrk/table: New file.
47069         * lib/uniwbrk/wbrktable.h: New file.
47070         * lib/uniwbrk/wbrktable.c: New file.
47071
47072         New module 'uniwbrk/wordbreak-property'.
47073         * modules/uniwbrk/wordbreak-property: New file.
47074         * lib/uniwbrk/wordbreak-property.c: New file.
47075
47076         * lib/gen-uni-tables.c (WBP_*): New enum items.
47077         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
47078         (unicode_org_wbp): New variable.
47079         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
47080         New functions.
47081         (wbp_table): New structure.
47082         (output_wbp, output_wbrk_tables): New functions.
47083         (main): Accept additional argument. Invoke fill_org_wbp,
47084         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
47085         output_wbrk_tables.
47086         * modules/gen-uni-tables (Description): Update.
47087         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
47088         gen-uni-tables.
47089
47090         New module 'uniwbrk/base'.
47091         * modules/uniwbrk/base: New file.
47092         * lib/uniwbrk.h: New file.
47093
47094 2009-02-08  Bruno Haible  <bruno@clisp.org>
47095
47096         Update to Unicode 5.1.0.
47097         * lib/gen-uni-tables.c (is_property_alphabetic): Include
47098         U+2185..U+2188.
47099         (is_property_default_ignorable_code_point): Don't include characters
47100         of category Cc or Cs and not-a-characters.
47101         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
47102         U+0D79, U+109E, U+109F, U+A60C.
47103         * lib/unictype/bidi_of.h: Regenerated.
47104         * lib/unictype/blocks.h: Regenerated.
47105         * lib/unictype/categ_C.h: Regenerated.
47106         * lib/unictype/categ_Cf.h: Regenerated.
47107         * lib/unictype/categ_Cn.h: Regenerated.
47108         * lib/unictype/categ_L.h: Regenerated.
47109         * lib/unictype/categ_Ll.h: Regenerated.
47110         * lib/unictype/categ_Lm.h: Regenerated.
47111         * lib/unictype/categ_Lo.h: Regenerated.
47112         * lib/unictype/categ_Lu.h: Regenerated.
47113         * lib/unictype/categ_M.h: Regenerated.
47114         * lib/unictype/categ_Mc.h: Regenerated.
47115         * lib/unictype/categ_Me.h: Regenerated.
47116         * lib/unictype/categ_Mn.h: Regenerated.
47117         * lib/unictype/categ_N.h: Regenerated.
47118         * lib/unictype/categ_Nd.h: Regenerated.
47119         * lib/unictype/categ_Nl.h: Regenerated.
47120         * lib/unictype/categ_No.h: Regenerated.
47121         * lib/unictype/categ_P.h: Regenerated.
47122         * lib/unictype/categ_Pd.h: Regenerated.
47123         * lib/unictype/categ_Pe.h: Regenerated.
47124         * lib/unictype/categ_Pf.h: Regenerated.
47125         * lib/unictype/categ_Pi.h: Regenerated.
47126         * lib/unictype/categ_Po.h: Regenerated.
47127         * lib/unictype/categ_Ps.h: Regenerated.
47128         * lib/unictype/categ_S.h: Regenerated.
47129         * lib/unictype/categ_Sk.h: Regenerated.
47130         * lib/unictype/categ_Sm.h: Regenerated.
47131         * lib/unictype/categ_So.h: Regenerated.
47132         * lib/unictype/categ_of.h: Regenerated.
47133         * lib/unictype/combining.h: Regenerated.
47134         * lib/unictype/ctype_alnum.h: Regenerated.
47135         * lib/unictype/ctype_alpha.h: Regenerated.
47136         * lib/unictype/ctype_graph.h: Regenerated.
47137         * lib/unictype/ctype_lower.h: Regenerated.
47138         * lib/unictype/ctype_print.h: Regenerated.
47139         * lib/unictype/ctype_punct.h: Regenerated.
47140         * lib/unictype/ctype_upper.h: Regenerated.
47141         * lib/unictype/decdigit.h: Regenerated.
47142         * lib/unictype/digit.h: Regenerated.
47143         * lib/unictype/mirror.h: Regenerated.
47144         * lib/unictype/numeric.h: Regenerated.
47145         * lib/unictype/pr_alphabetic.h: Regenerated.
47146         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
47147         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
47148         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
47149         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
47150         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
47151         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
47152         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
47153         * lib/unictype/pr_combining.h: Regenerated.
47154         * lib/unictype/pr_dash.h: Regenerated.
47155         * lib/unictype/pr_decimal_digit.h: Regenerated.
47156         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
47157         * lib/unictype/pr_deprecated.h: Regenerated.
47158         * lib/unictype/pr_diacritic.h: Regenerated.
47159         * lib/unictype/pr_extender.h: Regenerated.
47160         * lib/unictype/pr_format_control.h: Regenerated.
47161         * lib/unictype/pr_grapheme_base.h: Regenerated.
47162         * lib/unictype/pr_grapheme_extend.h: Regenerated.
47163         * lib/unictype/pr_grapheme_link.h: Regenerated.
47164         * lib/unictype/pr_id_continue.h: Regenerated.
47165         * lib/unictype/pr_id_start.h: Regenerated.
47166         * lib/unictype/pr_ideographic.h: Regenerated.
47167         * lib/unictype/pr_ignorable_control.h: Regenerated.
47168         * lib/unictype/pr_lowercase.h: Regenerated.
47169         * lib/unictype/pr_math.h: Regenerated.
47170         * lib/unictype/pr_numeric.h: Regenerated.
47171         * lib/unictype/pr_other_alphabetic.h: Regenerated.
47172         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
47173         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
47174         * lib/unictype/pr_other_id_continue.h: Regenerated.
47175         * lib/unictype/pr_other_lowercase.h: Regenerated.
47176         * lib/unictype/pr_other_math.h: Regenerated.
47177         * lib/unictype/pr_punctuation.h: Regenerated.
47178         * lib/unictype/pr_sentence_terminal.h: Regenerated.
47179         * lib/unictype/pr_soft_dotted.h: Regenerated.
47180         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
47181         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
47182         * lib/unictype/pr_unified_ideograph.h: Regenerated.
47183         * lib/unictype/pr_uppercase.h: Regenerated.
47184         * lib/unictype/pr_xid_continue.h: Regenerated.
47185         * lib/unictype/pr_xid_start.h: Regenerated.
47186         * lib/unictype/pr_zero_width.h: Regenerated.
47187         * lib/unictype/scripts.h: Regenerated.
47188         * lib/unictype/scripts_byname.gperf: Regenerated.
47189         * lib/unictype/sy_java_ident.h: Regenerated.
47190         * lib/unilbrk/lbrkprop1.h: Regenerated.
47191         * lib/unilbrk/lbrkprop2.h: Regenerated.
47192         * tests/unictype/test-categ_C.c: Regenerated.
47193         * tests/unictype/test-categ_Cf.c: Regenerated.
47194         * tests/unictype/test-categ_Cn.c: Regenerated.
47195         * tests/unictype/test-categ_L.c: Regenerated.
47196         * tests/unictype/test-categ_Ll.c: Regenerated.
47197         * tests/unictype/test-categ_Lm.c: Regenerated.
47198         * tests/unictype/test-categ_Lo.c: Regenerated.
47199         * tests/unictype/test-categ_Lu.c: Regenerated.
47200         * tests/unictype/test-categ_M.c: Regenerated.
47201         * tests/unictype/test-categ_Mc.c: Regenerated.
47202         * tests/unictype/test-categ_Me.c: Regenerated.
47203         * tests/unictype/test-categ_Mn.c: Regenerated.
47204         * tests/unictype/test-categ_N.c: Regenerated.
47205         * tests/unictype/test-categ_Nd.c: Regenerated.
47206         * tests/unictype/test-categ_Nl.c: Regenerated.
47207         * tests/unictype/test-categ_No.c: Regenerated.
47208         * tests/unictype/test-categ_P.c: Regenerated.
47209         * tests/unictype/test-categ_Pd.c: Regenerated.
47210         * tests/unictype/test-categ_Pe.c: Regenerated.
47211         * tests/unictype/test-categ_Pf.c: Regenerated.
47212         * tests/unictype/test-categ_Pi.c: Regenerated.
47213         * tests/unictype/test-categ_Po.c: Regenerated.
47214         * tests/unictype/test-categ_Ps.c: Regenerated.
47215         * tests/unictype/test-categ_S.c: Regenerated.
47216         * tests/unictype/test-categ_Sk.c: Regenerated.
47217         * tests/unictype/test-categ_Sm.c: Regenerated.
47218         * tests/unictype/test-categ_So.c: Regenerated.
47219         * tests/unictype/test-ctype_alnum.c: Regenerated.
47220         * tests/unictype/test-ctype_alpha.c: Regenerated.
47221         * tests/unictype/test-ctype_graph.c: Regenerated.
47222         * tests/unictype/test-ctype_lower.c: Regenerated.
47223         * tests/unictype/test-ctype_print.c: Regenerated.
47224         * tests/unictype/test-ctype_punct.c: Regenerated.
47225         * tests/unictype/test-ctype_upper.c: Regenerated.
47226         * tests/unictype/test-decdigit.h: Regenerated.
47227         * tests/unictype/test-digit.h: Regenerated.
47228         * tests/unictype/test-numeric.h: Regenerated.
47229         * tests/unictype/test-pr_alphabetic.c: Regenerated.
47230         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
47231         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
47232         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
47233         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
47234         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
47235         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
47236         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
47237         * tests/unictype/test-pr_combining.c: Regenerated.
47238         * tests/unictype/test-pr_dash.c: Regenerated.
47239         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
47240         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
47241         * tests/unictype/test-pr_deprecated.c: Regenerated.
47242         * tests/unictype/test-pr_diacritic.c: Regenerated.
47243         * tests/unictype/test-pr_extender.c: Regenerated.
47244         * tests/unictype/test-pr_format_control.c: Regenerated.
47245         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
47246         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
47247         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
47248         * tests/unictype/test-pr_id_continue.c: Regenerated.
47249         * tests/unictype/test-pr_id_start.c: Regenerated.
47250         * tests/unictype/test-pr_ideographic.c: Regenerated.
47251         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
47252         * tests/unictype/test-pr_lowercase.c: Regenerated.
47253         * tests/unictype/test-pr_math.c: Regenerated.
47254         * tests/unictype/test-pr_numeric.c: Regenerated.
47255         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
47256         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
47257         Regenerated.
47258         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
47259         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
47260         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
47261         * tests/unictype/test-pr_other_math.c: Regenerated.
47262         * tests/unictype/test-pr_punctuation.c: Regenerated.
47263         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
47264         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
47265         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
47266         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
47267         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
47268         * tests/unictype/test-pr_uppercase.c: Regenerated.
47269         * tests/unictype/test-pr_xid_continue.c: Regenerated.
47270         * tests/unictype/test-pr_xid_start.c: Regenerated.
47271         * tests/unictype/test-pr_zero_width.c: Regenerated.
47272
47273         Update to Unicode 5.1.0.
47274         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
47275         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
47276         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
47277         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
47278         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
47279         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
47280         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
47281         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
47282         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
47283         (nonspacing_table_ind): Update.
47284         * tests/uniwidth/test-uc_width2.sh: Update expected result.
47285
47286         Update to Unicode 5.1.0.
47287         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
47288         code transform.
47289         * lib/uniname/uniname.c (unicode_character_name,
47290         unicode_name_character): Add the range 0x1Fxxx to the code transform.
47291         * lib/uniname/uninames.h: Regenerated.
47292         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
47293
47294 2009-02-07  Bruno Haible  <bruno@clisp.org>
47295
47296         Merge gen-ctype and gen-lbrk into a single program.
47297         * lib/gen-uni-tables.c: New file, incorporating
47298         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
47299         Add directory prefixes to the names of the generated files.
47300         * lib/unictype/gen-ctype.c: Remove file.
47301         * lib/unilbrk/gen-lbrk.c: Remove file.
47302         * modules/gen-uni-tables: New file.
47303         * modules/unictype/gen-ctype: Remove file.
47304         * modules/unilbrk/gen-lbrk: Remove file.
47305
47306 2009-02-07  Bruno Haible  <bruno@clisp.org>
47307
47308         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
47309
47310         New module 'unistr/u32-strcoll'.
47311         * modules/unistr/u32-strcoll: New file.
47312         * lib/unistr/u32-strcoll.c: New file.
47313
47314         New module 'unistr/u16-strcoll'.
47315         * modules/unistr/u16-strcoll: New file.
47316         * lib/unistr/u16-strcoll.c: New file.
47317
47318         New module 'unistr/u8-strcoll'.
47319         * modules/unistr/u8-strcoll: New file.
47320         * lib/unistr/u8-strcoll.c: New file.
47321         * lib/unistr/u-strcoll.h: New file.
47322
47323 2009-02-07  Bruno Haible  <bruno@clisp.org>
47324
47325         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
47326         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47327         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
47328         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
47329         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
47330         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
47331
47332 2009-02-07  Bruno Haible  <bruno@clisp.org>
47333
47334         Make 64-bit clean.
47335         * lib/unictype/gen-ctype.c (output_predicate, output_category,
47336         output_combclass, output_bidi_category, output_decimal_digit,
47337         output_digit, output_numeric, output_mirror, output_scripts,
47338         output_ident_category): Use proper width specifier in format strings.
47339
47340 2009-02-07  Bruno Haible  <bruno@clisp.org>
47341
47342         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
47343         failure behaviour.
47344
47345 2009-02-07  Jim Meyering  <meyering@redhat.com>
47346
47347         regex: avoid compilation failure with upcoming gcc-4.4
47348         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
47349         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
47350         "... error: integer overflow in preprocessor expression".
47351
47352 2009-02-05  Ben Pfaff  <blp@gnu.org>
47353
47354         Fix link errors on Windows when close module is used.
47355         * modules/close: Add $(LIB_CLOSE) to Link section.
47356         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
47357         $(LIB_CLOSE) on Windows.
47358
47359 2009-02-05  Jim Meyering  <meyering@redhat.com>
47360
47361         still avoid unused-parameter warnings, but do it cleanly
47362         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
47363         (get_fs_usage): Cast to void instead.
47364         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
47365         (dev_from_mount_options, read_file_system_list): Cast to void.
47366         Prompted by Bruno Haible.
47367
47368 2009-02-04  Jim Meyering  <meyering@redhat.com>
47369
47370         fsusage.c: correct copyright year
47371         * lib/fsusage.c: Reflect year in which the change is pushed into
47372
47373         avoid misc. warnings
47374         * lib/fsusage.c (UNUSED_PARAM): Define.
47375         (get_fs_usage): Mark parameter "disk" as unused.
47376         * lib/getugroups.c (getgrent): Use "void" in prototype.
47377         * lib/mountlist.c: Mark unused parameters.
47378         (read_file_system_list): Declare a local with "const".
47379         * lib/nanosleep.c (getnow): Declare static.
47380         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
47381
47382         dirfd: set errno upon failure
47383         * lib/dirfd.c: Include <errno.h>.
47384         Set errno to ENOTSUP when returning -1.
47385         * modules/dirfd (Depends-on): Add errno.
47386         Suggested by John Kodis <kodis@comcast.net>.
47387
47388 2009-02-01  Bruno Haible  <bruno@clisp.org>
47389
47390         Don't assume sizeof (long) >= sizeof (void *).
47391         * lib/memcmp.c: Include stdint.h.
47392         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
47393         srcp2 to 'const byte *'.
47394         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
47395         types to uintptr_t.
47396         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
47397         * modules/memcmp (Depends-on): Add stdint.
47398         Reported by Ozkan Sezer <sezeroz@gmail.com>.
47399
47400 2009-01-30  Eric Blake  <ebb9@byu.net>
47401
47402         fix more require-before-expand issues
47403         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
47404         expand, AC_PROG_AWK.
47405         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
47406
47407 2009-01-28  Eric Blake  <ebb9@byu.net>
47408
47409         version-etc: use consistent URL formatting
47410         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
47411         Improve formatting.  Use fputs for string without %.
47412
47413 2009-01-28  Jim Meyering  <meyering@redhat.com>
47414
47415         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
47416         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
47417         "underquoted definition of NAME" from autoconf-2.59.
47418
47419 2009-01-28  Bruno Haible  <bruno@clisp.org>
47420
47421         * doc/gnulib.texi: Add "Obsolete modules" to index.
47422
47423 2009-01-28  Jim Meyering  <meyering@redhat.com>
47424
47425         useless-if-before-free: recognize more variants
47426         * build-aux/useless-if-before-free: Also recognize e.g.,
47427         if (NULL != p) free (p);
47428
47429 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
47430
47431         test-getaddrinfo: skip (don't fail) this test when there's no network
47432         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
47433         on the presumption that it means you lack network access.
47434
47435 2009-01-26  Jim Meyering  <meyering@redhat.com>
47436
47437         fflush: avoid warnings on modern systems
47438         * lib/fflush.c (rpl_fflush): Move declarations of locals,
47439         pos and result, into scopes where they're used.
47440
47441 2009-01-26  Eric Blake  <ebb9@byu.net>
47442
47443         Silence warning reintroduced by recent extensions patch.
47444         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
47445         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
47446         autoconf.
47447
47448         Backport improved autoconf semantics of AC_DEFUN_ONCE.
47449         * m4/00gnulib.m4: New file.
47450         * gnulib-tool (func_get_filelist): Always use it.
47451         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
47452         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
47453
47454 2009-01-25  Bruno Haible  <bruno@clisp.org>
47455
47456         Make test-quotearg work on MacOS X and AIX.
47457         * tests/test-quotearg.sh: New file.
47458         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
47459         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
47460         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
47461         include <libintl.h>.
47462         (fake_locale): Remove variable.
47463         (gettext, dgettext, dcgettext): Remove functions.
47464         (main): Instead of setting a fake locale, set a real locale. Call
47465         textdomain and bindtextdomain.
47466         * modules/quotearg-tests (Files): Add the new files.
47467         (Depends-on): Add gettext, setenv, unsetenv.
47468         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
47469         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
47470         Augment TESTS_ENVIRONMENT.
47471
47472 2009-01-25  Bruno Haible  <bruno@clisp.org>
47473
47474         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
47475         fr_FR.ISO8859-1 locale on MacOS X.
47476         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
47477         ja_JP.eucJP locale on MacOS X.
47478         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
47479         zh_CN.GB18030 locale on MacOS X.
47480
47481 2009-01-25  Bruno Haible  <bruno@clisp.org>
47482
47483         Avoid link errors on MacOS X 10.3.
47484         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
47485         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
47486
47487 2009-01-25  Bruno Haible  <bruno@clisp.org>
47488
47489         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47490         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
47491         * modules/pipe (Files): Remove m4/posix_spawn.m4.
47492         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47493         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
47494         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47495         posix_spawnattr_init, posix_spawnattr_setsigmask,
47496         posix_spawnattr_setflags, posix_spawnattr_destroy.
47497
47498         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
47499         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
47500         * modules/execute (Files): Remove m4/posix_spawn.m4.
47501         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
47502         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
47503         posix_spawnattr_init, posix_spawnattr_setsigmask,
47504         posix_spawnattr_setflags, posix_spawnattr_destroy.
47505
47506 2009-01-25  Bruno Haible  <bruno@clisp.org>
47507
47508         * lib/glthread/threadlib.c: Include <stdlib.h>.
47509
47510 2009-01-25  Bruno Haible  <bruno@clisp.org>
47511
47512         * lib/glthread/threadlib.c (dummy): New declaration.
47513
47514 2009-01-25  Bruno Haible  <bruno@clisp.org>
47515
47516         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
47517         multibyte characters also for the GB18030 encoding. Don't crash when
47518         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
47519
47520 2009-01-25  Bruno Haible  <bruno@clisp.org>
47521
47522         Avoid redefining 'struct random_data' on OSF/1 5.1.
47523         * lib/stdlib.in.h: Include <random.h> if it exists.
47524         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
47525         HAVE_RANDOM_H. Include <random.h> when testing whether
47526         'struct random_data' exists.
47527         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
47528
47529 2009-01-25  Bruno Haible  <bruno@clisp.org>
47530
47531         Don't install charset.alias on MacOS X >= 10.3.
47532         * lib/localcharset.c (DARWIN7): New macro.
47533         (get_charset_aliases): Hardcode the result for Darwin7.
47534         * modules/localcharset (install-exec-local): Don't install
47535         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
47536
47537 2009-01-25  Bruno Haible  <bruno@clisp.org>
47538
47539         Don't install charset.alias on mingw and Cygwin.
47540         * modules/localcharset (install-exec-local): Don't install
47541         charset.alias on mingw and Cygwin, if the file does not yet exist.
47542         The result for these platforms is hardcoded in localcharset.c.
47543
47544 2009-01-25  Bruno Haible  <bruno@clisp.org>
47545
47546         Make it possible again to use AC_GNU_SOURCE together with gnulib.
47547         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
47548         before requiring AC_USE_SYSTEM_EXTENSIONS.
47549
47550 2009-01-25  Jim Meyering  <meyering@redhat.com>
47551
47552         c-strtod: avoid warnings
47553         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
47554         "assignment discards qualifiers from pointer target type" warnings.
47555
47556 2009-01-24  Bruno Haible  <bruno@clisp.org>
47557
47558         Add support for non-UTF-8 locales on MacOS X.
47559         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
47560         canonical encodings. For Darwin 7 and newer, don't map traditional
47561         encodings to UTF-8.
47562         Reported by Vincent Lefevre <vincent@vinc17.org>
47563         at <http://savannah.gnu.org/bugs/?25235>.
47564
47565 2009-01-24  Bruno Haible  <bruno@clisp.org>
47566
47567         * doc/gnulib.texi (Obsolete modules): New section.
47568         Reported by Mike Frysinger <vapier@gentoo.org>.
47569
47570 2009-01-24  Bruno Haible  <bruno@clisp.org>
47571
47572         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
47573         (%.dvi): New rule.
47574
47575 2009-01-24  Bruno Haible  <bruno@clisp.org>
47576
47577         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
47578         Reported by Eric Blake.
47579
47580 2009-01-24  Bruno Haible  <bruno@clisp.org>
47581
47582         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
47583         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
47584         Reported by Gary V. Vaughan <gary@gnu.org>.
47585
47586 2009-01-24  Bruno Haible  <bruno@clisp.org>
47587
47588         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
47589
47590 2009-01-23  Bruno Haible  <bruno@clisp.org>
47591
47592         Make c-strtod, c-strtold usable in libraries.
47593         * lib/c-strtod.c: Include string.h instead of xalloc.h.
47594         (C_STRTOD): Call strdup instead of xstrdup.
47595         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
47596         * modules/c-strtold (Depends-on): Likewise.
47597         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
47598         * NEWS: Mention the change.
47599         Reported by Michael Gold <mgold@ncf.ca>.
47600
47601 2009-01-23  Jim Meyering  <meyering@redhat.com>
47602
47603         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
47604         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
47605         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
47606
47607 2009-01-23  Simon Josefsson  <simon@josefsson.org>
47608
47609         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
47610         GNU CoreUtils.
47611         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
47612         * modules/version-etc (Description): Update.
47613
47614 2009-01-22  Bruno Haible  <bruno@clisp.org>
47615
47616         Cache the C locale object.
47617         * lib/c-strtod.c (c_locale_cache): New variable.
47618         (c_locale): New function.
47619         (C_STRTOD): Use it, and don't call freelocale.
47620         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
47621         Suggested by Paolo Bonzini.
47622
47623 2009-01-21  Bruno Haible  <bruno@clisp.org>
47624
47625         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
47626         conditions other than overflow.
47627
47628 2009-01-21  Bruno Haible  <bruno@clisp.org>
47629
47630         * lib/c-strtod.c: Include errno.h.
47631         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
47632         value from STRTOD_L and STRTOD.
47633
47634 2009-01-21  Bruno Haible  <bruno@clisp.org>
47635         and Jim Meyering  <meyering@redhat.com>
47636
47637         nanosleep: skip configure test (fail it) for apple universal builds
47638         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
47639         universal builds, assume that nanosleep does not work.
47640         * modules/nanosleep (Depends-on): Add multiarch.
47641
47642         mktime: skip configure test (fail it) for apple universal builds
47643         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
47644         universal builds, assume that mktime does not work.
47645         * modules/mktime (Depends-on): Add multiarch.
47646
47647 2009-01-21  Eric Blake  <ebb9@byu.net>
47648
47649         multiarch: avoid expand-before-require warning
47650         * modules/multiarch (configure.ac): Require, rather than expand,
47651         gl_MULTIARCH.
47652         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
47653         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
47654         enforce that all clients require it.  Partial reversion of
47655         2008-12-29 patch.
47656
47657         error: avoid expand-before-require warning
47658         * modules/errno (configure.ac): Require, rather than expand,
47659         gl_HEADER_ERRNO_H.
47660         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
47661         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
47662         enforce that all clients require it.
47663
47664         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
47665         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
47666         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
47667         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
47668
47669 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
47670
47671         Revert:
47672         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47673
47674         regex: do not depend on obsolete modules.
47675         * modules/regex: Remove memcmp and memmove.
47676
47677 2009-01-20  Bruno Haible  <bruno@clisp.org>
47678
47679         Make the 'link' module link on Windows NT 4.
47680         * lib/link.c (_WIN32_WINNT): Don't define.
47681         (CreateHardLinkFuncType): New type.
47682         (CreateHardLinkFunc, initialized): New variables.
47683         (initialize): New function.
47684         (link): Invoke CreateHardLink indirectly through the function pointer.
47685
47686 2009-01-20  Bruno Haible  <bruno@clisp.org>
47687
47688         Fix compilation failure on mingw.
47689         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
47690
47691 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
47692
47693         * doc/c-strtod.texi: Mention a couple of restrictions.
47694
47695 2009-01-20  Jim Meyering  <meyering@redhat.com>
47696
47697         gettimeofday: move more declarations out of functions
47698         * lib/gettimeofday.c: Move extern declarations of tzset and
47699         gmtime out of containing functions.  Prompted by Bruno Haible.
47700
47701 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
47702
47703         regex: do not depend on obsolete modules.
47704         * modules/regex: Remove memcmp and memmove.
47705
47706 2009-01-19  Bruno Haible  <bruno@clisp.org>
47707
47708         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47709         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
47710         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47711         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
47712         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
47713
47714 2009-01-19  Bruno Haible  <bruno@clisp.org>
47715
47716         * tests/test-link.c: Include <errno.h>.
47717         (main): Exit with code 77 when a hard link cannot be created due to
47718         the file system.
47719         * tests/test-link.sh: Skip test when a hard link cannot be created due
47720         to the file system.
47721         Suggested by Eric Blake.
47722
47723 2009-01-19  Martin Lambers  <marlam@marlam.de>
47724
47725         * modules/link-tests: New file.
47726         * tests/test-link.sh: New file.
47727         * tests/test-link.c: New file.
47728
47729 2009-01-19  Eric Blake  <ebb9@byu.net>
47730
47731         doc: mention another function added in cygwin 1.7.0
47732         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
47733         Another new function in cygwin 1.7.
47734
47735 2009-01-19  Bruno Haible  <bruno@clisp.org>
47736
47737         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
47738         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
47739         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
47740         gl_BIGENDIAN, not AC_C_BIGENDIAN.
47741         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
47742         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
47743         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
47744         * m4/md4.m4 (gl_MD4): Likewise.
47745         * m4/md5.m4 (gl_MD5): Likewise.
47746         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
47747         * m4/sha1.m4 (gl_SHA1): Likewise.
47748         * m4/sha256.m4 (gl_SHA256): Likewise.
47749         * m4/sha512.m4 (gl_SHA512): Likewise.
47750
47751 2009-01-19  Bruno Haible  <bruno@clisp.org>
47752
47753         * modules/uniname/uniname-tests (Depends-on): Add progname.
47754         * tests/uniname/test-uninames.c: Include progname.h.
47755         (main): Call set_program_name.
47756
47757         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
47758         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
47759         (main): Call set_program_name.
47760
47761         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
47762         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
47763         (main): Call set_program_name.
47764
47765         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
47766         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
47767         (main): Call set_program_name.
47768
47769         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
47770         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
47771         (main): Call set_program_name.
47772
47773         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
47774         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
47775         (main): Call set_program_name.
47776
47777         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
47778         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
47779         (main): Call set_program_name.
47780
47781         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
47782         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
47783         (main): Call set_program_name.
47784
47785         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
47786         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
47787         (main): Call set_program_name.
47788
47789 2009-01-19  Eric Blake  <ebb9@byu.net>
47790
47791         test-unistd: test previous patch
47792         * tests/test-unistd.c: Test *_FILENO macros.
47793
47794         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
47795         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47796         Guarantee a definition.
47797         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
47798         * modules/unistd-safer (Depends-on): Add dependency on unistd.
47799         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
47800         * lib/dup-safer.c (STDERR_FILENO): Likewise.
47801         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47802         Likewise.
47803         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
47804         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
47805         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
47806         Likewise.
47807         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
47808         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
47809         (STDERR_FILENO): Likewise.
47810         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
47811         (STDERR_FILENO): Likewise.
47812         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
47813         (STDERR_FILENO): Likewise.
47814         Reported by Elbert Pol.
47815
47816 2009-01-19  Eric Blake  <ebb9@byu.net>
47817
47818         doc: mention more functions added in cygwin 1.7.0
47819         * doc/posix-functions/abort.texi (abort): Update wording related
47820         to cygwin.
47821         * doc/posix-functions/daylight.texi (daylight): Likewise.
47822         * doc/posix-functions/optarg.texi (optarg): Likewise.
47823         * doc/posix-functions/optarg.texi (opterr): Likewise.
47824         * doc/posix-functions/optarg.texi (optind): Likewise.
47825         * doc/posix-functions/optarg.texi (optopt): Likewise.
47826         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
47827         worked in 1.5.x, and was withdrawn in 1.7.
47828         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
47829         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
47830         cygwin versions.
47831         * doc/posix-functions/perror.texi (perror): Likewise.
47832         * doc/posix-functions/printf.texi (printf): Likewise.
47833         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
47834         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
47835         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
47836         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
47837         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
47838         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
47839         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
47840         Likewise.
47841         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
47842         Likewise.
47843         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
47844         this function.
47845         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
47846         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
47847         Likewise.
47848         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
47849         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
47850         * doc/posix-functions/confstr.texi (confstr): Likewise.
47851         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
47852         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
47853         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
47854         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
47855         * doc/posix-functions/fputws.texi (fputws): Likewise.
47856         * doc/posix-functions/fwide.texi (fwide): Likewise.
47857         * doc/posix-functions/getwc.texi (getwc): Likewise.
47858         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
47859         * doc/posix-functions/putwc.texi (putwc): Likewise.
47860         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
47861         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
47862         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
47863         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
47864         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
47865         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
47866         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
47867         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
47868         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
47869         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
47870         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
47871
47872 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47873
47874         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
47875         * lib/ioctl.c: Include <sys/ioctl.h>.
47876
47877 2009-01-19  Simon Josefsson  <simon@josefsson.org>
47878
47879         * modules/getdate-tests (Depends-on): Add progname.
47880         * tests/test-getdate.c: Use progname module, to avoid link errors
47881         on non-glibc systems.
47882
47883 2009-01-18  Simon Josefsson  <simon@josefsson.org>
47884
47885         * modules/filenamecat-tests (Depends-on): Add progname.
47886         * modules/fstrcmp-tests (Depends-on): Likewise.
47887
47888         * tests/test-filenamecat.c: Use progname module, to avoid link
47889         errors on non-glibc systems.
47890         * tests/test-fstrcmp.c: Likewise.
47891
47892 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
47893
47894         gettimeofday: avoid warning: nested extern declaration of 'localtime'
47895         * lib/gettimeofday.c: Move extern declaration out of function.
47896
47897 2009-01-18  Bruno Haible  <bruno@clisp.org>
47898
47899         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
47900         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
47901         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
47902
47903 2009-01-18  Bruno Haible  <bruno@clisp.org>
47904
47905         * lib/strftime.c (MEMPCPY): Remove unused macro.
47906         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
47907
47908 2009-01-18  Martin Lambers  <marlam@marlam.de>
47909
47910         New module 'link'.
47911         * lib/unistd.in.h (link): New declaration.
47912         * lib/link.c: New file.
47913         * m4/link.m4: New file.
47914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
47915         HAVE_LINK.
47916         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
47917         * modules/link: New file.
47918         * doc/posix-functions/link.texi: Mention the new module.
47919
47920 2009-01-18  Bruno Haible  <bruno@clisp.org>
47921
47922         * tests/test-avltree_list.c (main): Call set_program_name.
47923         * tests/test-avltree_oset.c (main): Likewise.
47924         * tests/test-obstack-printf.c: Include progname.h.
47925         (main): Call set_program_name.
47926         * tests/test-quotearg.c: Include progname.h.
47927         (main): Call set_program_name.
47928         * tests/test-xmemdup0.c: Include progname.h.
47929         (main): Call set_program_name.
47930
47931 2009-01-18  Bruno Haible  <bruno@clisp.org>
47932
47933         New module 'alphasort'.
47934         * lib/dirent.in.h (alphasort): New declaration.
47935         * lib/alphasort.c: New file, from glibc with modifications.
47936         * m4/alphasort.m4: New file.
47937         * modules/alphasort: New file.
47938         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
47939         HAVE_ALPHASORT.
47940         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
47941         HAVE_ALPHASORT.
47942         * doc/posix-functions/alphasort.texi: Mention the new module and the
47943         portability problems.
47944
47945 2009-01-18  Bruno Haible  <bruno@clisp.org>
47946
47947         New module 'scandir'.
47948         * lib/dirent.in.h (scandir): New declaration.
47949         * lib/scandir.c: New file, from glibc with modifications.
47950         * m4/scandir.m4: New file.
47951         * modules/scandir: New file.
47952         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
47953         HAVE_SCANDIR.
47954         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
47955         HAVE_SCANDIR.
47956         * doc/posix-functions/scandir.texi: Mention the new module and the
47957         portability problems.
47958
47959 2009-01-17  Bruno Haible  <bruno@clisp.org>
47960
47961         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
47962         Update documentation.
47963         (func_remove_suffix): Escape all dots in the suffix. Update
47964         documentation.
47965         (func_filter_filelist): Update documentation.
47966         Reported by Ralf Wildenhues.
47967
47968 2009-01-17  Bruno Haible  <bruno@clisp.org>
47969
47970         * modules/dprintf-posix-tests: New file.
47971         * tests/test-dprintf-posix.sh: New file.
47972         * tests/test-dprintf-posix.c: New file.
47973
47974         New modules 'dprintf', 'dprintf-posix'.
47975         * lib/stdio.in.h (dprintf): New declaration.
47976         * lib/dprintf.c: New file.
47977         * m4/dprintf.m4: New file.
47978         * m4/dprintf-posix.m4: New file.
47979         * modules/dprintf: New file.
47980         * modules/dprintf-posix: New file.
47981         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
47982         HAVE_DPRINTF, REPLACE_DPRINTF.
47983         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
47984         HAVE_DPRINTF, REPLACE_DPRINTF.
47985         * doc/posix-functions/dprintf.texi: Mention the new modules.
47986
47987 2009-01-17  Bruno Haible  <bruno@clisp.org>
47988
47989         * modules/vdprintf-posix-tests: New file.
47990         * tests/test-vdprintf-posix.sh: New file.
47991         * tests/test-vdprintf-posix.c: New file.
47992
47993         New modules 'vdprintf', 'vdprintf-posix'.
47994         * lib/stdio.in.h (vdprintf): New declaration.
47995         * lib/vdprintf.c: New file.
47996         * m4/vdprintf.m4: New file.
47997         * m4/vdprintf-posix.m4: New file.
47998         * modules/vdprintf: New file.
47999         * modules/vdprintf-posix: New file.
48000         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
48001         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48002         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
48003         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48004         * doc/posix-functions/vdprintf.texi: Mention the new modules.
48005
48006 2009-01-17  Bruno Haible  <bruno@clisp.org>
48007
48008         Fix replacement of fopen on mingw.
48009         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
48010         mingw.
48011
48012 2009-01-17  Bruno Haible  <bruno@clisp.org>
48013
48014         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
48015         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
48016
48017 2009-01-17  Bruno Haible  <bruno@clisp.org>
48018
48019         Avoid test-fflush2.sh failure on mingw.
48020         * tests/test-fflush2.c: Include binary-io.h.
48021         (main): Put standard input into binary mode.
48022         * modules/fflush-tests (Depends-on): Add binary-io.
48023
48024 2009-01-17  Bruno Haible  <bruno@clisp.org>
48025
48026         * lib/wchar.in.h: In another particular situation, include only the
48027         system's <wchar.h> file.
48028         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
48029         Reported by Albert Chin-A-Young <china@thewrittenword.com>
48030         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
48031
48032 2009-01-17  Bruno Haible  <bruno@clisp.org>
48033
48034         Support for stripping executables in --enable-relocatable.
48035         * build-aux/install-reloc: Expect one more argument, or an environment
48036         variable RELOC_STRIP_PROG. If set, strip the destination program and
48037         its wrapper.
48038         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
48039         RELOC_STRIP_PROG.
48040         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
48041         to set RELOCATABLE_STRIP.
48042         * NEWS: Mention the new Makefile requirement.
48043
48044 2009-01-17  Bruno Haible  <bruno@clisp.org>
48045
48046         * build-aux/install-reloc: Remove debugging information left over by
48047         C compiler on MacOS X.
48048
48049 2009-01-17  Bruno Haible  <bruno@clisp.org>
48050
48051         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
48052         * lib/progreloc.c (find_executable): Fix type of pointer passed to
48053         _NSGetExecutablePath.
48054
48055 2009-01-16  Jim Meyering  <meyering@redhat.com>
48056
48057         strerror: avoid warnings about discarding "const"
48058         * lib/strerror.c (rpl_strerror): Instead of returning a const
48059         string from each and every "case", use a variable, and add a single
48060         cast after the switch.
48061
48062 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
48063
48064         * lib/arpa_inet.in.h: Add extern "C" block for C++.
48065
48066 2009-01-16  Bruno Haible  <bruno@clisp.org>
48067
48068         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
48069         array initializer syntax that also works in C++ mode.
48070         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48071
48072 2009-01-16  Jim Meyering  <meyering@redhat.com>
48073
48074         poll: suppress a warning
48075         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
48076         to ignore "...unsigned expression < 0 is always false" warnings.
48077
48078 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
48079
48080         poll: remove declarations of unused variables
48081         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
48082         sockbuf and optlen.
48083
48084 2009-01-15  Bruno Haible  <bruno@clisp.org>
48085
48086         Make fflush-after-ungetc POSIX compliant on BSD systems.
48087         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
48088         (clear_ungetc_buffer): Implement also for other systems.
48089         (rpl_fflush): On glibc systems, invoke
48090         clear_ungetc_buffer_preserving_position. Otherwise, invoke
48091         clear_ungetc_buffer after fetching the stream's position, not before.
48092
48093 2009-01-15  Bruno Haible  <bruno@clisp.org>
48094
48095         Make fflush-after-ungetc POSIX compliant on glibc systems.
48096         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
48097         after ungetc.
48098         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
48099         (rpl_fflush): On glibc systems, simply call the system's fflush
48100         function after clearing the ungetc buffer.
48101         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
48102         Instead, lseek only to the end of file, then use the system's fseeko
48103         for the rest. On glibc systems, reset the EOF indicator bit.
48104
48105 2009-01-15  Jim Meyering  <meyering@redhat.com>
48106
48107         openmp.m4: revert quote-adding change, for portability to older autoconf
48108         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
48109         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
48110         Simon Josefsson noticed the problem when using autoconf-2.61.
48111
48112 2009-01-15  Bruno Haible  <bruno@clisp.org>
48113
48114         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
48115         * tests/test-fflush2.c (ASSERT): Always fail.
48116         (main): Add two tests for fflush() after ungetc(), taking into account
48117         the Austin Group's clarification.
48118         Suggested by Eric Blake.
48119
48120 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
48121
48122         mktime.m4: remove K&R-style function prototypes
48123         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
48124         for the Sun C++ compiler.
48125
48126 2009-01-14  Bruno Haible  <bruno@clisp.org>
48127
48128         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
48129         while including <wchar.h>.
48130         * lib/wchar.in.h: In two particular situations on HP-UX, include only
48131         the system's <wchar.h> file.
48132         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48133
48134 2009-01-14  Bruno Haible  <bruno@clisp.org>
48135
48136         * m4/csharp.m4: Don't mention gettext on the serial number line.
48137         * m4/csharpexec.m4: Likewise.
48138         * m4/eaccess.m4: Likewise.
48139         * m4/javaexec.m4: Likewise.
48140         * m4/sig_atomic_t.m4: Likewise.
48141         * m4/tmpdir.m4: Likewise.
48142         * m4/intldir.m4: Bump gettext version.
48143         * m4/lib-ld.m4: Likewise.
48144
48145 2009-01-14  Bruno Haible  <bruno@clisp.org>
48146
48147         * lib/progname.c (set_program_name): Add more comments.
48148         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
48149
48150 2009-01-14  Simon Josefsson  <simon@josefsson.org>
48151
48152         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
48153         were sys/stat.h does not define it.
48154
48155 2009-01-14  Jim Meyering  <meyering@redhat.com>
48156
48157         many *.m4 files: improve m4 quoting
48158         99% of this change was performed by running the following commands:
48159         git ls-files | grep '\.m4$' | xargs perl -pi \
48160           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
48161           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48162           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48163           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
48164         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
48165         The remainder were to add Copyright dates, increment serial numbers,
48166         undo some changes in comments, exclude m4/intl.m4, and add quotes
48167         around the "1" in ",1" where the unusual spacing prohibited the
48168         above regexps from doing the job.  For more details, see
48169         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
48170         * m4/acl.m4: Modified.
48171         * m4/afs.m4: Likewise.
48172         * m4/alloca.m4: Likewise.
48173         * m4/argp.m4: Likewise.
48174         * m4/argz.m4: Likewise.
48175         * m4/atexit.m4: Likewise.
48176         * m4/bison-i18n.m4: Likewise.
48177         * m4/bison.m4: Likewise.
48178         * m4/byteswap.m4: Likewise.
48179         * m4/c-stack.m4: Likewise.
48180         * m4/c-strtod.m4: Likewise.
48181         * m4/calloc.m4: Likewise.
48182         * m4/canonicalize-lgpl.m4: Likewise.
48183         * m4/chown.m4: Likewise.
48184         * m4/clock_time.m4: Likewise.
48185         * m4/codeset.m4: Likewise.
48186         * m4/copy-file.m4: Likewise.
48187         * m4/csharp.m4: Likewise.
48188         * m4/csharpcomp.m4: Likewise.
48189         * m4/csharpexec.m4: Likewise.
48190         * m4/d-ino.m4: Likewise.
48191         * m4/d-type.m4: Likewise.
48192         * m4/dirfd.m4: Likewise.
48193         * m4/double-slash-root.m4: Likewise.
48194         * m4/eaccess.m4: Likewise.
48195         * m4/eealloc.m4: Likewise.
48196         * m4/environ.m4: Likewise.
48197         * m4/errno_h.m4: Likewise.
48198         * m4/euidaccess.m4: Likewise.
48199         * m4/execute.m4: Likewise.
48200         * m4/fatal-signal.m4: Likewise.
48201         * m4/fchdir.m4: Likewise.
48202         * m4/fcntl_h.m4: Likewise.
48203         * m4/fileblocks.m4: Likewise.
48204         * m4/filenamecat.m4: Likewise.
48205         * m4/findprog.m4: Likewise.
48206         * m4/flexmember.m4: Likewise.
48207         * m4/fnmatch.m4: Likewise.
48208         * m4/fopen.m4: Likewise.
48209         * m4/fpending.m4: Likewise.
48210         * m4/fprintf-posix.m4: Likewise.
48211         * m4/free.m4: Likewise.
48212         * m4/frexp.m4: Likewise.
48213         * m4/frexpl.m4: Likewise.
48214         * m4/fsusage.m4: Likewise.
48215         * m4/ftruncate.m4: Likewise.
48216         * m4/gc-camellia.m4: Likewise.
48217         * m4/gc-random.m4: Likewise.
48218         * m4/gc.m4: Likewise.
48219         * m4/getaddrinfo.m4: Likewise.
48220         * m4/getcwd-abort-bug.m4: Likewise.
48221         * m4/getcwd-path-max.m4: Likewise.
48222         * m4/getdate.m4: Likewise.
48223         * m4/getdomainname.m4: Likewise.
48224         * m4/getgroups.m4: Likewise.
48225         * m4/gethostname.m4: Likewise.
48226         * m4/gethrxtime.m4: Likewise.
48227         * m4/getline.m4: Likewise.
48228         * m4/getloadavg.m4: Likewise.
48229         * m4/getndelim2.m4: Likewise.
48230         * m4/getpass.m4: Likewise.
48231         * m4/gettext.m4: Likewise.
48232         * m4/gettime.m4: Likewise.
48233         * m4/gettimeofday.m4: Likewise.
48234         * m4/gnulib-common.m4: Likewise.
48235         * m4/group-member.m4: Likewise.
48236         * m4/host-os.m4: Likewise.
48237         * m4/iconv.m4: Likewise.
48238         * m4/iconv_open.m4: Likewise.
48239         * m4/inet_ntop.m4: Likewise.
48240         * m4/inet_pton.m4: Likewise.
48241         * m4/inline.m4: Likewise.
48242         * m4/intldir.m4: Likewise.
48243         * m4/intlmacosx.m4: Likewise.
48244         * m4/intmax.m4: Likewise.
48245         * m4/intmax_t.m4: Likewise.
48246         * m4/inttypes.m4: Likewise.
48247         * m4/inttypes_h.m4: Likewise.
48248         * m4/inttypes-pri.m4: Likewise.
48249         * m4/isapipe.m4: Likewise.
48250         * m4/isnand.m4: Likewise.
48251         * m4/isnanf.m4: Likewise.
48252         * m4/isnanl.m4: Likewise.
48253         * m4/javacomp.m4: Likewise.
48254         * m4/javaexec.m4: Likewise.
48255         * m4/jm-winsz1.m4: Likewise.
48256         * m4/jm-winsz2.m4: Likewise.
48257         * m4/lchown.m4: Likewise.
48258         * m4/lcmessage.m4: Likewise.
48259         * m4/ldexpl.m4: Likewise.
48260         * m4/lib-ld.m4: Likewise.
48261         * m4/lib-link.m4: Likewise.
48262         * m4/libsigsegv.m4: Likewise.
48263         * m4/link-follow.m4: Likewise.
48264         * m4/localcharset.m4: Likewise.
48265         * m4/locale-fr.m4: Likewise.
48266         * m4/locale-ja.m4: Likewise.
48267         * m4/locale-tr.m4: Likewise.
48268         * m4/locale-zh.m4: Likewise.
48269         * m4/lock.m4: Likewise.
48270         * m4/longlong.m4: Likewise.
48271         * m4/ls-mntd-fs.m4: Likewise.
48272         * m4/lstat.m4: Likewise.
48273         * m4/malloc.m4: Likewise.
48274         * m4/mathl.m4: Likewise.
48275         * m4/mbrtowc.m4: Likewise.
48276         * m4/mbstate_t.m4: Likewise.
48277         * m4/mbswidth.m4: Likewise.
48278         * m4/memchr.m4: Likewise.
48279         * m4/memcmp.m4: Likewise.
48280         * m4/memcpy.m4: Likewise.
48281         * m4/memmem.m4: Likewise.
48282         * m4/memmove.m4: Likewise.
48283         * m4/mempcpy.m4: Likewise.
48284         * m4/memrchr.m4: Likewise.
48285         * m4/memset.m4: Likewise.
48286         * m4/minmax.m4: Likewise.
48287         * m4/mkdir-slash.m4: Likewise.
48288         * m4/mkdtemp.m4: Likewise.
48289         * m4/mktime.m4: Likewise.
48290         * m4/mmap-anon.m4: Likewise.
48291         * m4/mountlist.m4: Likewise.
48292         * m4/nanosleep.m4: Likewise.
48293         * m4/nls.m4: Likewise.
48294         * m4/nocrash.m4: Likewise.
48295         * m4/open.m4: Likewise.
48296         * m4/openat.m4: Likewise.
48297         * m4/openmp.m4: Likewise.
48298         * m4/pathmax.m4: Likewise.
48299         * m4/perl.m4: Likewise.
48300         * m4/physmem.m4: Likewise.
48301         * m4/pipe.m4: Likewise.
48302         * m4/po.m4: Likewise.
48303         * m4/poll.m4: Likewise.
48304         * m4/posixtm.m4: Likewise.
48305         * m4/posixver.m4: Likewise.
48306         * m4/printf-frexp.m4: Likewise.
48307         * m4/printf-frexpl.m4: Likewise.
48308         * m4/printf-posix.m4: Likewise.
48309         * m4/printf-posix-rpl.m4: Likewise.
48310         * m4/printf.m4: Likewise.
48311         * m4/progtest.m4: Likewise.
48312         * m4/putenv.m4: Likewise.
48313         * m4/readline.m4: Likewise.
48314         * m4/readlink.m4: Likewise.
48315         * m4/readutmp.m4: Likewise.
48316         * m4/realloc.m4: Likewise.
48317         * m4/regex.m4: Likewise.
48318         * m4/relocatable.m4: Likewise.
48319         * m4/relocatable-lib.m4: Likewise.
48320         * m4/rename-dest-slash.m4: Likewise.
48321         * m4/rename.m4: Likewise.
48322         * m4/rmdir-errno.m4: Likewise.
48323         * m4/rmdir.m4: Likewise.
48324         * m4/roundf.m4: Likewise.
48325         * m4/roundl.m4: Likewise.
48326         * m4/rpmatch.m4: Likewise.
48327         * m4/save-cwd.m4: Likewise.
48328         * m4/selinux-selinux-h.m4: Likewise.
48329         * m4/setenv.m4: Likewise.
48330         * m4/settime.m4: Likewise.
48331         * m4/sig2str.m4: Likewise.
48332         * m4/sig_atomic_t.m4: Likewise.
48333         * m4/signalblocking.m4: Likewise.
48334         * m4/signbit.m4: Likewise.
48335         * m4/sigpipe.m4: Likewise.
48336         * m4/sockets.m4: Likewise.
48337         * m4/sockpfaf.m4: Likewise.
48338         * m4/st_dm_mode.m4: Likewise.
48339         * m4/stat-time.m4: Likewise.
48340         * m4/stdbool.m4: Likewise.
48341         * m4/stdint.m4: Likewise.
48342         * m4/stdint_h.m4: Likewise.
48343         * m4/stpcpy.m4: Likewise.
48344         * m4/stpncpy.m4: Likewise.
48345         * m4/strcase.m4: Likewise.
48346         * m4/strchrnul.m4: Likewise.
48347         * m4/strcspn.m4: Likewise.
48348         * m4/strdup.m4: Likewise.
48349         * m4/strftime.m4: Likewise.
48350         * m4/strndup.m4: Likewise.
48351         * m4/strnlen.m4: Likewise.
48352         * m4/strpbrk.m4: Likewise.
48353         * m4/strptime.m4: Likewise.
48354         * m4/strsep.m4: Likewise.
48355         * m4/strtod.m4: Likewise.
48356         * m4/strtoimax.m4: Likewise.
48357         * m4/strtok_r.m4: Likewise.
48358         * m4/strtol.m4: Likewise.
48359         * m4/strtoll.m4: Likewise.
48360         * m4/strtoul.m4: Likewise.
48361         * m4/strtoull.m4: Likewise.
48362         * m4/strtoumax.m4: Likewise.
48363         * m4/strverscmp.m4: Likewise.
48364         * m4/threadlib.m4: Likewise.
48365         * m4/timegm.m4: Likewise.
48366         * m4/tm_gmtoff.m4: Likewise.
48367         * m4/tmpdir.m4: Likewise.
48368         * m4/tmpfile.m4: Likewise.
48369         * m4/tzset.m4: Likewise.
48370         * m4/uintmax_t.m4: Likewise.
48371         * m4/unlinkdir.m4: Likewise.
48372         * m4/unlocked-io.m4: Likewise.
48373         * m4/uptime.m4: Likewise.
48374         * m4/userspec.m4: Likewise.
48375         * m4/utimbuf.m4: Likewise.
48376         * m4/utime.m4: Likewise.
48377         * m4/utimes-null.m4: Likewise.
48378         * m4/utimes.m4: Likewise.
48379         * m4/vararrays.m4: Likewise.
48380         * m4/vasnprintf.m4: Likewise.
48381         * m4/vfprintf-posix.m4: Likewise.
48382         * m4/vprintf-posix.m4: Likewise.
48383         * m4/wait-process.m4: Likewise.
48384         * m4/wchar_t.m4: Likewise.
48385         * m4/wint_t.m4: Likewise.
48386         * m4/write-any-file.m4: Likewise.
48387         * m4/yield.m4: Likewise.
48388
48389 2009-01-13  Bruno Haible  <bruno@clisp.org>
48390
48391         Avoid test-copy-file.sh failures when ACL support insufficient.
48392         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
48393         TESTS_ENVIRONMENT.
48394         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
48395         Reported by Jim Meyering.
48396
48397 2009-01-13  Bruno Haible  <bruno@clisp.org>
48398
48399         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
48400         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
48401         * modules/unistdio/u8-printf-parse (Files): Likewise.
48402         * modules/unistdio/u32-printf-parse (Files): Likewise.
48403         * modules/unistdio/ulc-printf-parse (Files): Likewise.
48404
48405 2009-01-13  Simon Josefsson  <simon@josefsson.org>
48406
48407         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
48408         and m4/inttypes_h.m4 too.
48409
48410 2009-01-12  Eric Blake  <ebb9@byu.net>
48411
48412         tests: IRIX 6.2 cc can't compile -0.0 into .data
48413         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
48414         rather than at compile-time.
48415         * tests/test-floorl.c (minus_zero): Likewise.
48416         * tests/test-frexpl.c (minus_zero): Likewise.
48417         * tests/test-isnan.c (minus_zerol): Likewise.
48418         * tests/test-isnanl.h (minus_zero): Likewise.
48419         * tests/test-ldexpl.c (minus_zero): Likewise.
48420         * tests/test-roundl.c (minus_zero): Likewise.
48421         * tests/test-signbit.c (minus_zerol): Likewise.
48422         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
48423         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
48424         * tests/test-truncl.c (minus_zero): Likewise.
48425         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
48426         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
48427         Reported by Tom G. Christensen and Nelson H. F. Beebe.
48428
48429 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48430
48431         regex: fix glibc bug 9697
48432         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
48433         handling.
48434
48435 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48436
48437         regex: fix glibc bug 697
48438         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
48439         being NULL also if there are no backreferences.
48440
48441 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
48442
48443         regex: merge glibc changes
48444         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
48445         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
48446         re_string_skip_chars, re_string_reconstruct): Likewise.
48447         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
48448
48449 2009-01-07  Jim Meyering  <meyering@redhat.com>
48450
48451         poll: filter through cppi
48452         * lib/poll.c: Indent cpp directives to reflect nesting.
48453
48454 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
48455
48456         poll: don't return uninitialized
48457         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
48458
48459 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
48460
48461         avoid compile failure on AIX 6.1
48462         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
48463         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
48464
48465 2009-01-04  Jim Meyering  <meyering@redhat.com>
48466
48467         remove duplicate inclusion of <stdio.h>
48468         * tests/test-fprintf-posix.c: Likewise.
48469         * tests/test-printf-posix.c: Likewise.
48470         * tests/test-snprintf-posix.c: Likewise.
48471         * tests/test-sprintf-posix.c: Likewise.
48472         * tests/test-vasprintf-posix.c: Likewise.
48473         * tests/test-vfprintf-posix.c: Likewise.
48474         * tests/test-vprintf-posix.c: Likewise.
48475         * tests/test-vsnprintf-posix.c: Likewise.
48476         * tests/test-vsprintf-posix.c: Likewise.
48477
48478 2009-01-03  Jim Meyering  <meyering@redhat.com>
48479
48480         gnulib-tool: fix sed-based filtering
48481         * gnulib-tool (func_filter_filelist): Remove extra backslash
48482         in sed_fff_filter definition.
48483
48484 2009-01-02  Jim Meyering  <meyering@redhat.com>
48485
48486         strftime: avoid compilation failure on Solaris 2.6
48487         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
48488         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
48489         Don't #define mbrlen or mbsinit, since now they're guaranteed to
48490         be available.  Reported by Tom G. Christensen.  Details in
48491         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
48492
48493 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48494             Bruno Haible  <bruno@clisp.org>
48495
48496         Speed up gnulib-tool by doing more string processing through shell
48497         built-ins.
48498         * gnulib-tool (fast_func_append): New variable.
48499         (func_remove_prefix, func_remove_suffix): New functions.
48500         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
48501         (func_filter_filelist): New function.
48502         (func_get_dependencies): Use func_remove_suffix instead of sed.
48503         (func_get_automake_snippet): Use func_filter_filelist instead of a
48504         subshell and sed invocation.
48505
48506 2009-01-01  Bruno Haible  <bruno@clisp.org>
48507
48508         Fix a security bug.
48509         * gnulib-tool (func_import, import, update): Don't allow the characters
48510         '"', '$', '`', '\' in macro arguments that become part of commands that
48511         are evaluated.
48512
48513 2009-01-01  Bruno Haible  <bruno@clisp.org>
48514
48515         * gnulib-tool (func_reset_sigpipe): Add more comments.
48516
48517 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48518
48519         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
48520         func_emit_tests_Makefile_am, func_import): Abort loops early if we
48521         already know the answer.
48522
48523 2009-01-01  Jim Meyering  <meyering@redhat.com>
48524
48525         * lib/version-etc.c (version_etc_va): Update copyright year.
48526
48527 2008-12-30  Bruno Haible  <bruno@clisp.org>
48528
48529         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
48530         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
48531         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
48532
48533 2008-12-29  Eric Blake  <ebb9@byu.net>
48534
48535         multiarch: avoid autoconf AC_REQUIRE bug
48536         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
48537         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
48538         2.63 and older.
48539         Reported by Bruno Haible, and analyzed in
48540         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
48541
48542 2008-12-29  Bruno Haible  <bruno@clisp.org>
48543
48544         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
48545         files in subdirectories correctly.
48546         Reported by Ralf Wildenhues.
48547
48548 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48549
48550         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
48551         rather than 'join FILE -', for Solaris join.
48552
48553 2008-12-29  Bruno Haible  <bruno@clisp.org>
48554
48555         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
48556         quoting.
48557         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
48558         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
48559         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
48560         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
48561         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
48562         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
48563         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
48564         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
48565         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48566         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
48567         * m4/nls.m4 (AM_NLS): Likewise.
48568         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
48569         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
48570         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48571         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
48572         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
48573         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
48574         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
48575         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
48576         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
48577         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
48578         * m4/xsize.m4 (gl_XSIZE): Likewise.
48579         Suggested by Jim Meyering.
48580
48581 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48582
48583         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
48584         * lib/parse-duration.c: use a switch instead of cascading if's.
48585
48586 2008-12-29  Eric Blake  <ebb9@byu.net>
48587
48588         wchar.h: supply WEOF on Irix 5.3
48589         * lib/wchar.in.h (wint_t): Also supply WEOF.
48590         * lib/wctype.in.h (wint_t): Likewise.
48591         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
48592         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
48593         Reported by Tom G. Christensen.
48594
48595 2008-12-26  Bruno Haible  <bruno@clisp.org>
48596
48597         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
48598         i486, i586, i686.
48599
48600 2008-12-26  Bruno Haible  <bruno@clisp.org>
48601
48602         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
48603
48604 2008-12-26  Bruno Haible  <bruno@clisp.org>
48605
48606         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
48607         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
48608         not __STDC_CONSTANT_MACROS.
48609         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
48610
48611 2008-12-25  Bruno Haible  <bruno@clisp.org>
48612
48613         Add support for universal builds to vasnprintf.
48614         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
48615         universal builds, guess no.
48616         * modules/vasnprintf-posix (Depends-on): Add multiarch.
48617         * modules/vasprintf-posix (Depends-on): Likewise.
48618         * modules/fprintf-posix (Depends-on): Likewise.
48619         * modules/vfprintf-posix (Depends-on): Likewise.
48620         * modules/snprintf-posix (Depends-on): Likewise.
48621         * modules/vsnprintf-posix (Depends-on): Likewise.
48622         * modules/sprintf-posix (Depends-on): Likewise.
48623         * modules/vsprintf-posix (Depends-on): Likewise.
48624         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48625         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48626         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48627         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48628         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48629         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48630         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48631
48632         Add support for universal builds to <inttypes.h>.
48633         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
48634         _SCNu64_PREFIX): In Apple
48635         universal builds, define directly, using _LP64.
48636         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
48637         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
48638         * modules/inttypes (Depends-on): Add multiarch.
48639         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48640
48641         Add support for universal builds to <stdint.h>.
48642         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
48643         universal builds, define directly, using _LP64.
48644         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
48645         Apple universal builds, don't test for the size and suffix of ptrdiff_t
48646         and size_t.
48647         * modules/stdint (Depends-on): Add multiarch.
48648         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
48649
48650         New module 'multiarch'.
48651         * modules/multiarch: New file.
48652         * m4/multiarch.m4: New file.
48653
48654 2008-12-25  Bruno Haible  <bruno@clisp.org>
48655
48656         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
48657
48658 2008-12-25  Bruno Haible  <bruno@clisp.org>
48659
48660         * modules/btowc (License): Relicense under LGPLv2+.
48661         * modules/mbsinit (License): Likewise.
48662         * modules/mbrtowc (License): Likewise.
48663         * modules/wcrtomb (License): Likewise.
48664         * modules/streq (License): Likewise.
48665         Reported by David Lutterkort <lutter@redhat.com>.
48666
48667 2008-12-23  Bruno Haible  <bruno@clisp.org>
48668
48669         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
48670
48671 2008-12-23  Bruno Haible  <bruno@clisp.org>
48672
48673         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
48674         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
48675         GETADDRINFO_LIB, not in LIBS.
48676         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
48677         * modules/canon-host (Link): Likewise.
48678         * NEWS: Mention the change.
48679         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
48680         GETADDRINFO_LIB.
48681
48682 2008-12-22  Bruno Haible  <bruno@clisp.org>
48683
48684         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
48685         * doc/posix-functions/iswalpha_l.texi: Likewise.
48686         * doc/posix-functions/iswblank_l.texi: Likewise.
48687         * doc/posix-functions/iswcntrl_l.texi: Likewise.
48688         * doc/posix-functions/iswctype_l.texi: Likewise.
48689         * doc/posix-functions/iswdigit_l.texi: Likewise.
48690         * doc/posix-functions/iswgraph_l.texi: Likewise.
48691         * doc/posix-functions/iswlower_l.texi: Likewise.
48692         * doc/posix-functions/iswprint_l.texi: Likewise.
48693         * doc/posix-functions/iswpunct_l.texi: Likewise.
48694         * doc/posix-functions/iswspace_l.texi: Likewise.
48695         * doc/posix-functions/iswupper_l.texi: Likewise.
48696         * doc/posix-functions/iswxdigit_l.texi: Likewise.
48697         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
48698         * doc/posix-functions/open_wmemstream.texi: Likewise.
48699         * doc/posix-functions/swscanf.texi: Likewise.
48700         * doc/posix-functions/towctrans_l.texi: Likewise.
48701         * doc/posix-functions/towlower.texi: Likewise.
48702         * doc/posix-functions/towlower_l.texi: Likewise.
48703         * doc/posix-functions/towupper.texi: Likewise.
48704         * doc/posix-functions/towupper_l.texi: Likewise.
48705         * doc/posix-functions/vfwprintf.texi: Likewise.
48706         * doc/posix-functions/vfwscanf.texi: Likewise.
48707         * doc/posix-functions/vswscanf.texi: Likewise.
48708         * doc/posix-functions/vwprintf.texi: Likewise.
48709         * doc/posix-functions/vwscanf.texi: Likewise.
48710         * doc/posix-functions/wcpcpy.texi: Likewise.
48711         * doc/posix-functions/wcpncpy.texi: Likewise.
48712         * doc/posix-functions/wcscasecmp.texi: Likewise.
48713         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
48714         * doc/posix-functions/wcscoll_l.texi: Likewise.
48715         * doc/posix-functions/wcsdup.texi: Likewise.
48716         * doc/posix-functions/wcsncasecmp.texi: Likewise.
48717         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
48718         * doc/posix-functions/wcsnlen.texi: Likewise.
48719         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48720         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
48721         * doc/posix-functions/wctrans_l.texi: Likewise.
48722         * doc/posix-functions/wctype_l.texi: Likewise.
48723         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
48724         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
48725         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
48726         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
48727         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
48728         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
48729         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
48730         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
48731         * doc/glibc-functions/wcschrnul.texi: Likewise.
48732         * doc/glibc-functions/wcsftime_l.texi: Likewise.
48733         * doc/glibc-functions/wcstod_l.texi: Likewise.
48734         * doc/glibc-functions/wcstof_l.texi: Likewise.
48735         * doc/glibc-functions/wcstol_l.texi: Likewise.
48736         * doc/glibc-functions/wcstold_l.texi: Likewise.
48737         * doc/glibc-functions/wcstoll_l.texi: Likewise.
48738         * doc/glibc-functions/wcstoq.texi: Likewise.
48739         * doc/glibc-functions/wcstoul_l.texi: Likewise.
48740         * doc/glibc-functions/wcstoull_l.texi: Likewise.
48741         * doc/glibc-functions/wcstouq.texi: Likewise.
48742         * doc/glibc-functions/wmempcpy.texi: Likewise.
48743
48744 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
48745             Eric Blake  <ebb9@byu.net>
48746             Paolo Bonzini  <bonzini@gnu.org>
48747             Bruno Haible  <bruno@clisp.org>
48748
48749         Make c-stack work on Haiku.
48750         * lib/c-stack.c (SA_ONSTACK): Define fallback.
48751         (c_stack_action): Use SA_ONSTACK flag.
48752
48753 2008-12-22  Bruno Haible  <bruno@clisp.org>
48754
48755         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
48756
48757 2008-12-22  Bruno Haible  <bruno@clisp.org>
48758
48759         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
48760         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
48761         being overridden.
48762         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
48763         New macros.
48764         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
48765         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
48766         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
48767         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
48768
48769 2008-12-22  Bruno Haible  <bruno@clisp.org>
48770
48771         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
48772         from test code.
48773
48774 2008-12-22  Eric Blake  <ebb9@byu.net>
48775
48776         Avoid gcc warnings on cygwin.
48777         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
48778         Avoid unused variable.
48779         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
48780         Likewise.
48781
48782 2008-12-22  Bruno Haible  <bruno@clisp.org>
48783
48784         Remove HAVE_MBRTOWC conditionals.
48785         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
48786         (mbscasecmp): Assume mbrtowc function.
48787         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
48788         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
48789         * lib/mbschr.c: Include mbuiter.h unconditionally.
48790         (mbschr): Assume mbrtowc function.
48791         * lib/mbscspn.c: Include mbuiter.h unconditionally.
48792         (mbscspn): Assume mbrtowc function.
48793         * lib/mbslen.c: Include mbuiter.h unconditionally.
48794         (mbslen): Assume mbrtowc function.
48795         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
48796         (mbsncasecmp): Assume mbrtowc function.
48797         * lib/mbsnlen.c: Include mbiter.h unconditionally.
48798         (mbsnlen): Assume mbrtowc function.
48799         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
48800         (mbspbrk): Assume mbrtowc function.
48801         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
48802         (mbspcasecmp): Assume mbrtowc function.
48803         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
48804         (mbsrchr): Assume mbrtowc function.
48805         * lib/mbssep.c: Include mbuiter.h unconditionally.
48806         (mbssep): Assume mbrtowc function.
48807         * lib/mbsspn.c: Include mbuiter.h unconditionally.
48808         (mbsspn): Assume mbrtowc function.
48809         * lib/mbsstr.c: Include mbuiter.h unconditionally.
48810         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
48811         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
48812         (mbstok_r): Assume mbrtowc function.
48813         * lib/propername.c: Include mbuiter.h unconditionally.
48814         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
48815         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
48816         (trim2): Assume mbrtowc function.
48817         * lib/mbswidth.c (mbsinit): Remove fallback definition.
48818         (mbsnwidth): Assume mbrtowc function.
48819         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
48820         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
48821         fallback definitions.
48822         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
48823
48824 2008-12-22  Bruno Haible  <bruno@clisp.org>
48825
48826         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
48827
48828 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
48829
48830         * modules/regex: Request emulations for the mb*/wc* functions we need.
48831         * m4/regex.m4: Don't look for those functions here.
48832         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
48833
48834 2008-12-22  Bruno Haible  <bruno@clisp.org>
48835
48836         * modules/fnmatch (Depends-on): Remove duplicated dependency.
48837
48838 2008-12-21  Bruno Haible  <bruno@clisp.org>
48839
48840         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
48841         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
48842         (Include): Remove conditionalization.
48843         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
48844         (Include): Remove conditionalization.
48845         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
48846         (Include): Remove conditionalization.
48847         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
48848         * m4/mbfile.m4 (gl_MBFILE): Likewise.
48849         * NEWS: Mention the change.
48850         Reported by Alan Hourihane <alanh@fairlite.co.uk>
48851         via Sergey Poznyakoff <gray@gnu.org.ua>.
48852
48853 2008-12-21  Bruno Haible  <bruno@clisp.org>
48854
48855         * MODULES.html.sh (Extended multibyte and wide character utilities
48856         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
48857         wcrtomb, wcsrtombs.
48858         (Support for systems lacking POSIX:2008): Add accept, bind, close,
48859         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
48860         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
48861         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
48862
48863 2008-12-21  Bruno Haible  <bruno@clisp.org>
48864
48865         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
48866
48867 2008-12-21  Bruno Haible  <bruno@clisp.org>
48868
48869         * modules/wcsnrtombs-tests: New file.
48870         * tests/test-wcsnrtombs1.sh: New file.
48871         * tests/test-wcsnrtombs2.sh: New file.
48872         * tests/test-wcsnrtombs3.sh: New file.
48873         * tests/test-wcsnrtombs4.sh: New file.
48874         * tests/test-wcsnrtombs.c: New file.
48875
48876         New module 'wcsnrtombs'.
48877         * lib/wchar.in.h (wcsnrtombs): New declaration.
48878         * lib/wcsnrtombs.c: New file.
48879         * lib/wcsrtombs-state.c: New file.
48880         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
48881         (internal_state): Remove variable.
48882         * m4/wcsnrtombs.m4: New file.
48883         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
48884         compilation units.
48885         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
48886         HAVE_WCSNRTOMBS.
48887         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
48888         HAVE_WCSNRTOMBS.
48889         * modules/wcsnrtombs: New file.
48890         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
48891         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
48892
48893 2008-12-21  Bruno Haible  <bruno@clisp.org>
48894
48895         * modules/wcsrtombs-tests: New file.
48896         * tests/test-wcsrtombs1.sh: New file.
48897         * tests/test-wcsrtombs2.sh: New file.
48898         * tests/test-wcsrtombs3.sh: New file.
48899         * tests/test-wcsrtombs4.sh: New file.
48900         * tests/test-wcsrtombs.c: New file.
48901
48902         New module 'wcsrtombs'.
48903         * lib/wchar.in.h (wcsrtombs): New declaration.
48904         * lib/wcsrtombs.c: New file.
48905         * m4/wcsrtombs.m4: New file.
48906         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
48907         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48908         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
48909         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
48910         * modules/wcsrtombs: New file.
48911         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
48912         bugs.
48913
48914 2008-12-21  Bruno Haible  <bruno@clisp.org>
48915
48916         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
48917         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
48918         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
48919         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
48920         if not correct.
48921         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
48922         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
48923         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
48924         m4/locale-zh.m4, m4/codeset.m4.
48925         * doc/posix-functions/wcrtomb.texi: Document the bug.
48926
48927 2008-12-21  Bruno Haible  <bruno@clisp.org>
48928
48929         Work around a btowc() bug on IRIX 6.5.
48930         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
48931         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
48932         REPLACE_WTOBC if not.
48933         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
48934         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
48935         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
48936
48937 2008-12-21  Bruno Haible  <bruno@clisp.org>
48938
48939         * modules/wcrtomb-tests: New file.
48940         * tests/test-wcrtomb.sh: New file.
48941         * tests/test-wcrtomb.c: New file.
48942
48943         New module 'wcrtomb'.
48944         * lib/wchar.in.h (wcrtomb): New declaration.
48945         * lib/wcrtomb.c: New file.
48946         * m4/wcrtomb.m4: New file.
48947         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
48948         HAVE_WCRTOMB.
48949         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
48950         HAVE_WCRTOMB.
48951         * modules/wcrtomb: New file.
48952         * doc/posix-functions/wcrtomb.texi: Mention the new module.
48953
48954 2008-12-21  Bruno Haible  <bruno@clisp.org>
48955
48956         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
48957         * modules/mbsrtowcs (Files): Likewise.
48958         * modules/wctob (Files): Likewise.
48959         * modules/c-strcase-tests (Files): Likewise.
48960         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
48961         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
48962         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
48963         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
48964         * modules/vasnprintf-posix-tests (Files): Likewise.
48965
48966 2008-12-21  William Pursell  <bill.pursell@gmail.com>
48967
48968         gitlog-to-changelog: pass all command-line arguments to git-log
48969         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
48970         it is sometimes convenient to filter the commits in various ways.
48971         gitlog-to-changelog only allows --since to specify a start date,
48972         but git-log itself supports many other filtering mechanisms.
48973         At the moment, I want to filter by branch name.  Rather than
48974         adding a --branch option to gitlog-to-changelog, it seems more
48975         flexible to simply pass all options directly to git-log and let
48976         git do the work.  Notice that this effectively makes --since a
48977         redundant option for gitlog-to-changelog, but removing it would
48978         require current usage to change since calls would then require
48979         an additional '--'.
48980
48981 2008-12-21  Bruno Haible  <bruno@clisp.org>
48982
48983         * modules/mbsnrtowcs-tests: New file.
48984         * tests/test-mbsnrtowcs1.sh: New file.
48985         * tests/test-mbsnrtowcs2.sh: New file.
48986         * tests/test-mbsnrtowcs3.sh: New file.
48987         * tests/test-mbsnrtowcs4.sh: New file.
48988         * tests/test-mbsnrtowcs.c: New file.
48989
48990         New module 'mbsnrtowcs'.
48991         * lib/wchar.in.h (mbsnrtowcs): New declaration.
48992         * lib/mbsnrtowcs.c: New file.
48993         * lib/mbsrtowcs-state.c: New file.
48994         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
48995         (internal_state): Remove variable.
48996         * m4/mbsnrtowcs.m4: New file.
48997         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
48998         compilation units.
48999         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
49000         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49001         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
49002         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49003         * modules/mbsnrtowcs: New file.
49004         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
49005         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
49006         portability problem.
49007
49008 2008-12-21  Bruno Haible  <bruno@clisp.org>
49009
49010         Work around mbsrtowcs bug.
49011         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
49012         (gl_FUNC_MBSRTOWCS): Invoke it.
49013         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49014         m4/locale-zh.m4.
49015         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
49016
49017 2008-12-21  Bruno Haible  <bruno@clisp.org>
49018
49019         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
49020
49021 2008-12-21  Bruno Haible  <bruno@clisp.org>
49022
49023         Update doc for AIX.
49024         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
49025         16-bit wchar_t type.
49026         * doc/posix-functions/btowc.texi: Likewise.
49027         * doc/posix-functions/fgetwc.texi: Likewise.
49028         * doc/posix-functions/fgetws.texi: Likewise.
49029         * doc/posix-functions/fputwc.texi: Likewise.
49030         * doc/posix-functions/fputws.texi: Likewise.
49031         * doc/posix-functions/fwide.texi: Likewise.
49032         * doc/posix-functions/fwprintf.texi: Likewise.
49033         * doc/posix-functions/fwscanf.texi: Likewise.
49034         * doc/posix-functions/getwchar.texi: Likewise.
49035         * doc/posix-functions/getwc.texi: Likewise.
49036         * doc/posix-functions/iswalnum.texi: Likewise.
49037         * doc/posix-functions/iswalpha.texi: Likewise.
49038         * doc/posix-functions/iswblank.texi: Likewise.
49039         * doc/posix-functions/iswcntrl.texi: Likewise.
49040         * doc/posix-functions/iswctype.texi: Likewise.
49041         * doc/posix-functions/iswdigit.texi: Likewise.
49042         * doc/posix-functions/iswgraph.texi: Likewise.
49043         * doc/posix-functions/iswlower.texi: Likewise.
49044         * doc/posix-functions/iswprint.texi: Likewise.
49045         * doc/posix-functions/iswpunct.texi: Likewise.
49046         * doc/posix-functions/iswspace.texi: Likewise.
49047         * doc/posix-functions/iswupper.texi: Likewise.
49048         * doc/posix-functions/iswxdigit.texi: Likewise.
49049         * doc/posix-functions/mbrtowc.texi: Likewise.
49050         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49051         * doc/posix-functions/mbstowcs.texi: Likewise.
49052         * doc/posix-functions/mbtowc.texi: Likewise.
49053         * doc/posix-functions/putwchar.texi: Likewise.
49054         * doc/posix-functions/putwc.texi: Likewise.
49055         * doc/posix-functions/swprintf.texi: Likewise.
49056         * doc/posix-functions/tolower.texi: Likewise.
49057         * doc/posix-functions/toupper.texi: Likewise.
49058         * doc/posix-functions/towctrans.texi: Likewise.
49059         * doc/posix-functions/ungetwc.texi: Likewise.
49060         * doc/posix-functions/vswprintf.texi: Likewise.
49061         * doc/posix-functions/wcrtomb.texi: Likewise.
49062         * doc/posix-functions/wcscat.texi: Likewise.
49063         * doc/posix-functions/wcschr.texi: Likewise.
49064         * doc/posix-functions/wcscmp.texi: Likewise.
49065         * doc/posix-functions/wcscoll.texi: Likewise.
49066         * doc/posix-functions/wcscpy.texi: Likewise.
49067         * doc/posix-functions/wcscspn.texi: Likewise.
49068         * doc/posix-functions/wcsftime.texi: Likewise.
49069         * doc/posix-functions/wcslen.texi: Likewise.
49070         * doc/posix-functions/wcsncat.texi: Likewise.
49071         * doc/posix-functions/wcsncmp.texi: Likewise.
49072         * doc/posix-functions/wcsncpy.texi: Likewise.
49073         * doc/posix-functions/wcspbrk.texi: Likewise.
49074         * doc/posix-functions/wcsrchr.texi: Likewise.
49075         * doc/posix-functions/wcsrtombs.texi: Likewise.
49076         * doc/posix-functions/wcsspn.texi: Likewise.
49077         * doc/posix-functions/wcsstr.texi: Likewise.
49078         * doc/posix-functions/wcstod.texi: Likewise.
49079         * doc/posix-functions/wcstof.texi: Likewise.
49080         * doc/posix-functions/wcstoimax.texi: Likewise.
49081         * doc/posix-functions/wcstok.texi: Likewise.
49082         * doc/posix-functions/wcstold.texi: Likewise.
49083         * doc/posix-functions/wcstoll.texi: Likewise.
49084         * doc/posix-functions/wcstol.texi: Likewise.
49085         * doc/posix-functions/wcstombs.texi: Likewise.
49086         * doc/posix-functions/wcstoull.texi: Likewise.
49087         * doc/posix-functions/wcstoul.texi: Likewise.
49088         * doc/posix-functions/wcstoumax.texi: Likewise.
49089         * doc/posix-functions/wcswidth.texi: Likewise.
49090         * doc/posix-functions/wcsxfrm.texi: Likewise.
49091         * doc/posix-functions/wctob.texi: Likewise.
49092         * doc/posix-functions/wctomb.texi: Likewise.
49093         * doc/posix-functions/wctrans.texi: Likewise.
49094         * doc/posix-functions/wctype.texi: Likewise.
49095         * doc/posix-functions/wcwidth.texi: Likewise.
49096         * doc/posix-functions/wmemchr.texi: Likewise.
49097         * doc/posix-functions/wmemcmp.texi: Likewise.
49098         * doc/posix-functions/wmemcpy.texi: Likewise.
49099         * doc/posix-functions/wmemmove.texi: Likewise.
49100         * doc/posix-functions/wmemset.texi: Likewise.
49101         * doc/posix-functions/wprintf.texi: Likewise.
49102         * doc/posix-functions/wscanf.texi: Likewise.
49103
49104 2008-12-21  Bruno Haible  <bruno@clisp.org>
49105
49106         Update doc for HP-UX 11.11.
49107         * doc/posix-functions/btowc.texi: Clarify that the function is missing
49108         in HP-UX version 11.00, not in all versions of HP-UX 11.
49109         * doc/posix-functions/fwide.texi: Likewise.
49110         * doc/posix-functions/fwprintf.texi: Likewise.
49111         * doc/posix-functions/fwscanf.texi: Likewise.
49112         * doc/posix-functions/inet_ntop.texi: Likewise.
49113         * doc/posix-functions/inet_pton.texi: Likewise.
49114         * doc/posix-functions/mbrlen.texi: Likewise.
49115         * doc/posix-functions/mbrtowc.texi: Likewise.
49116         * doc/posix-functions/mbsinit.texi: Likewise.
49117         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49118         * doc/posix-functions/swprintf.texi: Likewise.
49119         * doc/posix-functions/swscanf.texi: Likewise.
49120         * doc/posix-functions/towctrans.texi: Likewise.
49121         * doc/posix-functions/vfwprintf.texi: Likewise.
49122         * doc/posix-functions/vswprintf.texi: Likewise.
49123         * doc/posix-functions/vwprintf.texi: Likewise.
49124         * doc/posix-functions/wcrtomb.texi: Likewise.
49125         * doc/posix-functions/wcsrtombs.texi: Likewise.
49126         * doc/posix-functions/wcsstr.texi: Likewise.
49127         * doc/posix-functions/wctob.texi: Likewise.
49128         * doc/posix-functions/wctrans.texi: Likewise.
49129         * doc/posix-functions/wmemchr.texi: Likewise.
49130         * doc/posix-functions/wmemcmp.texi: Likewise.
49131         * doc/posix-functions/wmemcpy.texi: Likewise.
49132         * doc/posix-functions/wmemmove.texi: Likewise.
49133         * doc/posix-functions/wmemset.texi: Likewise.
49134         * doc/posix-functions/wprintf.texi: Likewise.
49135         * doc/posix-functions/wscanf.texi: Likewise.
49136
49137 2008-12-21  Bruno Haible  <bruno@clisp.org>
49138
49139         Work around a portability problem.
49140         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
49141         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
49142
49143 2008-12-20  Bruno Haible  <bruno@clisp.org>
49144
49145         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
49146         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
49147         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
49148         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
49149         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
49150
49151         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
49152         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
49153         set.
49154         (GNULIB_defined_mbstate_t): New macro.
49155         (mbsinit): Redefine if REPLACE_MBSINIT is set.
49156         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
49157         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
49158         reuses the system's mbrtowc function but works around the bugs.
49159         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
49160         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
49161         macros.
49162         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
49163         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
49164         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
49165         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
49166         REPLACE_MBSINIT if mbsinit needs to be overridden.
49167         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
49168         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49169         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
49170         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49171         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49172         m4/locale-zh.m4.
49173         (Depends): Add mbsinit.
49174         * modules/mbsinit (Depends): Add mbrtowc.
49175         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
49176
49177 2008-12-20  Bruno Haible  <bruno@clisp.org>
49178
49179         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
49180         so that there are no conversion errors on AIX.
49181         * tests/test-mbsrtowcs.c (main): LIkewise.
49182
49183 2008-12-20  Bruno Haible  <bruno@clisp.org>
49184
49185         Work around wctob bug on Solaris <= 9.
49186         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
49187         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
49188         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
49189         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
49190         * modules/wctob (Files): Add m4/locale-fr.m4.
49191         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
49192
49193 2008-12-20  Bruno Haible  <bruno@clisp.org>
49194
49195         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
49196         /dev/null.
49197         * tests/test-select-in.sh: Likewise.
49198         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49199
49200 2008-12-20  Bruno Haible  <bruno@clisp.org>
49201
49202         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
49203         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
49204         Cygwin 1.5.x.
49205
49206 2008-12-20  Bruno Haible  <bruno@clisp.org>
49207
49208         Ensure mbstate_t is defined on HP-UX 11.11.
49209         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
49210         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
49211         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
49212         AC_USE_SYSTEM_EXTENSIONS.
49213         * modules/fnmatch (Depends-on): Add extensions.
49214         * modules/mbrlen (Depends-on): Likewise.
49215         * modules/mbrtowc (Depends-on): Likewise.
49216         * modules/mbsinit (Depends-on): Likewise.
49217         * modules/mbsrtowcs (Depends-on): Likewise.
49218         * modules/mbswidth (Depends-on): Likewise.
49219         * modules/quotearg (Depends-on): Likewise.
49220         * modules/strftime (Depends-on): Likewise.
49221
49222 2008-12-20  Bruno Haible  <bruno@clisp.org>
49223
49224         Ensure wctob is declared on IRIX 6.5.
49225         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
49226         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
49227         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
49228         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
49229         of HAVE_WCTOB.
49230         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
49231         HAVE_WCTOB.
49232         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
49233
49234 2008-12-19  Bruno Haible  <bruno@clisp.org>
49235
49236         * modules/mbsrtowcs-tests: New file.
49237         * tests/test-mbsrtowcs1.sh: New file.
49238         * tests/test-mbsrtowcs2.sh: New file.
49239         * tests/test-mbsrtowcs3.sh: New file.
49240         * tests/test-mbsrtowcs4.sh: New file.
49241         * tests/test-mbsrtowcs.c: New file.
49242
49243         New module 'mbsrtowcs'.
49244         * lib/wchar.in.h (mbsrtowcs): New declaration.
49245         * lib/mbsrtowcs.c: New file.
49246         * m4/mbsrtowcs.m4: New file.
49247         * modules/mbsrtowcs: New file.
49248         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
49249         HAVE_MBSRTOWCS.
49250         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
49251         HAVE_MBSRTOWCS.
49252         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
49253
49254 2008-12-19  Bruno Haible  <bruno@clisp.org>
49255
49256         New module 'mbrlen'.
49257         * lib/wchar.in.h (mbrlen): New declaration.
49258         * lib/mbrlen.c: New file.
49259         * m4/mbrlen.m4: New file.
49260         * modules/mbrlen: New file.
49261         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
49262         HAVE_MBRLEN.
49263         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
49264         HAVE_MBRLEN.
49265         * doc/posix-functions/mbrlen.texi: Document the new module.
49266
49267 2008-12-19  Bruno Haible  <bruno@clisp.org>
49268
49269         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
49270         * modules/mbrtowc (Depends-on): Add verify.
49271         Suggested by Paul Eggert.
49272
49273 2008-12-18  Bruno Haible  <bruno@clisp.org>
49274
49275         * modules/mbsinit-tests: New file.
49276         * tests/test-mbsinit.sh: New file.
49277         * tests/test-mbsinit.c: New file.
49278
49279 2008-12-18  Bruno Haible  <bruno@clisp.org>
49280
49281         * modules/mbrtowc-tests: New file.
49282         * tests/test-mbrtowc1.sh: New file.
49283         * tests/test-mbrtowc2.sh: New file.
49284         * tests/test-mbrtowc3.sh: New file.
49285         * tests/test-mbrtowc4.sh: New file.
49286         * tests/test-mbrtowc.c: New file.
49287
49288         New module 'mbrtowc'.
49289         * lib/wchar.in.h (mbstate_t): Override when the system does not have
49290         mbsinit and mbrtowc.
49291         (mbrtowc): New declaration.
49292         * lib/mbrtowc.c: New file.
49293         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
49294         * modules/mbrtowc: New file.
49295         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
49296         HAVE_MBRTOWC.
49297         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
49298         HAVE_MBRTOWC.
49299         * doc/posix-functions/mbrtowc.texi: Document the new module.
49300
49301 2008-12-18  Bruno Haible  <bruno@clisp.org>
49302
49303         New module 'wctob'.
49304         * lib/wchar.in.h (wctob): New declaration.
49305         * lib/wctob.c: New file.
49306         * m4/wctob.m4: New file.
49307         * modules/wctob: New file.
49308         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
49309         HAVE_WCTOB.
49310         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
49311         * doc/posix-functions/wctob.texi: Document the new module.
49312
49313 2008-12-18  Bruno Haible  <bruno@clisp.org>
49314
49315         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
49316         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
49317
49318 2008-12-18  Simon Josefsson  <simon@josefsson.org>
49319
49320         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
49321         G. Christensen" <tgc@jupiterrise.com>.
49322
49323         * lib/flock.c: Need to include errno.h.  Reported by "Tom
49324         G. Christensen" <tgc@jupiterrise.com>.
49325
49326         * lib/flock.c: Need to include string.h.  Reported by "Tom
49327         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
49328         <ebb9@byu.net>.
49329
49330 2008-12-18  Bruno Haible  <bruno@clisp.org>
49331
49332         * m4/locale-ja.m4: New file, from GNU gettext.
49333
49334 2008-12-17  Bruno Haible  <bruno@clisp.org>
49335
49336         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
49337         Suggested by Eric Blake.
49338
49339 2008-12-17  Bruno Haible  <bruno@clisp.org>
49340
49341         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
49342
49343 2008-12-17  Bruno Haible  <bruno@clisp.org>
49344
49345         * lib/mbsinit.c: Include verify.h. Verify an assumption.
49346         * modules/mbsinit (Depends-on): Add verify.
49347         Suggested by Paul Eggert.
49348
49349 2008-12-17  Bruno Haible  <bruno@clisp.org>
49350
49351         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
49352         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
49353         gl_FUNC_MBRTOWC.
49354         * m4/mbiter.m4 (gl_MBITER): LIkewise.
49355         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
49356         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
49357         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
49358         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
49359         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
49360         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
49361         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
49362         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
49363         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
49364         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
49365         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
49366         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
49367         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
49368         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
49369         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49370         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
49371         * modules/trim (configure.ac): Likewise.
49372
49373 2008-12-17  Bruno Haible  <bruno@clisp.org>
49374
49375         * modules/btowc-tests: New file.
49376         * tests/test-btowc1.sh: New file.
49377         * tests/test-btowc2.sh: New file.
49378         * tests/test-btowc.c: New file.
49379
49380         New module 'btowc'.
49381         * lib/wchar.in.h (btowc): New declaration.
49382         * lib/btowc.c: New file.
49383         * m4/btowc.m4: New file.
49384         * modules/btowc: New file.
49385         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
49386         HAVE_BTOWC.
49387         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
49388         * doc/posix-functions/btowc.texi: Document the new module.
49389
49390 2008-12-17  Bruno Haible  <bruno@clisp.org>
49391
49392         New module 'mbsinit'.
49393         * lib/wchar.in.h (mbsinit): New declaration.
49394         * lib/mbsinit.c: New file.
49395         * m4/mbsinit.m4: New file.
49396         * modules/mbsinit: New file.
49397         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
49398         HAVE_MBSINIT.
49399         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
49400         HAVE_MBSINIT.
49401         * doc/posix-functions/mbsinit.texi: Document the new module.
49402
49403 2008-12-16  Bruno Haible  <bruno@clisp.org>
49404
49405         * lib/unistd.in.h: Add comment.
49406         * tests/test-environ.c: Don't include <stdlib.h>.
49407
49408 2008-12-16  Bruno Haible  <bruno@clisp.org>
49409
49410         * lib/parse-duration.h (parse_duration): Document return value
49411         convention.
49412         * lib/parse-duration.c: Include specification header first. Add
49413         comments.
49414         (_): Remove macro.
49415         (parse_year_month_day, parse_hour_minute_second): Move side effects
49416         outside of strchr call.
49417         (parse_non_iso8601): Move side effects outside of isspace call.
49418         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
49419         call.
49420
49421 2008-12-16  Bruno Haible  <bruno@clisp.org>
49422
49423         * tests/test-parse-duration.sh: Produce no output when the test
49424         succeeds.
49425
49426 2008-12-16  Bruno Haible  <bruno@clisp.org>
49427
49428         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
49429         expressions.
49430
49431 2008-12-15  Bruno Haible  <bruno@clisp.org>
49432
49433         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
49434         * doc/glibc-functions/flistxattr.texi: Likewise.
49435         * doc/glibc-functions/fopencookie.texi: Likewise.
49436         * doc/glibc-functions/fremovexattr.texi: Likewise.
49437         * doc/glibc-functions/fsetxattr.texi: Likewise.
49438         * doc/glibc-functions/getxattr.texi: Likewise.
49439         * doc/glibc-functions/lgetxattr.texi: Likewise.
49440         * doc/glibc-functions/listxattr.texi: Likewise.
49441         * doc/glibc-functions/llistxattr.texi: Likewise.
49442         * doc/glibc-functions/lremovexattr.texi: Likewise.
49443         * doc/glibc-functions/lsetxattr.texi: Likewise.
49444         * doc/glibc-functions/removexattr.texi: Likewise.
49445         * doc/glibc-functions/setxattr.texi: Likewise.
49446         * doc/posix-functions/open_memstream.texi: Likewise.
49447
49448 2008-12-15  Eric Blake  <ebb9@byu.net>
49449
49450         Update doc for cygwin 1.7.
49451         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
49452         functions.
49453         * doc/posix-functions/fchmodat.texi: Likewise.
49454         * doc/posix-functions/fchownat.texi: Likewise.
49455         * doc/posix-functions/fdopendir.texi: Likewise.
49456         * doc/posix-functions/fmemopen.texi: Likewise.
49457         * doc/posix-functions/freeaddrinfo.texi: Likewise.
49458         * doc/posix-functions/fstatat.texi: Likewise.
49459         * doc/posix-functions/futimens.texi: Likewise.
49460         * doc/posix-functions/gai_strerror.texi: Likewise.
49461         * doc/posix-functions/getaddrinfo.texi: Likewise.
49462         * doc/posix-functions/getnameinfo.texi: Likewise.
49463         * doc/posix-functions/if_freenameindex.texi: Likewise.
49464         * doc/posix-functions/if_indextoname.texi: Likewise.
49465         * doc/posix-functions/if_nameindex.texi: Likewise.
49466         * doc/posix-functions/if_nametoindex.texi: Likewise.
49467         * doc/posix-functions/insque.texi: Likewise.
49468         * doc/posix-functions/linkat.texi: Likewise.
49469         * doc/posix-functions/llrint.texi: Likewise.
49470         * doc/posix-functions/llrintf.texi: Likewise.
49471         * doc/posix-functions/llrintl.texi: Likewise.
49472         * doc/posix-functions/lockf.texi: Likewise.
49473         * doc/posix-functions/lrintl.texi: Likewise.
49474         * doc/posix-functions/mkdirat.texi: Likewise.
49475         * doc/posix-functions/mkfifoat.texi: Likewise.
49476         * doc/posix-functions/mknodat.texi: Likewise.
49477         * doc/posix-functions/mq_close.texi: Likewise.
49478         * doc/posix-functions/mq_getattr.texi: Likewise.
49479         * doc/posix-functions/mq_notify.texi: Likewise.
49480         * doc/posix-functions/mq_open.texi: Likewise.
49481         * doc/posix-functions/mq_receive.texi: Likewise.
49482         * doc/posix-functions/mq_send.texi: Likewise.
49483         * doc/posix-functions/mq_setattr.texi: Likewise.
49484         * doc/posix-functions/mq_timedreceive.texi: Likewise.
49485         * doc/posix-functions/mq_timedsend.texi: Likewise.
49486         * doc/posix-functions/mq_unlink.texi: Likewise.
49487         * doc/posix-functions/open_memstream.texi: Likewise.
49488         * doc/posix-functions/openat.texi: Likewise.
49489         * doc/posix-functions/posix_fadvise.texi: Likewise.
49490         * doc/posix-functions/posix_fallocate.texi: Likewise.
49491         * doc/posix-functions/posix_madvise.texi: Likewise.
49492         * doc/posix-functions/posix_memalign.texi: Likewise.
49493         * doc/posix-functions/posix_openpt.texi: Likewise.
49494         * doc/posix-functions/readlinkat.texi: Likewise.
49495         * doc/posix-functions/remque.texi: Likewise.
49496         * doc/posix-functions/renameat.texi: Likewise.
49497         * doc/posix-functions/rintl.texi: Likewise.
49498         * doc/posix-functions/sem_unlink.texi: Likewise.
49499         * doc/posix-functions/shm_open.texi: Likewise.
49500         * doc/posix-functions/shm_unlink.texi: Likewise.
49501         * doc/posix-functions/signgam.texi: Likewise.
49502         * doc/posix-functions/sigset.texi: Likewise.
49503         * doc/posix-functions/stpcpy.texi: Likewise.
49504         * doc/posix-functions/stpncpy.texi: Likewise.
49505         * doc/posix-functions/strerror.texi: Likewise.
49506         * doc/posix-functions/strtod.texi: Likewise.
49507         * doc/posix-functions/symlinkat.texi: Likewise.
49508         * doc/posix-functions/unlinkat.texi: Likewise.
49509         * doc/posix-functions/utimensat.texi: Likewise.
49510         * doc/glibc-functions/bindresvport.texi: Likewise.
49511         * doc/glibc-functions/dn_expand.texi: Likewise.
49512         * doc/glibc-functions/exp10.texi: Likewise.
49513         * doc/glibc-functions/exp10f.texi: Likewise.
49514         * doc/glibc-functions/fgetxattr.texi: Likewise.
49515         * doc/glibc-functions/flistxattr.texi: Likewise.
49516         * doc/glibc-functions/fopencookie.texi: Likewise.
49517         * doc/glibc-functions/freeifaddrs.texi: Likewise.
49518         * doc/glibc-functions/fremovexattr.texi: Likewise.
49519         * doc/glibc-functions/fsetxattr.texi: Likewise.
49520         * doc/glibc-functions/getifaddrs.texi: Likewise.
49521         * doc/glibc-functions/getxattr.texi: Likewise.
49522         * doc/glibc-functions/lgetxattr.texi: Likewise.
49523         * doc/glibc-functions/listxattr.texi: Likewise.
49524         * doc/glibc-functions/llistxattr.texi: Likewise.
49525         * doc/glibc-functions/lremovexattr.texi: Likewise.
49526         * doc/glibc-functions/lsetxattr.texi: Likewise.
49527         * doc/glibc-functions/pow10.texi: Likewise.
49528         * doc/glibc-functions/pow10f.texi: Likewise.
49529         * doc/glibc-functions/rcmd_af.texi: Likewise.
49530         * doc/glibc-functions/removexattr.texi: Likewise.
49531         * doc/glibc-functions/res_init.texi: Likewise.
49532         * doc/glibc-functions/res_mkquery.texi: Likewise.
49533         * doc/glibc-functions/res_query.texi: Likewise.
49534         * doc/glibc-functions/res_querydomain.texi: Likewise.
49535         * doc/glibc-functions/res_send.texi: Likewise.
49536         * doc/glibc-functions/rresvport_af.texi: Likewise.
49537         * doc/glibc-functions/setxattr.texi: Likewise.
49538         * doc/glibc-functions/strcasestr.texi: Likewise.
49539
49540 2008-12-15  Bruno Haible  <bruno@clisp.org>
49541
49542         Fix compilation error on OSF/1 4.0.
49543         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
49544         <sys/time.h>, simply delegate to the system header.
49545         Reported by Daniel Richard G. <oss@teragram.com>.
49546
49547 2008-12-15  Bruno Haible  <bruno@clisp.org>
49548
49549         * doc/posix-functions/openat.texi: Mention the 'openat' module.
49550         * doc/posix-functions/fchmodat.texi: Likewise.
49551         * doc/posix-functions/fchownat.texi: Likewise.
49552         * doc/posix-functions/fdopendir.texi: Likewise.
49553         * doc/posix-functions/fstatat.texi: Likewise.
49554         * doc/posix-functions/mkdirat.texi: Likewise.
49555         * doc/posix-functions/unlinkat.texi: Likewise.
49556
49557 2008-12-14  Bruno Haible  <bruno@clisp.org>
49558
49559         Update doc for POSIX:2008.
49560         * doc/posix-functions/faccessat.texi: New file.
49561         * doc/posix-functions/fchmodat.texi: New file.
49562         * doc/posix-functions/fchownat.texi: New file.
49563         * doc/posix-functions/fdopendir.texi: New file.
49564         * doc/posix-functions/fstatat.texi: New file.
49565         * doc/posix-functions/futimens.texi: New file.
49566         * doc/posix-functions/linkat.texi: New file.
49567         * doc/posix-functions/mkdirat.texi: New file.
49568         * doc/posix-functions/mkfifoat.texi: New file.
49569         * doc/posix-functions/mknodat.texi: New file.
49570         * doc/posix-functions/open_wmemstream.texi: New file.
49571         * doc/posix-functions/openat.texi: New file.
49572         * doc/posix-functions/psiginfo.texi: New file.
49573         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
49574         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
49575         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
49576         * doc/posix-functions/readlinkat.texi: New file.
49577         * doc/posix-functions/renameat.texi: New file.
49578         * doc/posix-functions/strerror_l.texi: New file.
49579         * doc/posix-functions/symlinkat.texi: New file.
49580         * doc/posix-functions/unlinkat.texi: New file.
49581         * doc/posix-functions/utimensat.texi: New file.
49582         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49583
49584 2008-12-14  Bruno Haible  <bruno@clisp.org>
49585
49586         Update doc for POSIX:2008.
49587         * doc/posix-functions/alphasort.texi: Renamed from
49588         doc/glibc-functions/alphasort.texi.
49589         * doc/posix-functions/dirfd.texi: Renamed from
49590         doc/glibc-functions/dirfd.texi.
49591         * doc/posix-functions/dprintf.texi: Renamed from
49592         doc/glibc-functions/dprintf.texi.
49593         * doc/posix-functions/duplocale.texi: Renamed from
49594         doc/glibc-functions/duplocale.texi.
49595         * doc/posix-functions/fexecve.texi: Renamed from
49596         doc/glibc-functions/fexecve.texi.
49597         * doc/posix-functions/fmemopen.texi: Renamed from
49598         doc/glibc-functions/fmemopen.texi.
49599         * doc/posix-functions/freelocale.texi: Renamed from
49600         doc/glibc-functions/freelocale.texi.
49601         * doc/posix-functions/getdate_err.texi: Renamed from
49602         doc/glibc-functions/getdate_err.texi.
49603         * doc/posix-functions/isalnum_l.texi: Renamed from
49604         doc/glibc-functions/isalnum_l.texi.
49605         * doc/posix-functions/isalpha_l.texi: Renamed from
49606         doc/glibc-functions/isalpha_l.texi.
49607         * doc/posix-functions/isblank_l.texi: Renamed from
49608         doc/glibc-functions/isblank_l.texi.
49609         * doc/posix-functions/iscntrl_l.texi: Renamed from
49610         doc/glibc-functions/iscntrl_l.texi.
49611         * doc/posix-functions/isdigit_l.texi: Renamed from
49612         doc/glibc-functions/isdigit_l.texi.
49613         * doc/posix-functions/isgraph_l.texi: Renamed from
49614         doc/glibc-functions/isgraph_l.texi.
49615         * doc/posix-functions/islower_l.texi: Renamed from
49616         doc/glibc-functions/islower_l.texi.
49617         * doc/posix-functions/isprint_l.texi: Renamed from
49618         doc/glibc-functions/isprint_l.texi.
49619         * doc/posix-functions/ispunct_l.texi: Renamed from
49620         doc/glibc-functions/ispunct_l.texi.
49621         * doc/posix-functions/isspace_l.texi: Renamed from
49622         doc/glibc-functions/isspace_l.texi.
49623         * doc/posix-functions/isupper_l.texi: Renamed from
49624         doc/glibc-functions/isupper_l.texi.
49625         * doc/posix-functions/iswalnum_l.texi: Renamed from
49626         doc/glibc-functions/iswalnum_l.texi.
49627         * doc/posix-functions/iswalpha_l.texi: Renamed from
49628         doc/glibc-functions/iswalpha_l.texi.
49629         * doc/posix-functions/iswblank_l.texi: Renamed from
49630         doc/glibc-functions/iswblank_l.texi.
49631         * doc/posix-functions/iswcntrl_l.texi: Renamed from
49632         doc/glibc-functions/iswcntrl_l.texi.
49633         * doc/posix-functions/iswctype_l.texi: Renamed from
49634         doc/glibc-functions/iswctype_l.texi.
49635         * doc/posix-functions/iswdigit_l.texi: Renamed from
49636         doc/glibc-functions/iswdigit_l.texi.
49637         * doc/posix-functions/iswgraph_l.texi: Renamed from
49638         doc/glibc-functions/iswgraph_l.texi.
49639         * doc/posix-functions/iswlower_l.texi: Renamed from
49640         doc/glibc-functions/iswlower_l.texi.
49641         * doc/posix-functions/iswprint_l.texi: Renamed from
49642         doc/glibc-functions/iswprint_l.texi.
49643         * doc/posix-functions/iswpunct_l.texi: Renamed from
49644         doc/glibc-functions/iswpunct_l.texi.
49645         * doc/posix-functions/iswspace_l.texi: Renamed from
49646         doc/glibc-functions/iswspace_l.texi.
49647         * doc/posix-functions/iswupper_l.texi: Renamed from
49648         doc/glibc-functions/iswupper_l.texi.
49649         * doc/posix-functions/iswxdigit_l.texi: Renamed from
49650         doc/glibc-functions/iswxdigit_l.texi.
49651         * doc/posix-functions/isxdigit_l.texi: Renamed from
49652         doc/glibc-functions/isxdigit_l.texi.
49653         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
49654         doc/glibc-functions/mbsnrtowcs.texi.
49655         * doc/posix-functions/mkdtemp.texi: Renamed from
49656         doc/glibc-functions/mkdtemp.texi.
49657         * doc/posix-functions/newlocale.texi: Renamed from
49658         doc/glibc-functions/newlocale.texi.
49659         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
49660         doc/glibc-functions/nl_langinfo_l.texi.
49661         * doc/posix-functions/open_memstream.texi: Renamed from
49662         doc/glibc-functions/open_memstream.texi.
49663         * doc/posix-functions/opterr.texi: Renamed from
49664         doc/glibc-functions/opterr.texi.
49665         * doc/posix-functions/optind.texi: Renamed from
49666         doc/glibc-functions/optind.texi.
49667         * doc/posix-functions/optopt.texi: Renamed from
49668         doc/glibc-functions/optopt.texi.
49669         * doc/posix-functions/psignal.texi: Renamed from
49670         doc/glibc-functions/psignal.texi.
49671         * doc/posix-functions/scandir.texi: Renamed from
49672         doc/glibc-functions/scandir.texi.
49673         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
49674         doc/glibc-functions/sched_get_priority_min.texi.
49675         * doc/posix-functions/signgam.texi: Renamed from
49676         doc/glibc-functions/signgam.texi.
49677         * doc/posix-functions/stpcpy.texi: Renamed from
49678         doc/glibc-functions/stpcpy.texi.
49679         * doc/posix-functions/stpncpy.texi: Renamed from
49680         doc/glibc-functions/stpncpy.texi.
49681         * doc/posix-functions/strcasecmp_l.texi: Renamed from
49682         doc/glibc-functions/strcasecmp_l.texi.
49683         * doc/posix-functions/strcoll_l.texi: Renamed from
49684         doc/glibc-functions/strcoll_l.texi.
49685         * doc/posix-functions/strfmon_l.texi: Renamed from
49686         doc/glibc-functions/strfmon_l.texi.
49687         * doc/posix-functions/strftime_l.texi: Renamed from
49688         doc/glibc-functions/strftime_l.texi.
49689         * doc/posix-functions/strncasecmp_l.texi: Renamed from
49690         doc/glibc-functions/strncasecmp_l.texi.
49691         * doc/posix-functions/strndup.texi: Renamed from
49692         doc/glibc-functions/strndup.texi.
49693         * doc/posix-functions/strnlen.texi: Renamed from
49694         doc/glibc-functions/strnlen.texi.
49695         * doc/posix-functions/strsignal.texi: Renamed from
49696         doc/glibc-functions/strsignal.texi.
49697         * doc/posix-functions/strxfrm_l.texi: Renamed from
49698         doc/glibc-functions/strxfrm_l.texi.
49699         * doc/posix-functions/timer_gettime.texi: Renamed from
49700         doc/glibc-functions/timer_gettime.texi.
49701         * doc/posix-functions/tolower_l.texi: Renamed from
49702         doc/glibc-functions/tolower_l.texi.
49703         * doc/posix-functions/toupper_l.texi: Renamed from
49704         doc/glibc-functions/toupper_l.texi.
49705         * doc/posix-functions/towctrans_l.texi: Renamed from
49706         doc/glibc-functions/towctrans_l.texi.
49707         * doc/posix-functions/towlower_l.texi: Renamed from
49708         doc/glibc-functions/towlower_l.texi.
49709         * doc/posix-functions/towupper_l.texi: Renamed from
49710         doc/glibc-functions/towupper_l.texi.
49711         * doc/posix-functions/uselocale.texi: Renamed from
49712         doc/glibc-functions/uselocale.texi.
49713         * doc/posix-functions/vdprintf.texi: Renamed from
49714         doc/glibc-functions/vdprintf.texi.
49715         * doc/posix-functions/wcpcpy.texi:
49716         Renamed from doc/glibc-functions/wcpcpy.texi.
49717         * doc/posix-functions/wcpncpy.texi: Renamed from
49718         doc/glibc-functions/wcpncpy.texi.
49719         * doc/posix-functions/wcscasecmp.texi: Renamed from
49720         doc/glibc-functions/wcscasecmp.texi.
49721         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
49722         doc/glibc-functions/wcscasecmp_l.texi.
49723         * doc/posix-functions/wcscoll_l.texi: Renamed from
49724         doc/glibc-functions/wcscoll_l.texi.
49725         * doc/posix-functions/wcsdup.texi: Renamed from
49726         doc/glibc-functions/wcsdup.texi.
49727         * doc/posix-functions/wcsncasecmp.texi: Renamed from
49728         doc/glibc-functions/wcsncasecmp.texi.
49729         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
49730         doc/glibc-functions/wcsncasecmp_l.texi.
49731         * doc/posix-functions/wcsnlen.texi: Renamed from
49732         doc/glibc-functions/wcsnlen.texi.
49733         * doc/posix-functions/wcsnrtombs.texi: Renamed from
49734         doc/glibc-functions/wcsnrtombs.texi.
49735         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
49736         doc/glibc-functions/wcsxfrm_l.texi.
49737         * doc/posix-functions/wctrans_l.texi: Renamed from
49738         doc/glibc-functions/wctrans_l.texi.
49739         * doc/posix-functions/wctype_l.texi: Renamed from
49740         doc/glibc-functions/wctype_l.texi.
49741         * doc/gnulib.texi (Function Substitutes): Add these subsections.
49742         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
49743         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
49744         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
49745         these subsections.
49746         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
49747         Remove sections.
49748
49749 2008-12-14  Bruno Haible  <bruno@clisp.org>
49750
49751         Update doc for POSIX:2008.
49752         * doc/posix-functions/*.texi: Update URL of POSIX specification.
49753
49754 2008-12-14  Bruno Haible  <bruno@clisp.org>
49755
49756         Update doc for POSIX:2008.
49757         * doc/pastposix-functions/bcmp.texi: Renamed from
49758         doc/posix-functions/bcmp.texi.
49759         * doc/pastposix-functions/bcopy.texi: Renamed from
49760         doc/posix-functions/bcopy.texi.
49761         * doc/pastposix-functions/bsd_signal.texi: Renamed from
49762         doc/posix-functions/bsd_signal.texi.
49763         * doc/pastposix-functions/bzero.texi: Renamed from
49764         doc/posix-functions/bzero.texi.
49765         * doc/pastposix-functions/ecvt.texi: Renamed from
49766         doc/posix-functions/ecvt.texi.
49767         * doc/pastposix-functions/fcvt.texi: Renamed from
49768         doc/posix-functions/fcvt.texi.
49769         * doc/pastposix-functions/ftime.texi: Renamed from
49770         doc/posix-functions/ftime.texi.
49771         * doc/pastposix-functions/gcvt.texi: Renamed from
49772         doc/posix-functions/gcvt.texi.
49773         * doc/pastposix-functions/getcontext.texi: Renamed from
49774         doc/posix-functions/getcontext.texi.
49775         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
49776         doc/posix-functions/gethostbyaddr.texi.
49777         * doc/pastposix-functions/gethostbyname.texi: Renamed from
49778         doc/posix-functions/gethostbyname.texi.
49779         * doc/pastposix-functions/getwd.texi: Renamed from
49780         doc/posix-functions/getwd.texi.
49781         * doc/pastposix-functions/h_errno.texi: Renamed from
49782         doc/posix-functions/h_errno.texi.
49783         * doc/pastposix-functions/index.texi: Renamed from
49784         doc/posix-functions/index.texi.
49785         * doc/pastposix-functions/makecontext.texi: Renamed from
49786         doc/posix-functions/makecontext.texi.
49787         * doc/pastposix-functions/mktemp.texi: Renamed from
49788         doc/posix-functions/mktemp.texi.
49789         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
49790         doc/posix-functions/pthread_attr_getstackaddr.texi.
49791         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
49792         doc/posix-functions/pthread_attr_setstackaddr.texi.
49793         * doc/pastposix-functions/rindex.texi: Renamed from
49794         doc/posix-functions/rindex.texi.
49795         * doc/pastposix-functions/scalb.texi: Renamed from
49796         doc/posix-functions/scalb.texi.
49797         * doc/pastposix-functions/setcontext.texi: Renamed from
49798         doc/posix-functions/setcontext.texi.
49799         * doc/pastposix-functions/swapcontext.texi: Renamed from
49800         doc/posix-functions/swapcontext.texi.
49801         * doc/pastposix-functions/ualarm.texi: Renamed from
49802         doc/posix-functions/ualarm.texi.
49803         * doc/pastposix-functions/usleep.texi: Renamed from
49804         doc/posix-functions/usleep.texi.
49805         * doc/pastposix-functions/vfork.texi: Renamed from
49806         doc/posix-functions/vfork.texi.
49807         * doc/pastposix-functions/wcswcs.texi: Renamed from
49808         doc/posix-functions/wcswcs.texi.
49809         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
49810         (Function Substitutes): Update.
49811
49812 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49813
49814         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
49815         m4/strerror.m4.
49816
49817 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49818             Bruno Haible  <bruno@clisp.org>
49819
49820         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
49821
49822 2008-12-13  Bruno Haible  <bruno@clisp.org>
49823
49824         * modules/strtoull (Depends-on): Remove unistd.
49825
49826 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49827
49828         * modules/strtoull (Depends-on): Add stdlib.
49829
49830 2008-12-11  Simon Josefsson  <simon@josefsson.org>
49831
49832         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
49833
49834 2008-12-10  Jim Meyering  <meyering@redhat.com>
49835
49836         gl_ASSERT: don't say assertions are disabled when they're not
49837         * m4/assert.m4 (gl_ASSERT): Do not make configure report
49838         "checking whether to enable assertions... no", when they are in
49839         fact enabled.  This is solely a bug in the output of configure.
49840         In spite of saying "no", NDEBUG was not defined in that case.
49841         Also, as noted by Eric Blake, leave assertions enabled upon
49842         --enable-assert=INVALID.
49843
49844 2008-12-10  Bruno Haible  <bruno@clisp.org>
49845
49846         Change MODULES.html to refer to POSIX:2008 where possible.
49847         * MODULES.html.sh (POSIX2008_URL): New variable.
49848         (posix_headers): Remove sys/timeb, ucontext.
49849         (posix2001_headers): New variable.
49850         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
49851         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
49852         index, makecontext, mktemp, pthread_attr_getstackaddr,
49853         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
49854         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
49855         (posix2001_functions): New variable.
49856         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
49857         otherwise.
49858
49859 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49860
49861         add missing include to parse-duration.c
49862         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
49863         * modules/parse-duration (Depends-on): Add xalloc.
49864
49865         fix sed script reading maint.mk
49866         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
49867         (syntax-check-rules): Use it.
49868
49869 2008-12-09  Bruno Haible  <bruno@clisp.org>
49870
49871         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
49872         MacOS X 10.4/PowerPC.
49873         Reported by Simon Josefsson.
49874
49875 2008-12-08  Jim Meyering  <meyering@redhat.com>
49876
49877         work around mingw's lack of some S_IF definitions
49878         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
49879         Reported by Simon Josefsson.
49880
49881 2008-12-08  Bruno Haible  <bruno@clisp.org>
49882
49883         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
49884         applied to variables. Needed on MacOS X 10.4/PowerPC.
49885         Reported by Simon Josefsson.
49886
49887 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
49888         and Eric Blake  <ebb9@byu.net>
49889
49890         assert: honor --enable-assert
49891         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
49892         order to honor --enable-assert, rather than treating it as a
49893         synonym for --disable-assert.
49894
49895 2008-12-08  Jim Meyering  <meyering@redhat.com>
49896
49897         * lib/posixtm.c: Remove now-useless declaration of mktime.
49898
49899         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
49900
49901 2008-12-07  Bruno Haible  <bruno@clisp.org>
49902
49903         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
49904         test_once): Mark functions as static.
49905         * tests/test-tls.c (test_tls): Likewise.
49906
49907 2008-12-07  Bruno Haible  <bruno@clisp.org>
49908
49909         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
49910         iconv_register_autodetect.
49911
49912 2008-12-07  Jim Meyering  <meyering@redhat.com>
49913
49914         posixtm.c: avoid a warning
49915         * lib/posixtm.c (posixtime): Don't initialize tm0.
49916         It's no longer needed to placate gcc4's -Wuninitialized,
49917         and the attempt to placate would elicit a new warning.
49918
49919         unicodeio.c: mark unused parameters
49920         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49921         (fallback_failure_callback): Likewise.
49922
49923 2008-12-07  Bruno Haible  <bruno@clisp.org>
49924
49925         * gnulib-tool (func_create_testdir): When building the tests
49926         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
49927         Reported by Simon Josefsson.
49928
49929 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49930
49931         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
49932
49933 2008-12-06  Bruno Haible  <bruno@clisp.org>
49934
49935         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
49936         Suggested by Eric Blake.
49937
49938 2008-12-06  Bruno Haible  <bruno@clisp.org>
49939
49940         Fix a c-stack test failure on MacOS X.
49941         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
49942         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
49943         handler for SIGBUS as well.
49944         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
49945         install a signal handler for SIGBUS as well.
49946         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
49947
49948 2008-12-06  Bruno Haible  <bruno@clisp.org>
49949
49950         Advocacy documentation.
49951         * doc/gnulib-intro.texi (Benefits): New section.
49952         * doc/gnulib.texi: Update.
49953
49954 2008-12-06  Bruno Haible  <bruno@clisp.org>
49955
49956         Document the 'manywarnings' module.
49957         * doc/manywarnings.texi: New file.
49958         * doc/gnulib.texi: Include it.
49959
49960 2008-12-05  Eric Blake  <ebb9@byu.net>
49961
49962         tests: silence some gcc warnings
49963         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
49964         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
49965         type mismatches.
49966
49967 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49968             Bruno Haible  <bruno@clisp.org>
49969
49970         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
49971
49972 2008-11-29  Jim Meyering  <meyering@redhat.com>
49973
49974         unicodeio.c: mark unused parameters
49975         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
49976         (fallback_failure_callback): Likewise.
49977
49978         fts: fix a thinko
49979         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
49980         (set_stat_type): Return S_IF*-valued "type" directly.
49981         Prompted by James Youngman's spotting a related bug.
49982         Confirmed by further testing through find.
49983
49984         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
49985         * lib/fts.c (D_TYPE): Define.
49986         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
49987         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
49988         (s_ifmt_shift_bits): New function.
49989         (set_stat_type): New function.
49990         (fts_build): When not calling fts_stat, call set_stat_type
49991         to propagate dirent.d_type info to fts_read caller.
49992         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
49993         fts_statp->st_mode type information may be valid.
49994
49995 2008-11-28  Simon Josefsson  <simon@josefsson.org>
49996
49997         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
49998         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
49999         <sds@gnu.org>.
50000
50001 2008-11-20  Bruno Haible  <bruno@clisp.org>
50002
50003         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
50004         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
50005         INCLUDE_NEXT.
50006         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
50007         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
50008         * modules/math (Makefile.am): Substitute
50009         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
50010         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50011
50012 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
50013             Bruno Haible  <bruno@clisp.org>
50014
50015         * lib/stdint.in.h: Define all type macros so that their expansion is
50016         a single typedef'ed token. Fixes a compilation failure in Boost which
50017         does "using ::int8_t;".
50018
50019 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50020
50021         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
50022         gl_MANYWARN_ALL_GCC.
50023         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
50024         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
50025         * modules/manywarnings: New file.
50026         * MODULES.html.sh: Mention manywarnings module.
50027
50028 2008-11-18  Bruno Haible  <bruno@clisp.org>
50029
50030         * doc/gnulib-tool.texi (Unit tests): New section.
50031
50032 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50033
50034         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
50035         paths like 'lib/po/foo.po'.
50036
50037 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50038
50039         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
50040         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
50041
50042 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50043
50044         * m4/warnings.m4: Use CPPFLAGS to really check whether the
50045         parameter works.
50046
50047 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50048
50049         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
50050
50051 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50052
50053         * modules/parse-duration-tests: New file.
50054         * tests/test-parse-duration.sh: New file.
50055         * tests/test-parse-duration.c: New file.
50056
50057         New module 'parse-duration'.
50058         * lib/parse-duration.h: New file.
50059         * lib/parse-duration.c: New file.
50060         * modules/parse-duration: New file.
50061
50062 2008-11-17  Bruno Haible  <bruno@clisp.org>
50063
50064         * tests/test-select-out.sh: Comment out the first pipe test.
50065         Reported by Simon Josefsson.
50066
50067 2008-11-17  Bruno Haible  <bruno@clisp.org>
50068
50069         * modules/getaddrinfo (Depends-on): Add servent, hostent.
50070         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
50071         gl_HOSTENT.
50072
50073 2008-11-17  Bruno Haible  <bruno@clisp.org>
50074
50075         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
50076         -lnetwork and -lnet. Needed for Haiku and BeOS.
50077
50078 2008-11-16  Bruno Haible  <bruno@clisp.org>
50079
50080         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
50081
50082 2008-11-16  Bruno Haible  <bruno@clisp.org>
50083
50084         Avoid test failure on Haiku.
50085         * tests/test-fsync.c: Include <errno.h>.
50086         (main): Don't require that fsync (0) fails.
50087
50088 2008-11-15  Bruno Haible  <bruno@clisp.org>
50089
50090         New module 'hostent'.
50091         * modules/hostent: New file.
50092         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
50093
50094 2008-11-15  Bruno Haible  <bruno@clisp.org>
50095
50096         New module 'servent'.
50097         * modules/servent: New file.
50098         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
50099
50100 2008-11-15  Bruno Haible  <bruno@clisp.org>
50101
50102         Avoid generating same test program with two different rules.
50103         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
50104         test-frexp to test-frexp-nolibm.
50105         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
50106         test-frexpl to test-frexpl-nolibm.
50107
50108 2008-11-15  Bruno Haible  <bruno@clisp.org>
50109
50110         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
50111         $(FREXPL_LIBM).
50112
50113 2008-11-15  Bruno Haible  <bruno@clisp.org>
50114
50115         * lib/netdb.in.h: Activate the definitions also when the system's
50116         <netdb.h> has 'struct addrinfo'.
50117         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
50118         EAI_OVERFLOW or AI_NUMERICSERV.
50119         * doc/posix-headers/netdb.texi: Document the problem.
50120
50121 2008-11-15  Bruno Haible  <bruno@clisp.org>
50122
50123         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
50124
50125         Make the 'sched' module work on platforms where <sched.h> exists but
50126         is incomplete (such as Haiku).
50127         * lib/sched.in.h; Include the system's <sched.h> if it exists.
50128         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
50129         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
50130         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
50131         HAVE_STRUCT_SCHED_PARAM.
50132         * modules/sched (Depends-on): Add include_next.
50133         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
50134         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
50135         * doc/posix-headers/sched.texi: Document the issue.
50136
50137 2008-11-13  Jim Meyering  <meyering@redhat.com>
50138
50139         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
50140         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
50141         test would fail due to the difference in the Report bugs to ...
50142         line.  The expected address is empty, "<>", while the actual
50143         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
50144
50145 2008-11-12  Bruno Haible  <bruno@clisp.org>
50146
50147         lstat: don't compile lstat.c on systems lacking lstat
50148         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
50149         which don't have lstat; this is handled by lib/sys_stat.in.h already.
50150         Reported by Daniel P. Berrange via Jim Meyering.
50151
50152 2008-11-12  Jim Meyering  <meyering@redhat.com>
50153
50154         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
50155
50156 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50157
50158         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
50159         instead.
50160
50161 2008-11-12  Bruno Haible  <bruno@clisp.org>
50162
50163         * lib/unicodeio.c: Include unistr.h.
50164         (utf8_wctomb): Remove function.
50165         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
50166
50167 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50168
50169         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
50170         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
50171         <bruno@clisp.org>.
50172         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
50173
50174 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50175
50176         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
50177         * doc/gnulib.texi: Add section for warnings.
50178
50179 2008-11-11  Bruno Haible  <bruno@clisp.org>
50180
50181         * lib/sockets.h: Add a comment.
50182
50183 2008-11-11  Karl Berry  <karl@gnu.org>
50184
50185         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
50186
50187 2008-11-11  Eric Blake  <ebb9@byu.net>
50188
50189         fdl.texi: avoid git symlinks
50190         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
50191
50192 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50193
50194         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
50195
50196 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50197
50198         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
50199         (gl_WARN_ADD): Substitute $2 if literal.
50200
50201 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50202
50203         * m4/warning.m4: Remove.
50204
50205 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
50206
50207         * m4/warnings.m4: Almost complete rewrite. :-)
50208
50209 2008-11-10  Simon Josefsson  <simon@josefsson.org>
50210
50211         * modules/warnings: New module.
50212         * m4/warnings.m4: New file.
50213         * MODULES.html.sh: Mention warnings module.
50214         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
50215         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50216
50217 2008-11-10  Eric Blake  <ebb9@byu.net>
50218
50219         fdl.texi: make a symlink to the latest version
50220         * doc/standards.texi: Revert today's earlier change.
50221         * doc/fdl-1.2.texi: Rename from old fdl.texi...
50222         * doc/fdl.texi: ...and replace this with a symlink to the newer
50223         fdl-1.3.texi.
50224
50225 2008-11-10  Bruno Haible  <bruno@clisp.org>
50226
50227         * tests/test-select-fd.c (main): Accept the result file name as fourth
50228         argument.
50229         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
50230         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
50231
50232 2008-11-10  Bruno Haible  <bruno@clisp.org>
50233
50234         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
50235         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
50236         as autoconf-substituted macros.
50237         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
50238         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
50239         gl_NETDB_H_DEFAULTS. Set these variables.
50240         * modules/netdb (Makefile.am): Substitute these variables.
50241
50242 2008-11-10  Eric Blake  <ebb9@byu.net>
50243
50244         standards.texi: include correct file for FDL 1.3
50245         * doc/standards.texi (GNU Free Documentation License): Change
50246         include file to pull in FDL 1.3, not 1.2.
50247
50248         fdl.texi: revert accidental change to license
50249         * doc/fdl.texi: This is FDL 1.2, not 1.3.
50250
50251 2008-11-10  Bruno Haible  <bruno@clisp.org>
50252
50253         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
50254         cross-compiling guesses also when the native compile gives no result.
50255
50256 2008-11-10  Bruno Haible  <bruno@clisp.org>
50257
50258         * lib/spawni.c (__spawni): Force variable into the stack.
50259
50260 2008-11-10  Bruno Haible  <bruno@clisp.org>
50261
50262         Add support for Haiku.
50263         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
50264         glibc and BeOS, but also on Haiku.
50265         * lib/fpurge.c (fpurge): Likewise.
50266         * lib/freadable.c (freadable): Likewise.
50267         * lib/freadahead.c (freadahead): Likewise.
50268         * lib/freading.c (freading): Likewise.
50269         * lib/freadptr.c (freadptr): Likewise.
50270         * lib/freadseek.c (freadptrinc): Likewise.
50271         * lib/fseeko.c (rpl_fseeko): Likewise.
50272         * lib/fseterr.c (fseterr): Likewise.
50273         * lib/fwritable.c (fwritable): Likewise.
50274         * lib/fwriting.c (fwriting): Likewise.
50275         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
50276
50277 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50278
50279         * lib/config.charset: Treat Haiku like BeOS.
50280
50281 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
50282
50283         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
50284         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
50285
50286 2008-11-08  Bruno Haible  <bruno@clisp.org>
50287
50288         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
50289         AC_CACHE_CHECK.
50290
50291 2008-11-08  Bruno Haible  <bruno@clisp.org>
50292
50293         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
50294
50295 2008-11-08  Bruno Haible  <bruno@clisp.org>
50296
50297         * tests/test-select-fd.c: New file.
50298         * tests/test-select-in.sh: New file.
50299         * tests/test-select-out.sh: New file.
50300         * tests/test-select-stdin.c: New file.
50301         * modules/select-tests (Files): Add the new files.
50302         (Depends-on): Add gettimeofday.
50303         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
50304         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
50305         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
50306
50307 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
50308             Bruno Haible  <bruno@clisp.org>
50309
50310         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
50311
50312 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
50313
50314         * build-aux/pmccabe2html: Added support for C++ source files.
50315
50316 2008-11-05  Ben Pfaff  <blp@gnu.org>
50317
50318         Fix lib/close.c build on Windows.
50319         * modules/close (Files): Add lib/w32sock.h.
50320
50321 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
50322
50323         Accept Bison's NEWS format.
50324         * build-aux/announce-gen (print_news_deltas): Tweak
50325         $re_prefix.
50326
50327 2008-11-04  Bruno Haible  <bruno@clisp.org>
50328
50329         * modules/random_r (Maintainer): Add glibc.
50330
50331 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50332
50333         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
50334         by karl@freefriends.org (Karl Berry).
50335         * doc/alloca.texi: Likewise.
50336         * doc/c-ctype.texi: Likewise.
50337         * doc/c-strcase.texi: Likewise.
50338         * doc/c-strcaseeq.texi: Likewise.
50339         * doc/c-strcasestr.texi: Likewise.
50340         * doc/c-strstr.texi: Likewise.
50341         * doc/c-strtod.texi: Likewise.
50342         * doc/c-strtold.texi: Likewise.
50343         * doc/ctime.texi: Likewise.
50344         * doc/error.texi: Likewise.
50345         * doc/fdl.texi: Likewise.
50346         * doc/gcd.texi: Likewise.
50347         * doc/getdate.texi: Likewise.
50348         * doc/gnulib-intro.texi: Likewise.
50349         * doc/gnulib-tool.texi: Likewise.
50350         * doc/gnulib.texi: Likewise.
50351         * doc/inet_ntoa.texi: Likewise.
50352         * doc/maintain.texi: Likewise.
50353         * doc/make-stds.texi: Likewise.
50354         * doc/quote.texi: Likewise.
50355         * doc/regexprops-generic.texi: Likewise.
50356         * doc/standards.texi: Likewise.
50357         * doc/verify.texi: Likewise.
50358         * doc/visibility.texi: Likewise.
50359         * doc/gnulib.texi (GNU Free Documentation License): Include
50360         fdl-1.3.texi instead of fdl.texi.
50361
50362 2008-11-04  Simon Josefsson  <simon@josefsson.org>
50363
50364         * doc/fdl-1.3.texi: New file, from
50365         <http://www.gnu.org/licenses/fdl-1.3.texi>.
50366         * modules/fdl-1.3: Add.
50367         * MODULES.html.sh: Add fdl-1.3.
50368
50369 2008-11-03  Bruno Haible  <bruno@clisp.org>
50370
50371         Make determination of absolute name of header file work with AIX xlc.
50372         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
50373         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
50374         preprocessing.
50375         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
50376         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
50377
50378 2008-11-03  Simon Josefsson  <simon@josefsson.org>
50379
50380         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
50381         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
50382         <ludo@gnu.org>.
50383
50384 2008-11-02  Bruno Haible  <bruno@clisp.org>
50385
50386         Mark 'strpbrk' obsolete.
50387         * modules/strpbrk (Status, Notice): New sections.
50388         * modules/strtok_r (Depends-on): Add strpbrk.
50389
50390 2008-11-02  Bruno Haible  <bruno@clisp.org>
50391
50392         Mark 'strdup' obsolete.
50393         * modules/strdup (Status, Notice): New sections.
50394         * modules/findprog (Depends-on): Add strdup.
50395         * modules/getaddrinfo (Depends-on): Likewise.
50396         * modules/localename (Depends-on): Likewise.
50397         * modules/relocatable-lib (Depends-on): Likewise.
50398         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
50399         * modules/relocatable-prog (Depends-on): Likewise.
50400         * modules/trim (Depends-on): Likewise.
50401         * modules/unictype/gen-ctype (Depends-on): Likewise.
50402         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50403
50404 2008-11-02  Bruno Haible  <bruno@clisp.org>
50405
50406         Mark 'strcspn' obsolete.
50407         * modules/strcspn (Status, Notice): New sections.
50408
50409 2008-11-02  Bruno Haible  <bruno@clisp.org>
50410
50411         Mark 'rmdir' obsolete.
50412         * modules/rmdir (Status, Notice): New sections.
50413         * modules/clean-temp (Depends-on): Add rmdir.
50414         * modules/openat (Depends-on): Likewise.
50415
50416 2008-11-02  Bruno Haible  <bruno@clisp.org>
50417
50418         Mark 'raise' obsolete.
50419         * modules/raise (Status, Notice): New sections.
50420         (Include): Specify <signal.h>.
50421         * modules/stdio (Depends-on): Add raise.
50422         * modules/write (Depends-on): Likewise.
50423
50424 2008-11-02  Bruno Haible  <bruno@clisp.org>
50425
50426         Mark 'memset' obsolete.
50427         * modules/memset (Status, Notice): New sections.
50428
50429 2008-11-02  Bruno Haible  <bruno@clisp.org>
50430
50431         Mark 'memmove' obsolete.
50432         * modules/memmove (Status, Notice): New sections.
50433         * modules/argp (Depends-on): Add memmove.
50434         * modules/argz (Depends-on): Likewise.
50435         * modules/canonicalize (Depends-on): Likewise.
50436         * modules/canonicalize-lgpl (Depends-on): Likewise.
50437         * modules/fts (Depends-on): Likewise.
50438         * modules/getcwd (Depends-on): Likewise.
50439         * modules/human (Depends-on): Likewise.
50440         * modules/regex (Depends-on): Likewise.
50441         * modules/striconveh (Depends-on): Likewise.
50442         * modules/trim (Depends-on): Likewise.
50443         * modules/unistr/u8-move (Depends-on): Likewise.
50444         * modules/unistr/u16-move (Depends-on): Likewise.
50445         * modules/unistr/u32-move (Depends-on): Likewise.
50446
50447 2008-11-02  Bruno Haible  <bruno@clisp.org>
50448
50449         Mark 'memcpy' obsolete.
50450         * modules/memcpy (Status, Notice): New sections.
50451
50452 2008-11-02  Bruno Haible  <bruno@clisp.org>
50453
50454         Mark 'memcmp' obsolete.
50455         * modules/memcmp (Status, Notice): New sections.
50456         * modules/argmatch (Depends-on): Add memchr.
50457         * modules/backupfile (Depends-on): Likewise.
50458         * modules/c-strcasestr (Depends-on): Likewise.
50459         * modules/crypto/des (Depends-on): Likewise.
50460         * modules/csharpcomp (Depends-on): Likewise.
50461         * modules/fnmatch (Depends-on): Likewise.
50462         * modules/git-merge-changelog (Depends-on): Likewise.
50463         * modules/isnand (Depends-on): Likewise.
50464         * modules/isnand-nolibm (Depends-on): Likewise.
50465         * modules/isnanf (Depends-on): Likewise.
50466         * modules/isnanf-nolibm (Depends-on): Likewise.
50467         * modules/isnanl (Depends-on): Likewise.
50468         * modules/isnanl-nolibm (Depends-on): Likewise.
50469         * modules/mbchar (Depends-on): Likewise.
50470         * modules/memcoll (Depends-on): Likewise.
50471         * modules/quotearg (Depends-on): Likewise.
50472         * modules/regex (Depends-on): Likewise.
50473         * modules/relocatable-prog (Depends-on): Likewise.
50474         * modules/same (Depends-on): Likewise.
50475         * modules/signbit (Depends-on): Likewise.
50476         * modules/strcasestr-simple (Depends-on): Likewise.
50477         * modules/unictype/gen-ctype (Depends-on): Likewise.
50478         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
50479         * modules/uniname/uniname (Depends-on): Likewise.
50480         * modules/unistr/u8-cmp (Depends-on): Likewise.
50481
50482 2008-11-02  Bruno Haible  <bruno@clisp.org>
50483
50484         Mark 'memchr' obsolete.
50485         * modules/memchr (Status, Notice): New sections.
50486         * modules/argp (Depends-on): Add memchr.
50487         * modules/base64 (Depends-on): Likewise.
50488         * modules/c-strcasestr (Depends-on): Likewise.
50489         * modules/chdir-long (Depends-on): Likewise.
50490         * modules/fnmatch (Depends-on): Likewise.
50491         * modules/getsubopt (Depends-on): Likewise.
50492         * modules/git-merge-changelog (Depends-on): Likewise.
50493         * modules/glob (Depends-on): Likewise.
50494         * modules/strcasestr-simple (Depends-on): Likewise.
50495         * modules/strnlen (Depends-on): Likewise.
50496
50497 2008-11-02  Bruno Haible  <bruno@clisp.org>
50498
50499         Mark 'atexit' obsolete.
50500         * modules/atexit (Status, Notice): New sections.
50501         * modules/chdir-long (Depends-on): Add atexit.
50502         * modules/wait-process (Depends-on): Likewise.
50503
50504 2008-11-02  Bruno Haible  <bruno@clisp.org>
50505
50506         * gnulib-tool: New option --with-obsolete.
50507         (func_usage): Document it.
50508         (func_modules_transitive_closure): Drop obsolete dependencies if
50509         incobsolete is not true.
50510         (func_import): Read and save the incobsolete variable to the cache.
50511
50512 2008-11-02  Bruno Haible  <bruno@clisp.org>
50513
50514         * modules/TEMPLATE-EXTENDED: New field 'Status'.
50515         * gnulib-tool: New option --extract-status.
50516         (func_usage): Document it.
50517         (sed_extract_prog): Recognize it.
50518         (func_get_status): New function.
50519
50520 2008-10-30  Simon Josefsson  <simon@josefsson.org>
50521
50522         * modules/sockets (License): Change from LGPL to LGPLv2+.
50523
50524 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50525
50526         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
50527
50528 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50529
50530         * MODULES.html.sh (Support for systems lacking POSIX:2001):
50531         Mention times and sys_times.
50532         * modules/sys_times, modules/sys_times-tests: New modules.
50533         * modules/times, modules/times-tests: Likewise
50534         * m4/sys_times_h.m4: New file.
50535         * lib/sys_times.in.h: Likewise
50536         * lib/times.c: Likewise.
50537         * tests/test-sys_times.c: Likewise.
50538         * tests/test-times.c: Likewise.
50539         * doc/posix-headers/sys_times.texi: Update.
50540         * doc/posix-functions/times.texi: Update.
50541
50542 2008-10-28  Jim Meyering  <meyering@redhat.com>
50543
50544         * modules/tempname (Depends-on): Add lstat.
50545
50546         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
50547
50548 2008-10-28  Simon Josefsson  <simon@josefsson.org>
50549
50550         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
50551         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
50552         using idiom used elsewhere in gnulib.
50553
50554 2008-10-27  Jim Meyering  <meyering@redhat.com>
50555
50556         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
50557
50558 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50559
50560         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
50561         TESTS_ENVIRONMENT, for shell scripts that needs to call built
50562         programs.
50563         * tests/test-argp-2.sh: Use $EXEEXT when needed.
50564
50565 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50566
50567         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
50568
50569 2008-10-27  Bruno Haible  <bruno@clisp.org>
50570
50571         * tests/test-lstat.c: Include <stdio.h>.
50572
50573 2008-10-27  Simon Josefsson  <simon@josefsson.org>
50574
50575         * modules/lstat-tests: New module.
50576         * tests/test-lstat.c: New file.
50577
50578 2008-10-26  Jim Meyering  <meyering@redhat.com>
50579
50580         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
50581
50582 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50583             Bruno Haible  <bruno@clisp.org>
50584
50585         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
50586         * modules/configmake (Include): Add a note that the include must come
50587         after all system headers.
50588         * lib/javaversion.c: Include configmake.h after all other includes.
50589
50590 2008-10-26  Bruno Haible  <bruno@clisp.org>
50591
50592         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
50593         HAVE_STRUCT_RANDOM_DATA to 1.
50594         (gl_STDLIB_H): Simplify.
50595
50596 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50597
50598         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
50599         substitute HAVE_STRUCT_RANDOM_DATA.
50600         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
50601         random_data.
50602         * modules/stdlib (Makefile.am): Substitute
50603         HAVE_STRUCT_RANDOM_DATA.
50604
50605 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50606
50607         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
50608         * doc/gnulib-intro.texi (Copyright): Likewise.
50609
50610 2008-10-26  Simon Josefsson  <simon@josefsson.org>
50611
50612         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
50613         findings.
50614
50615 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
50616             Bruno Haible  <bruno@clisp.org>
50617
50618         * lib/unistd.in.h: Include <winsock2.h>.
50619         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
50620         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
50621         Provide dummy declarations.
50622         (gethostname): Override.
50623         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
50624         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
50625         gl_PREREQ_SYS_H_WINSOCK2.
50626         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
50627         * doc/posix-functions/gethostname.texi: More details.
50628
50629 2008-10-25  Bruno Haible  <bruno@clisp.org>
50630
50631         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50632         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
50633         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
50634
50635         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
50636         here ...
50637         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
50638         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
50639         gl_UNISTD_H_DEFAULTS.
50640
50641 2008-10-25  Eric Blake  <ebb9@byu.net>
50642
50643         signbit: avoid spurious compiler failure
50644         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
50645         declarations inside function.
50646
50647 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50648             Bruno Haible  <bruno@clisp.org>
50649
50650         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
50651         * modules/random_r (Depends-on): Add stdint.
50652
50653 2008-10-24  Bruno Haible  <bruno@clisp.org>
50654
50655         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
50656         Eggert.
50657         * modules/strerror (License): Likewise.
50658
50659 2008-10-24  Jim Meyering  <meyering@redhat.com>
50660
50661         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
50662         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
50663
50664 2008-10-24  Eric Blake  <ebb9@byu.net>
50665
50666         getgroups: fix compilation when getgroups is available
50667         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
50668         but with <config.h> override of getgroups disabled.
50669
50670 2008-10-24  Simon Josefsson  <simon@josefsson.org>
50671
50672         * doc/gnulib.texi (Header files): Add note about C++ problems.
50673         Explained by Bruno Haible <bruno@clisp.org>.
50674
50675 2008-10-23  Bruno Haible  <bruno@clisp.org>
50676
50677         Define a dummy SA_NODEFER macro on Interix.
50678         * lib/signal.in.h (SA_NODEFER): Define fallback.
50679         Reported by Aleksey Cheusov <cheusov@tut.by> via
50680         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
50681
50682 2008-10-23  Bruno Haible  <bruno@clisp.org>
50683
50684         * modules/freadahead (License): Change to LGPLv2+.
50685         Suggested by Simon Josefsson.
50686
50687 2008-10-23  Jim Meyering  <meyering@redhat.com>
50688
50689         random_r: new module
50690         * modules/random_r: New file.
50691         * m4/random_r.m4: New file.
50692         * lib/random_r.c: New file, from glibc.
50693         * modules/random_r-tests: New file.
50694         * tests/test-random_r.c: New file.
50695         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
50696          Declare.
50697         (RAND_MAX): Define.
50698         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
50699         * modules/stdlib: Substitute them, too.
50700         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
50701         * doc/glibc-functions/initstate_r.texi: Mention the new module.
50702         * doc/glibc-functions/random_r.texi: Likewise.
50703         * doc/glibc-functions/setstate_r.texi: Likewise.
50704         * doc/glibc-functions/srandom_r.texi: Likewise.
50705         * config/srclist.txt: Mention it.
50706
50707 2008-10-23  David Lutterkort  <lutter@redhat.com>
50708
50709         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
50710         link requirement
50711
50712 2008-10-23  Jim Meyering  <meyering@redhat.com>
50713
50714         selinux-h: mark parameters of stub functions as intentionally unused
50715         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
50716         * lib/se-context.in.h: Likewise.
50717
50718 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50719
50720         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
50721
50722 2008-10-22  Simon Josefsson  <simon@josefsson.org>
50723
50724         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
50725
50726 2008-10-22  Eric Blake  <ebb9@byu.net>
50727
50728         glthread/thread: avoid compiler warning
50729         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
50730         Add unreachable abort to silence compiler.
50731
50732 2008-10-22  Eric Blake  <ebb9@byu.net>
50733
50734         netdb: also supply struct addrinfo for cygwin 1.5.x
50735         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
50736         older cygwin.
50737         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
50738         cygwin.
50739         * doc/posix-headers/netdb.texi (netdb.h): Document this.
50740
50741 2008-10-22  Bruno Haible  <bruno@clisp.org>
50742
50743         * users.txt: Update entry about pspp.
50744
50745 2008-10-21  Bruno Haible  <bruno@clisp.org>
50746
50747         Simplification.
50748         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
50749         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
50750
50751         Simplification.
50752         * lib/ioctl.c (ioctl): Don't undefine.
50753         * lib/socket.c (socket): Don't undefine.
50754
50755         Remove unused module indicator macros.
50756         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
50757         GNULIB_$1 as a C macro.
50758
50759         * doc/posix-functions/close.texi: Undo last change.
50760         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
50761         Windows platforms.
50762
50763 2008-10-21  Bruno Haible  <bruno@clisp.org>
50764
50765         Add gethostname() declaration to <unistd.h>.
50766         * lib/unistd.in.h (gethostname): New declaration.
50767         * lib/gethostname.c: Include <unistd.h>.
50768         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
50769         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
50770         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
50771         and HAVE_GETHOSTNAME.
50772         * modules/gethostname (Depends-on): Add unistd.
50773         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50774         (Include): Specify <unistd.h>.
50775         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
50776         HAVE_GETHOSTNAME.
50777         * tests/test-gethostname.c: Include <unistd.h> first.
50778
50779 2008-10-21  Bruno Haible  <bruno@clisp.org>
50780
50781         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
50782         * modules/select-tests (Depends-on): Likewise.
50783         Reported by Simon Josefsson.
50784
50785 2008-10-21  Simon Josefsson  <simon@josefsson.org>
50786
50787         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
50788         * lib/accept.c: New file, based on winsock.c.
50789         * lib/bind.c: New file, based on winsock.c.
50790         * lib/connect.c: New file, based on winsock.c.
50791         * lib/getpeername.c: New file, based on winsock.c.
50792         * lib/getsockname.c: New file, based on winsock.c.
50793         * lib/getsockopt.c: New file, based on winsock.c.
50794         * lib/ioctl.c: New file, based on winsock.c.
50795         * lib/listen.c: New file, based on winsock.c.
50796         * lib/recv.c: New file, based on winsock.c.
50797         * lib/recvfrom.c: New file, based on winsock.c.
50798         * lib/send.c: New file, based on winsock.c.
50799         * lib/sendto.c: New file, based on winsock.c.
50800         * lib/setsockopt.c: New file, based on winsock.c.
50801         * lib/shutdown.c: New file, based on winsock.c.
50802         * lib/socket.c: New file, based on winsock.c.
50803         * lib/w32sock.h: New file, based on winsock.c.
50804         * lib/winsock.c: Remove file.
50805         * modules/accept: Likewise.
50806         * modules/bind: Likewise.
50807         * modules/connect: Likewise.
50808         * modules/getpeername: Likewise.
50809         * modules/getsockname: Likewise.
50810         * modules/getsockopt: Likewise.
50811         * modules/ioctl: Likewise.
50812         * modules/listen: Likewise.
50813         * modules/recv: Likewise.
50814         * modules/recvfrom: Likewise.
50815         * modules/send: Likewise.
50816         * modules/sendto: Likewise.
50817         * modules/setsockopt: Likewise.
50818         * modules/shutdown: Likewise.
50819         * modules/socket: Use socket.c instead of winsock.c.
50820         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
50821         * doc/posix-functions/accept.texi: Doc fix.
50822         * doc/posix-functions/bind.texi: Doc fix.
50823         * doc/posix-functions/close.texi: Doc fix.
50824         * doc/posix-functions/connect.texi: Doc fix.
50825         * doc/posix-functions/getpeername.texi: Doc fix.
50826         * doc/posix-functions/getsockname.texi: Doc fix.
50827         * doc/posix-functions/getsockopt.texi: Doc fix.
50828         * doc/posix-functions/ioctl.texi: Doc fix.
50829         * doc/posix-functions/listen.texi: Doc fix.
50830         * doc/posix-functions/recv.texi: Doc fix.
50831         * doc/posix-functions/recvfrom.texi: Doc fix.
50832         * doc/posix-functions/send.texi: Doc fix.
50833         * doc/posix-functions/sendto.texi: Doc fix.
50834         * doc/posix-functions/setsockopt.texi: Doc fix.
50835         * doc/posix-functions/shutdown.texi: Doc fix.
50836         * doc/posix-functions/socket.texi: Doc fix.
50837
50838 2008-10-20  Bruno Haible  <bruno@clisp.org>
50839
50840         Take into account the role of SIGABRT_COMPAT on Windows 2008.
50841         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
50842         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
50843         as an alias for SIGABRT.
50844         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
50845         (sigaction): Map it to SIGABRT.
50846         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
50847
50848 2008-10-20  Bruno Haible  <bruno@clisp.org>
50849
50850         * lib/fts.c: Don't include lstat.h.
50851         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
50852
50853         Move the lstat() declaration to <sys/stat.h>.
50854         * lib/lstat.h: Remove file.
50855         * lib/sys_stat.in.h: Add special invocation convention.
50856         (lstat): New declaration.
50857         * lib/lstat.c (orig_lstat): New function.
50858         (rpl_lstat): Use orig_lstat instead of lstat.
50859         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
50860         AC_C_INLINE. Set REPLACE_LSTAT.
50861         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
50862         and REPLACE_LSTAT.
50863         * modules/lstat (Files): Remove lib/lstat.h.
50864         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
50865         (Include): Specify <sys/stat.h> instead of lstat.h.
50866         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
50867         REPLACE_LSTAT.
50868         * NEWS: Mention the change.
50869
50870 2008-10-20  Bruno Haible  <bruno@clisp.org>
50871
50872         * modules/posix_spawn-tests: New file.
50873         * tests/test-posix_spawn3.c: New file.
50874
50875 2008-10-20  Bruno Haible  <bruno@clisp.org>
50876
50877         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
50878         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50879         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
50880         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
50881         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
50882
50883 2008-10-20  Bruno Haible  <bruno@clisp.org>
50884
50885         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
50886         of posix_spawn on AIX 5.3.
50887
50888 2008-10-20  Bruno Haible  <bruno@clisp.org>
50889
50890         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
50891
50892 2008-10-20  Bruno Haible  <bruno@clisp.org>
50893
50894         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
50895         of AC_LANG_PROGRAM.
50896
50897 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50898
50899         * lib/netdb.in.h: Don't define GNU specific constants until they
50900         are supported or needed.  Reported by Bruno Haible
50901         <bruno@clisp.org>.
50902
50903 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50904
50905         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
50906
50907 2008-10-20  Simon Josefsson  <simon@josefsson.org>
50908
50909         * lib/getaddrinfo.h: Remove file.
50910         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
50911         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
50912         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
50913         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
50914         * modules/netdb: Substitute GNULIB_GETADDRINFO.
50915         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
50916         * tests/test-getaddrinfo.c: Likewise.
50917         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
50918         * NEWS: Mention change.
50919
50920 2008-10-19  Bruno Haible  <bruno@clisp.org>
50921
50922         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
50923
50924 2008-10-19  Bruno Haible  <bruno@clisp.org>
50925
50926         * lib/wait-process.c: Include simply <sys/wait.h>.
50927         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
50928         WIFSTOPPED): Remove fallback definitions.
50929         * modules/wait-process (Depends-on): Add sys_wait.
50930
50931         New module 'sys_wait'.
50932         * modules/sys_wait: New file.
50933         * lib/sys_wait.in.h: New file, partially copied from
50934         lib/wait-process.c.
50935         * m4/sys_wait_h.m4: New file.
50936         * doc/posix-headers/sys_wait.texi: Mention the new module.
50937
50938 2008-10-19  Bruno Haible  <bruno@clisp.org>
50939
50940         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
50941
50942 2008-10-19  Bruno Haible  <bruno@clisp.org>
50943
50944         Assume that waitpid() fills an 'int' status, not a 'union wait'.
50945         * lib/wait-process.c (WAIT_T): Remove type.
50946         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
50947         (wait_subprocess): Update.
50948
50949 2008-10-19  Bruno Haible  <bruno@clisp.org>
50950
50951         New module 'atoll'.
50952         * modules/atoll: New file.
50953         * lib/stdlib.in.h (atoll): New declaration.
50954         * lib/atoll.c: New file, from glibc with modifications.
50955         * m4/atoll.m4: New file.
50956         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
50957         HAVE_ATOLL.
50958         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
50959         * doc/posix-functions/atoll.texi: Mention the new module.
50960
50961 2008-10-19  Bruno Haible  <bruno@clisp.org>
50962
50963         Add strtoull() declaration to <stdlib.h>.
50964         * lib/stdlib.in.h (strtoull): New declaration.
50965         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50966         Set HAVE_STRTOULL.
50967         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
50968         HAVE_STRTOULL.
50969         * modules/strtoull (Depends-on): Add stdlib.
50970         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50971         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
50972         HAVE_STRTOULL.
50973
50974 2008-10-19  Bruno Haible  <bruno@clisp.org>
50975
50976         Add strtoll() declaration to <stdlib.h>.
50977         * lib/stdlib.in.h (strtoll): New declaration.
50978         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
50979         Set HAVE_STRTOLL.
50980         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
50981         HAVE_STRTOLL.
50982         * modules/strtoll (Depends-on): Add stdlib.
50983         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50984         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
50985
50986 2008-10-19  Bruno Haible  <bruno@clisp.org>
50987
50988         * modules/bcopy (Depends-on): Add strings.
50989         (Include): Specify <strings.h>.
50990
50991 2008-10-19  Bruno Haible  <bruno@clisp.org>
50992
50993         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
50994
50995 2008-10-19  Bruno Haible  <bruno@clisp.org>
50996
50997         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
50998         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
50999         mingw.
51000
51001 2008-10-19  Bruno Haible  <bruno@clisp.org>
51002
51003         * lib/atanl.c: Don't include isnanl.h.
51004         * lib/cosl.c: Likewise.
51005         * lib/ldexpl.c: Likewise.
51006         * lib/logl.c: Likewise.
51007         * lib/sinl.c: Likewise.
51008         * lib/sqrtl.c: Likewise.
51009         * lib/tanl.c: Likewise.
51010
51011         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
51012         * lib/isnanf.h: Remove file.
51013         * lib/isnand.h: Remove file.
51014         * lib/isnanl.h: Remove file.
51015         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
51016         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
51017         macros.
51018         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
51019         HAVE_ISNANF, don't define it as a C macro.
51020         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
51021         HAVE_ISNAND, don't define it as a C macro.
51022         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
51023         HAVE_ISNANL, don't define it as a C macro.
51024         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
51025         HAVE_ISNAN[FDL].
51026         * modules/isnanf (Files): Remove lib/isnanf.h.
51027         (Depends-on): Add math.
51028         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51029         (Include): Specify <math.h> instead of isnanf.h.
51030         * modules/isnand (Files): Remove lib/isnand.h.
51031         (Depends-on): Add math.
51032         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51033         (Include): Specify <math.h> instead of isnand.h.
51034         * modules/isnanl (Files): Remove lib/isnanl.h.
51035         (Depends-on): Add math.
51036         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51037         (Include): Specify <math.h> instead of isnanl.h.
51038         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
51039         HAVE_ISNAN[FDL].
51040         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
51041         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
51042         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
51043         * NEWS: Mention the change.
51044
51045 2008-10-18  Bruno Haible  <bruno@clisp.org>
51046
51047         Add getusershell(), setusershell(), endusershell() declarations to
51048         <unistd.h>.
51049         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
51050         declarations.
51051         * lib/getusershell.c: Include unistd.h.
51052         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
51053         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51054         HAVE_GETUSERSHELL.
51055         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
51056         and HAVE_GETUSERSHELL.
51057         * modules/getusershell (Depends-on): Add unistd, extensions.
51058         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51059         (Include): Specify <unistd.h>.
51060         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
51061         HAVE_GETUSERSHELL.
51062
51063 2008-10-18  Bruno Haible  <bruno@clisp.org>
51064
51065         Add a getloadavg() declaration to <stdlib.h>.
51066         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
51067         getloadavg declaration.
51068         (getloadavg): New declaration.
51069         * lib/getloadavg.c: Include <stdlib.h> first.
51070         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
51071         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
51072         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
51073         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
51074         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51075         * modules/getloadavg (Depends-on): Add stdlib, extensions.
51076         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51077         (Include): Specify <stdlib.h>.
51078         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
51079         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51080
51081 2008-10-18  Bruno Haible  <bruno@clisp.org>
51082
51083         * lib/dirchownmod.c: Don't include lchmod.h.
51084
51085         Move the lchmod() declaration to <sys/stat.h>.
51086         * lib/lchmod.h: Remove file.
51087         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
51088         (lchmod): New declaration, moved here from lib/lchown.h.
51089         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
51090         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
51091         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
51092         and HAVE_LCHMOD.
51093         * modules/lchmod (Files): Remove lib/lchmod.h.
51094         (Depends-on): Add sys_stat, extensions.
51095         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51096         (Include): Specify <sys/stat.h> instead of lchmod.h.
51097         * modules/sys_stat (Depends-on): Add link-warning.
51098         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
51099         definition of GL_LINK_WARNING.
51100         * NEWS: Mention the change.
51101
51102 2008-10-18  Bruno Haible  <bruno@clisp.org>
51103
51104         * lib/fchdir.c: Don't include dirfd.h.
51105         * lib/fts.c: Likewise.
51106         * lib/getcwd.c: Likewise.
51107         * lib/glob.c: Likewise.
51108
51109         Move the dirfd() declaration to <dirent.h>.
51110         * lib/dirfd.h: Remove file.
51111         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
51112         (dirfd): New declaration.
51113         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
51114         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
51115         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
51116         HAVE_DECL_DIRFD.
51117         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
51118         HAVE_DECL_DIRFD.
51119         * modules/dirfd (Files): Remove lib/dirfd.h.
51120         (Depends-on): Add dirent, extensions.
51121         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
51122         (Include): Specify <dirent.h> instead of dirfd.h.
51123         * modules/dirent (Depends-on): Add link-warning.
51124         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
51125         definition of GL_LINK_WARNING.
51126         * NEWS: Mention the change.
51127
51128 2008-10-18  Bruno Haible  <bruno@clisp.org>
51129
51130         Move the euidaccess() declaration to <unistd.h>.
51131         * lib/euidaccess.h: Remove file.
51132         * lib/unistd.in.h (euidaccess): New declaration.
51133         * lib/euidaccess.c: Don't include euidaccess.h.
51134         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
51135         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
51136         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
51137         and HAVE_EUIDACCESS.
51138         * modules/euidaccess (Files): Remove lib/euidaccess.h.
51139         (Depends-on): Add unistd.
51140         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51141         (Include): Specify <unistd.h> instead of euidaccess.h.
51142         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
51143         HAVE_EUIDACCESS.
51144         * NEWS: Mention the change.
51145
51146 2008-10-18  Bruno Haible  <bruno@clisp.org>
51147
51148         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
51149
51150         Move the getdomainname() declaration to <unistd.h>.
51151         * lib/getdomainname.h: Remove file.
51152         * lib/unistd.in.h (getdomainname): New declaration.
51153         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
51154         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
51155         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51156         HAVE_GETDOMAINNAME.
51157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51158         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
51159         * modules/getdomainname (Files): Remove lib/getdomainname.h.
51160         (Depends-on): Add unistd, extensions.
51161         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51162         (Includes): Specify <unistd.h> instead of getdomainname.h.
51163         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
51164         HAVE_GETDOMAINNAME.
51165         * NEWS: Mention the change.
51166
51167 2008-10-18  Bruno Haible  <bruno@clisp.org>
51168
51169         * modules/dirent: New file.
51170         * m4/dirent_h.m4: New file.
51171         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
51172         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
51173         * modules/fchdir (Files): Remove lib/dirent.in.h.
51174         (Depends-on): Add dirent.
51175         (Makefile.am): Move rules to modules/dirent.
51176         * doc/posix-headers/dirent.texi: Mention the new module.
51177
51178 2008-10-18  Bruno Haible  <bruno@clisp.org>
51179
51180         Avoid -Wunused-parameter warnings in public gnulib header files.
51181         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
51182         macro.
51183         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
51184
51185 2008-10-18  Bruno Haible  <bruno@clisp.org>
51186
51187         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
51188         * doc/glibc-functions/error.texi: Mention the module 'error'.
51189         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
51190         * doc/glibc-functions/getdomainname.texi: Mention the module
51191         'getdomainname'.
51192         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
51193         * doc/glibc-functions/getpagesize.texi: Mention the module
51194         'getpagesize'.
51195         * doc/glibc-functions/getusershell.texi: Mention the module
51196         'getusershell'.
51197         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
51198         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
51199         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
51200         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
51201         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
51202         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
51203         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
51204         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
51205         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
51206         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
51207         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
51208         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
51209         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
51210         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
51211
51212 2008-10-17  Bruno Haible  <bruno@clisp.org>
51213
51214         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
51215         HP-UX and IRIX, use -0.0L.
51216         * tests/test-ceill.c (minus_zero): Likewise.
51217         * tests/test-floorl.c (minus_zero): Likewise.
51218         * tests/test-frexpl.c (minus_zero): Likewise.
51219         * tests/test-isnan.c (minus_zerol): Likewise.
51220         * tests/test-isnanl.h (minus_zero): Likewise.
51221         * tests/test-ldexpl.c (minus_zero): Likewise.
51222         * tests/test-roundl.c (minus_zero): Likewise.
51223         * tests/test-signbit.c (minus_zerol): Likewise.
51224         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51225         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51226         * tests/test-truncl.c (minus_zero): Likewise.
51227         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51228         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51229         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
51230         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
51231
51232 2008-10-17  Bruno Haible  <bruno@clisp.org>
51233
51234         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
51235         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
51236         that it gets activated only for gcc >= 3.0.
51237         * lib/dirent.in.h: Likewise.
51238         * lib/errno.in.h: Likewise.
51239         * lib/fcntl.in.h: Likewise.
51240         * lib/float.in.h: Likewise.
51241         * lib/iconv.in.h: Likewise.
51242         * lib/inttypes.in.h: Likewise.
51243         * lib/locale.in.h: Likewise.
51244         * lib/math.in.h: Likewise.
51245         * lib/netdb.in.h: Likewise.
51246         * lib/netinet_in.in.h: Likewise.
51247         * lib/search.in.h: Likewise.
51248         * lib/signal.in.h: Likewise.
51249         * lib/spawn.in.h: Likewise.
51250         * lib/stdarg.in.h: Likewise.
51251         * lib/stdint.in.h: Likewise.
51252         * lib/stdio.in.h: Likewise.
51253         * lib/stdlib.in.h: Likewise.
51254         * lib/string.in.h: Likewise.
51255         * lib/strings.in.h: Likewise.
51256         * lib/sys_file.in.h: Likewise.
51257         * lib/sys_ioctl.in.h: Likewise.
51258         * lib/sys_select.in.h: Likewise.
51259         * lib/sys_socket.in.h: Likewise.
51260         * lib/sys_stat.in.h: Likewise.
51261         * lib/sys_time.in.h: Likewise.
51262         * lib/sysexits.in.h: Likewise.
51263         * lib/time.in.h: Likewise.
51264         * lib/unistd.in.h: Likewise.
51265         * lib/wchar.in.h: Likewise.
51266         * lib/wctype.in.h: Likewise.
51267         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51268
51269 2008-10-17  Jim Meyering  <meyering@redhat.com>
51270
51271         ignore-value: don't depend on inline module
51272         * modules/ignore-value (Depends-on): Remove 'inline'.
51273         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
51274         Suggestion from Bruno Haible.
51275
51276 2008-10-17  Bruno Haible  <bruno@clisp.org>
51277
51278         New implementation of condition variables for Win32.
51279         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
51280         (gl_linked_waitqueue_t): New type.
51281         (gl_cond_t): Use it.
51282         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
51283         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
51284         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
51285         (glthread_cond_init_func, glthread_cond_wait_func,
51286         glthread_cond_timedwait_func, glthread_cond_signal_func,
51287         glthread_cond_broadcast_func, glthread_cond_destroy_func):
51288         Reimplemented on the basis of gl_linked_waitqueue_t.
51289         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
51290         gl_waitqueue_t.
51291         (gl_rwlock_t): Update.
51292         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
51293
51294 2008-10-17  Simon Josefsson  <simon@josefsson.org>
51295
51296         * modules/recvfrom (Depends-on): Add dependency on getpeername.
51297         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51298
51299 2008-10-17  Jim Meyering  <meyering@redhat.com>
51300
51301         ignore-value: new module
51302         * modules/ignore-value: New file.
51303         * lib/ignore-value.h: New file.
51304         * MODULES.html.sh (Compiler warning management): New section,
51305         just for this module.  More to come.
51306
51307 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51308
51309         open-safer.c: avoid 'signed and unsigned in conditional...' warning
51310         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
51311         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
51312
51313 2008-10-16  Jim Meyering  <meyering@redhat.com>
51314
51315         openat-die.c: avoid 'no previous prototype' warning
51316         * lib/openat-die.c: Include "openat.h".
51317         Reported by Reuben Thomas <rrt@sc3d.org>.
51318
51319 2008-10-16  Simon Josefsson  <simon@josefsson.org>
51320
51321         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
51322         * lib/netdb.in.h: Fix typo.
51323         Reported by Bruno Haible  <bruno@clisp.org>
51324
51325         * lib/netdb.in.h: Include sys/socket.h for platforms without
51326         netdb.h, to get structures like hostent on MinGW.
51327         * modules/netdb (Depends-on): Add sys_socket.
51328
51329 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51330
51331         * modules/netdb, modules/netdb-tests: New file.
51332         * m4/netdb_h.m4: New file.
51333         * lib/netdb.in.h: Add, currently just an empty file pending
51334         definitions.
51335         * tests/test-netdb.c: New file.
51336         * doc/posix-headers/netdb.texi: Mention that we replace it if
51337         needed.
51338         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51339         netdb.
51340
51341 2008-10-15  Simon Josefsson  <simon@josefsson.org>
51342
51343         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
51344         with code.
51345
51346 2008-10-13  Bruno Haible  <bruno@clisp.org>
51347
51348         * lib/glthread/cond.c (glthread_cond_wait_func,
51349         glthread_cond_timedwait_func): Add a comment.
51350
51351 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51352
51353         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
51354         * tests/test-select.c: Likewise,
51355
51356 2008-10-13  Bruno Haible  <bruno@clisp.org>
51357
51358         * lib/glthread/cond.c (glthread_cond_wait_func,
51359         glthread_cond_timedwait_func): Fix variable name.
51360         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51361
51362 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
51363
51364         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
51365         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
51366         struct sockaddr.sa_len.
51367         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
51368
51369 2008-10-13  Simon Josefsson  <simon@josefsson.org>
51370
51371         * build-aux/pmccabe2html: Add css and css_url parameters.
51372
51373 2008-10-12  Bruno Haible  <bruno@clisp.org>
51374
51375         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
51376         calling aclx_get.
51377         Reported by Rainer Tammer <tammer@tammer.net>.
51378
51379 2008-10-12  Bruno Haible  <bruno@clisp.org>
51380
51381         Use msvcrt aware primitives for creation/termination of Win32 threads.
51382         * lib/glthread/thread.c: Include <process.h>.
51383         (glthread_create_func): Use _beginthreadex instead of CreateThread.
51384         (wrapper_func): Update signature.
51385         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
51386
51387 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51388             Bruno Haible  <bruno@clisp.org>
51389
51390         Provide a Win32 implementation of the 'cond' module.
51391         * lib/glthread/cond.h [USE_WIN32]: New implementation.
51392         * lib/glthread/cond.c (glthread_cond_init_func,
51393         glthread_cond_wait_func, glthread_cond_timedwait_func,
51394         glthread_cond_signal_func, glthread_cond_broadcast_func,
51395         glthread_cond_destroy_func) [USE_WIN32]: New functions.
51396         * modules/cond (Dependencies): Add gettimeofday.
51397
51398 2008-10-11  Bruno Haible  <bruno@clisp.org>
51399
51400         Make sleep work on older versions of mingw.
51401         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
51402         only whether it exists.
51403         * doc/posix-functions/sleep.texi: Mention the problem with older
51404         versions of mingw.
51405
51406 2008-10-11  Bruno Haible  <bruno@clisp.org>
51407
51408         New module 'shutdown'.
51409         * modules/shutdown: New file.
51410         * lib/sys_socket.in.h (shutdown): New declaration.
51411         * lib/winsock.c (shutdown): New function.
51412         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
51413         GNULIB_SHUTDOWN.
51414         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
51415         * doc/posix-functions/shutdown.texi: Document the new module.
51416
51417 2008-10-11  Jim Meyering  <meyering@redhat.com>
51418
51419         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
51420
51421 2008-10-11  Bruno Haible  <bruno@clisp.org>
51422
51423         New module 'fclose'.
51424         * modules/fclose: New file.
51425         * lib/stdio.in.h (fclose): New declaration.
51426         * lib/fclose.c: New file.
51427         * m4/fclose.m4: New file.
51428         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
51429         REPLACE_FCLOSE.
51430         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
51431         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
51432         REPLACE_FCLOSE.
51433         * modules/close (Depends-on): fclose.
51434         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
51435
51436 2008-10-11  Bruno Haible  <bruno@clisp.org>
51437
51438         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
51439         set errno and don't call _close.
51440
51441 2008-10-10  Bruno Haible  <bruno@clisp.org>
51442
51443         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
51444         ACL, not afterwards. Fixes test failure on Cygwin.
51445
51446 2008-10-09  Ben Pfaff  <blp@gnu.org>
51447
51448         * build-aux/announce-gen: Fix gnulib version related part of usage
51449         message.  Die with a useful error message if no tarballs are
51450         found.
51451
51452 2008-10-10  Jim Meyering  <meyering@redhat.com>
51453
51454         bootstrap: use git's --depth=N option only if it's supported
51455         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
51456         recognize the --depth option.  Reported by Pádraig Brady.
51457
51458 2008-10-09  Bruno Haible  <bruno@clisp.org>
51459
51460         New module 'ioctl'.
51461         * modules/ioctl: New file.
51462         * lib/sys_socket.in.h (ioctl): Remove declaration.
51463         * lib/winsock.c: Include <sys/ioctl.h>.
51464         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
51465         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51466         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
51467         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
51468         * doc/posix-functions/ioctl.texi: Mention the new module.
51469
51470 2008-10-09  Bruno Haible  <bruno@clisp.org>
51471
51472         New module 'sys_ioctl'.
51473         * lib/sys_ioctl.in.h: New file.
51474         * m4/sys_ioctl_h.m4: New file.
51475         * modules/sys_ioctl: New file.
51476         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
51477
51478 2008-10-09  Bruno Haible  <bruno@clisp.org>
51479
51480         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
51481         * lib/winsock.c: Include <stdarg.h>.
51482         (rpl_ioctl): Change to second argument 'int' and then varargs.
51483
51484 2008-10-09  Bruno Haible  <bruno@clisp.org>
51485
51486         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
51487         when the sys_socket module is present and the system has <winsock2.h>.
51488
51489 2008-10-09  Bruno Haible  <bruno@clisp.org>
51490
51491         * doc/posix-functions/close.texi: Mention module 'close' instead of
51492         module 'sys_socket'.
51493
51494 2008-10-09  Bruno Haible  <bruno@clisp.org>
51495
51496         * doc/glibc-headers/sys_ioctl.texi: New file.
51497         * doc/gnulib.texi: Include it.
51498
51499 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51500             Bruno Haible  <bruno@clisp.org>
51501
51502         Combine the two replacements of 'close'.
51503         * lib/sys_socket.in.h (close): Define to a reminder to include
51504         <unistd.h>.
51505         (_gl_close_fd_maybe_socket): New declaration.
51506         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
51507         * lib/winsock.c (close): Remove undefinition.
51508         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
51509         needed for the gnulib module 'close'.
51510         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
51511         define to an error symbol or to a warning, if suitable.
51512         * lib/close.c: Include <sys/socket.h>.
51513         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
51514         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
51515         UNISTD_H_HAVE_WINSOCK2_H.
51516         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
51517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51518         UNISTD_H_HAVE_WINSOCK2_H.
51519         * modules/sys_socket (Files): Add m4/unistd_h.m4.
51520         (configure.ac): Set a module indicator.
51521         (Makefile.am): Substitute GNULIB_CLOSE.
51522         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
51523         * modules/poll-tests (Depends-on): Add close.
51524         * modules/select-tests (Depends-on): Likewise.
51525
51526 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51527             Bruno Haible  <bruno@clisp.org>
51528
51529         New module 'close'.
51530         * modules/close: New file.
51531         * lib/unistd.in.h (close): Move declaration out of the
51532         FCHDIR_REPLACEMENT scope.
51533         (_gl_unregister_fd): New declaration.
51534         * lib/close.c: New file.
51535         * lib/fchdir.c (rpl_close): Remove function.
51536         * m4/close.m4: New file.
51537         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51538         close.
51539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
51540         REPLACE_CLOSE.
51541         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
51542         REPLACE_CLOSE.
51543         * modules/fchdir (Depends-on): Add close.
51544
51545 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51546             Bruno Haible  <bruno@clisp.org>
51547
51548         * lib/fcntl.in.h (open): Simplify conditionals.
51549         (_gl_register_fd): New declaration.
51550         * lib/fchdir.c (rpl_open): Remove function.
51551         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
51552         also.
51553         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
51554         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
51555         open.
51556
51557 2008-10-09  Jim Meyering  <meyering@redhat.com>
51558
51559         GNUmakefile: use the more name-space-friendly "_version"
51560         * top/GNUmakefile (_dummy): Update.
51561         (_version): Rename from "version".
51562
51563 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51564             Bruno Haible  <bruno@clisp.org>
51565
51566         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
51567         rpl_close.
51568         (_gl_register_fd): New function, extracted from rpl_open.
51569         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
51570         (rpl_open, rpl_opendir): Use _gl_register_fd.
51571
51572 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
51573
51574         Fix organization of 'open' replacement.
51575         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
51576         (gl_FUNC_OPEN): Use it.
51577         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
51578
51579 2008-10-08  Bruno Haible  <bruno@clisp.org>
51580
51581         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
51582
51583 2008-10-08  Simon Josefsson  <simon@josefsson.org>
51584
51585         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
51586         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
51587         listen).
51588
51589 2008-10-08  Eric Blake  <ebb9@byu.net>
51590
51591         GNUmakefile: add 'make version' target
51592         * top/GNUmakefile (_curr-ver): Split version update rules...
51593         (version): ...into a target.
51594
51595 2008-10-07  Bruno Haible  <bruno@clisp.org>
51596
51597         Use a more portable replacement expression for -0.0L.
51598         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
51599         instead of -0.0L. Fix m4 quotation.
51600
51601         * tests/test-signbit.c: Include <float.h>.
51602         (minus_zero): New variable.
51603         (test_signbitl): Use minus_zero instead of -zero.
51604         * modules/signbit-tests (Depends-on): Add float.
51605
51606         * tests/test-ceill.c: Include <float.h>.
51607         (zero): Remove variable.
51608         (minus_zero): New variable.
51609         (main): Use minus_zero instead of -zero.
51610         * modules/ceill-tests (Depends-on): Add float.
51611
51612         * tests/test-floorl.c: Include <float.h>.
51613         (zero): Remove variable.
51614         (minus_zero): New variable.
51615         (main): Use minus_zero instead of -zero.
51616         * modules/floorl-tests (Depends-on): Add float.
51617
51618         * tests/test-roundl.c: Include <float.h>.
51619         (zero): Remove variable.
51620         (minus_zero): New variable.
51621         (main): Use minus_zero instead of -zero.
51622         * modules/roundl-tests (Depends-on): Add float.
51623
51624         * tests/test-truncl.c: Include <float.h>.
51625         (zero): Remove variable.
51626         (minus_zero): New variable.
51627         (main): Use minus_zero instead of -zero.
51628         * modules/truncl-tests (Depends-on): Add float.
51629
51630         * tests/test-frexpl.c (zero): Remove variable.
51631         (minus_zero): New variable.
51632         (main): Use minus_zero instead of -zero.
51633         * modules/frexpl-tests (Depends-on): Add float.
51634
51635         * tests/test-isnan.c (zerol): Remove variable.
51636         (minus_zerol): New variable.
51637         (test_long_double): Use minus_zerol instead of -zerol.
51638         * modules/isnan-tests (Depends-on): Add float.
51639
51640         * tests/test-isnanl.h (zero): Remove variable.
51641         (minus_zero): New variable.
51642         (main): Use minus_zero instead of -zero.
51643         * modules/isnanl-nolibm-tests (Depends-on): Add float.
51644         * modules/isnanl-tests (Depends-on): Add float.
51645
51646         * tests/test-ldexpl.c (zero): Remove variable.
51647         (minus_zero): New variable.
51648         (main): Use minus_zero instead of -zero.
51649         * modules/ldexpl-tests (Depends-on): Add float.
51650
51651         * tests/test-snprintf-posix.h (zerol): Remove variable.
51652         (minus_zerol): New variable.
51653         (test_function): Use minus_zerol instead of -zerol.
51654         * modules/snprintf-posix-tests (Depends-on): Add float.
51655         * modules/vsnprintf-posix-tests (Depends-on): Add float.
51656
51657         * tests/test-sprintf-posix.h (zerol): Remove variable.
51658         (minus_zerol): New variable.
51659         (test_function): Use minus_zerol instead of -zerol.
51660         * modules/sprintf-posix-tests (Depends-on): Add float.
51661         * modules/vsprintf-posix-tests (Depends-on): Add float.
51662
51663         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
51664         (minus_zerol): New variable.
51665         (test_function): Use minus_zerol instead of -zerol.
51666         * modules/vasnprintf-posix-tests (Depends-on): Add float.
51667
51668         * tests/test-vasprintf-posix.c (zerol): Remove variable.
51669         (minus_zerol): New variable.
51670         (test_function): Use minus_zerol instead of -zerol.
51671         * modules/vasprintf-posix-tests (Depends-on): Add float.
51672
51673 2008-10-07  Simon Josefsson  <simon@josefsson.org>
51674
51675         * MODULES.html.sh (Support for building documentation): Mention
51676         pmccabe2html.  Sort entries.
51677
51678         Add pmccabe2html module, from gnupdf.
51679         * build-aux/pmccabe.css: New file.
51680         * build-aux/pmccabe2html: New file.
51681         * m4/pmccabe2html.m4: New file.
51682         * modules/pmccabe2html: New file.
51683
51684 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
51685
51686         flock: new module
51687         * MODULES.html.sh: Add to list of modules.
51688         * lib/flock.c: flock implementation for Windows and Unix systems
51689         which have fcntl.
51690         * doc/glibc-functions/flock.texi: Update documentation.
51691         * lib/sys_file.in.h: <sys/file.h> header file.
51692         * m4/flock.m4: M4 macros.
51693         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
51694         * modules/flock: flock module.
51695         * modules/flock-tests: flock tests module.
51696         * modules/sys_file: sys/file.h module.
51697         * tests/test-flock.c: test suite for flock.
51698
51699 2008-10-06  Jim Meyering  <meyering@redhat.com>
51700
51701         bootstrap: check for LT_INIT more portably still ;-)
51702         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
51703         Spotted by Bruno Haible.
51704
51705 2008-10-06  Eric Blake  <ebb9@byu.net>
51706
51707         test-signbit: avoid tripping Irix cc bug on -0.0L
51708         * tests/test-signbit.c (minus_zerol): Delete, and replace with
51709         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
51710         entire testsuite consistent and avoids an Irix 6.2 bug.
51711
51712 2008-10-05  Bruno Haible  <bruno@clisp.org>
51713             Jim Meyering  <jim@meyering.net>
51714
51715         Add an option for ignoring EPIPE during close_stdout.
51716         * lib/closeout.h: Include <stdbool.h>.
51717         (close_stdout_set_ignore_EPIPE): New declaration.
51718         * lib/closeout.c: Include <stdbool.h>.
51719         (ignore_EPIPE): New variable.
51720         (close_stdout_set_ignore_EPIPE): New function.
51721         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
51722         * lib/close-stream.c (close_stream): Mention the possible EPIPE
51723         failure.
51724         * modules/closeout (Depends-on): Add stdbool.
51725
51726 2008-10-05  Bruno Haible  <bruno@clisp.org>
51727
51728         * modules/accept: New file.
51729         * modules/bind: New file.
51730         * modules/connect: New file.
51731         * modules/getpeername: New file.
51732         * modules/getsockname: New file.
51733         * modules/getsockopt: New file.
51734         * modules/listen: New file.
51735         * modules/recv: New file.
51736         * modules/recvfrom: New file.
51737         * modules/send: New file.
51738         * modules/sendto: New file.
51739         * modules/setsockopt: New file.
51740         * modules/socket: New file.
51741         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
51742         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
51743         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
51744         the particular module is requested. Add a link warning when the
51745         particular module is not requested.
51746         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
51747         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
51748         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
51749         the particular module is requested.
51750         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
51751         gl_SYS_SOCKET_H_DEFAULTS): New macros.
51752         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
51753         * modules/sys_socket (Depends-on): Add link-warning.
51754         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
51755         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
51756         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
51757         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
51758         GL_LINK_WARNING.
51759         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
51760         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
51761         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
51762         * doc/posix-functions/getpeername.texi: Mention the new module
51763         'getpeername'.
51764         * doc/posix-functions/getsockname.texi: Mention the new module
51765         'getsockname'.
51766         * doc/posix-functions/getsockopt.texi: Mention the new module
51767         'getsockopt'.
51768         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
51769         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
51770         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
51771         * doc/posix-functions/send.texi: Mention the new module 'send'.
51772         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
51773         * doc/posix-functions/setsockopt.texi: Mention the new module
51774         'setsockopt'.
51775         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
51776         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
51777         listen, connect, accept.
51778         * modules/select-tests (Depends-on): Likewise.
51779
51780 2008-10-05  Bruno Haible  <bruno@clisp.org>
51781
51782         * lib/winsock.c (strerror): Remove unused #undef.
51783         (rpl_close): Remove unused local variable.
51784
51785         * modules/sys_socket (Depends-on); Add errno.
51786
51787 2008-10-05  Bruno Haible  <bruno@clisp.org>
51788
51789         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
51790         (select): Add a link warning when the 'select' module is not used.
51791         * modules/sys_select (Depends-on): Add link-warning.
51792         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
51793         Suggested by Paolo Bonzini.
51794
51795 2008-10-05  Jim Meyering  <meyering@redhat.com>
51796
51797         bootstrap: check for LT_INIT more portably
51798         * build-aux/bootstrap: Avoid using grep -E, since it's not
51799         portable enough.  Suggestion from Bruno Haible.
51800
51801 2008-10-05  Bruno Haible  <bruno@clisp.org>
51802
51803         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
51804         as being fixed by gnulib.
51805
51806 2008-10-05  Bruno Haible  <bruno@clisp.org>
51807
51808         * modules/select-tests: New file, mostly copied from
51809         modules/sys_select-tests.
51810         * tests/test-select.c: New file, mostly copied from
51811         tests/test-sys_select.c.
51812         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
51813         * modules/sys_select-tests (Depends-on): Remove all dependencies.
51814         (Makefile.am): Remove test_sys_select_LDADD.
51815
51816         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
51817         to an undefined symbol, for an error message.
51818         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
51819         (gl_SYS_SELECT_H_DEFAULTS): New macro.
51820         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
51821         winsock-select.c here.
51822         * modules/sys_select (Files): Remove lib/winsock-select.c.
51823         (Depends-on): Remove alloca.
51824         (Makefile.am): Substitute GNULIB_SELECT.
51825         * modules/select: New file.
51826         * doc/posix-functions/select.texi: Update.
51827
51828 2008-10-05  Bruno Haible  <bruno@clisp.org>
51829
51830         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
51831         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
51832         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
51833         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
51834         getdtablesize.
51835         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
51836         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
51837
51838 2008-10-05  Bruno Haible  <bruno@clisp.org>
51839
51840         * modules/getdtablesize-tests: New file.
51841         * tests/test-getdtablesize.c: New file.
51842
51843         New module 'getdtablesize'.
51844         * lib/unistd.in.h (getdtablesize): New declaration.
51845         * lib/getdtablesize.c: New file.
51846         * m4/getdtablesize.m4: New file.
51847         * modules/getdtablesize: New file.
51848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51849         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
51850         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
51851         HAVE_GETDTABLESIZE.
51852         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
51853
51854 2008-10-05  Bruno Haible  <bruno@clisp.org>
51855
51856         * modules/sched (Makefile.am): Fix typo.
51857         Reported by Simon Josefsson.
51858
51859 2008-10-05  Jim Meyering  <meyering@redhat.com>
51860
51861         bootstrap: check for LT_INIT, too
51862         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
51863         are deprecated.  Suggestion from Ralf Wildenhues.
51864
51865 2008-10-05  Bruno Haible  <bruno@clisp.org>
51866
51867         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
51868         overriding them by ours.
51869         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
51870
51871 2008-10-05  Jim Meyering  <meyering@redhat.com>
51872
51873         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
51874         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
51875         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
51876
51877 2008-10-04  Bruno Haible  <bruno@clisp.org>
51878
51879         * modules/dup2 (License): Change to LGPLv2+.
51880         * modules/sleep (License): Likewise.
51881         * modules/perror (License): Likewise.
51882         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
51883         Blake.
51884         * modules/signal (License): Likewise.
51885         * modules/sigprocmask (License): Likewise.
51886         * modules/raise (License): Change to LGPLv2+, with approval by Jim
51887         Meyering.
51888
51889 2008-10-04  Bruno Haible  <bruno@clisp.org>
51890
51891         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
51892         Reported by Rainer Tammer <tammer@tammer.net>.
51893
51894 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
51895             Bruno Haible  <bruno@clisp.org>
51896
51897         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
51898         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
51899         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
51900
51901 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
51902
51903         filevercmp: new module
51904         * lib/filevercmp.h: New function filevercmp comparing version strings.
51905         * lib/filevercmp.c: Implementation of filevercmp function.
51906         * modules/filevercmp: Module metadata.
51907         * tests/test-filevercmp.c: Unit test for new module.
51908         * modules/filevercmp-tests: Unit test metadata.
51909         * MODULES.html.sh: Add filevercmp module.
51910
51911 2008-10-03  Bruno Haible  <bruno@clisp.org>
51912
51913         * lib/c-ctype.h: Add comment.
51914         Reported by Jim Meyering.
51915
51916 2008-10-02  Bruno Haible  <bruno@clisp.org>
51917
51918         * modules/posix_spawn-internal (Depends-on): Add 'open'.
51919
51920 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51921
51922         * build-aux/bootstrap: Allow renaming bootstrap, and change the
51923         name of bootstrap.conf accordingly.
51924
51925 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51926
51927         * build-aux/bootstrap: Install git-merge-changelog configuration
51928         items into .gitconfig if needed.
51929
51930 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
51931
51932         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
51933         git repository, and initialize/update it accordingly.
51934
51935 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
51936
51937         * modules/fsync-tests: New file.
51938         * tests/test-fsync.c: New file.
51939
51940         New module 'fsync'.
51941         * lib/fsync.c: New file.
51942         * m4/fsync.m4: New file.
51943         * modules/fsync: New file.
51944         * lib/unistd.in.h (fsync): New declaration.
51945         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
51946         GNULIB_FSYNC and HAVE_FSYNC.
51947         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
51948         * MODULES.html.sh (posix_functions): Add fsync.
51949         * doc/posix-functions/fsync.texi: Mention the new module.
51950
51951 2008-10-02  Jim Meyering  <meyering@redhat.com>
51952
51953         fts.c: sync with similar code from coreutils' remove.c
51954         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
51955         Guard also with "#if defined __linux__", since for now at least,
51956         this code is Linux-kernel-specific.
51957
51958 2008-10-02  Jim Meyering  <meyering@redhat.com>
51959
51960         fts: bug fixes
51961         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
51962         Include <sys/vfs.h>, not <sys/statfs.h>.
51963
51964         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
51965         Include <sys/vfs.h>, not <sys/statfs.h>.
51966
51967 2008-10-01  Bruno Haible  <bruno@clisp.org>
51968
51969         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
51970         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
51971         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
51972         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
51973         * doc/posix-functions/posix_spawnp.texi: Likewise.
51974         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
51975         whether posix_spawn actually works.
51976         * m4/pipe.m4 (gl_PIPE): Likewise.
51977         * modules/execute (Files): Add m4/posix_spawn.m4.
51978         * modules/pipe (Files): Add m4/posix_spawn.m4.
51979         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
51980
51981 2008-10-01  Jim Meyering  <meyering@redhat.com>
51982
51983         remove trailing spaces
51984         * NEWS: Likewise.
51985         * lib/poll.c (poll): Likewise.
51986         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
51987         * lib/winsock.c (rpl_close): Likewise.
51988         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
51989         * modules/yield: Likewise.
51990         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
51991         * tests/test-sys_select.c (connect_to_socket): Likewise.
51992
51993         fts.c: adjust a new interface to be more generally useful
51994         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
51995         (fts_build): Adjust caller.
51996
51997 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51998
51999         * modules/cond-tests: New file.
52000         * tests/test-cond.c: New file.
52001
52002 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52003             Bruno Haible  <bruno@clisp.org>
52004
52005         * modules/cond (Dependencies): Add errno, time.
52006         * lib/glthread/cond.h: Include <time.h>.
52007         (gl_cond_define, gl_cond_define_initialized): Use the same definition
52008         across platforms.
52009
52010 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52011             Bruno Haible  <bruno@clisp.org>
52012
52013         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
52014
52015 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52016             Bruno Haible  <bruno@clisp.org>
52017
52018         * modules/tls-tests (Depends-on): Add thread, yield.
52019         (configure.ac): Remove all checks.
52020         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
52021         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52022         gl_thread_self): Remove definitions. Include glthread/thread.h and
52023         glthread/yield.h instead.
52024         (test_tls): Pass an additional NULL argument to gl_thread_join.
52025
52026 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52027             Bruno Haible  <bruno@clisp.org>
52028
52029         * modules/lock-tests (Depends-on): Add thread, yield.
52030         (configure.ac): Remove all checks.
52031         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
52032         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52033         gl_thread_self): Remove definitions. Include glthread/thread.h and
52034         glthread/yield.h instead.
52035         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
52036         additional NULL argument to gl_thread_join.
52037
52038 2008-09-30  Bruno Haible  <bruno@clisp.org>
52039
52040         Fix the Win32 implementation of the 'thread' module.
52041         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
52042         pointer type.
52043         (gl_thread_self): Invoke gl_thread_self_func.
52044         (gl_thread_self_func): New declaration.
52045         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
52046         (do_init_self_key, init_self_key): New functions.
52047         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
52048         Remove some fields.
52049         (running_threads, running_lock): Remove variables.
52050         (get_current_thread_handle): New function.
52051         (gl_thread_self_func, wrapper_func, glthread_create_func,
52052         glthread_join_func, gl_thread_exit_func): Largely rewritten and
52053         simplified.
52054
52055 2008-09-30  Bruno Haible  <bruno@clisp.org>
52056
52057         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
52058         files.
52059
52060 2008-09-30  Jim Meyering  <meyering@redhat.com>
52061
52062         fts.m4: correct the test for statfs.f_type
52063         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
52064         when checking for statfs.f_type.
52065
52066 2008-09-15  Simon Josefsson  <simon@josefsson.org>
52067
52068         tests: avoid some compiler warnings
52069         * tests/test-memchr.c (main): Pass NULL indirectly.
52070         * tests/test-getdate.c (main): Remove unused variable 'ret'.
52071
52072 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
52073
52074         getdate.y: disallow countable dayshifts like "4 yesterday ago"
52075         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
52076         exactly specified dayshifts.
52077         (dayshift): New rule.
52078         (rel): Add dayshift.
52079         (relative_time_table) [tomorrow, yesterday, today, now]:
52080         Use tDAY_SHIFT in place of tDAY_UNIT.
52081         * tests/test-getdate.c: Add tests for now-disallowed countable
52082         dayshifts, e.g., "4 yesterday ago".
52083
52084 2008-09-29  Bruno Haible  <bruno@clisp.org>
52085
52086         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
52087         * tests/test-posix_spawn1.in.sh: Renamed from
52088         tests/test-posix_spawn.in.sh.
52089         * tests/test-posix_spawn2.c: New file.
52090         * tests/test-posix_spawn2.in.sh: New file.
52091         * modules/posix_spawnp-tests (Files): Update.
52092         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
52093
52094 2008-09-29  Bruno Haible  <bruno@clisp.org>
52095
52096         Propagate effects of putenv/setenv/unsetenv to child processes.
52097         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
52098         * lib/pipe.c (create_pipe): Likewise.
52099
52100 2008-09-29  Bruno Haible  <bruno@clisp.org>
52101
52102         Enable use of shell scripts as executables in mingw.
52103         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
52104         run the program as a shell script.
52105         * lib/pipe.c (create_pipe): Likewise.
52106         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
52107         resulting array.
52108
52109 2008-09-29  Eric Blake  <ebb9@byu.net>
52110
52111         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
52112
52113 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
52114
52115         * doc/posix-functions/accept.texi: Update mingw problems.
52116         * doc/posix-functions/bind.texi: Update mingw problems.
52117         * doc/posix-functions/close.texi: Update mingw problems.
52118         * doc/posix-functions/connect.texi: Update mingw problems.
52119         * doc/posix-functions/getpeername.texi: Update mingw problems.
52120         * doc/posix-functions/getsockname.texi: Update mingw problems.
52121         * doc/posix-functions/getsockopt.texi: Update mingw problems.
52122         * doc/posix-functions/ioctl.texi: Update mingw problems.
52123         * doc/posix-functions/listen.texi: Update mingw problems.
52124         * doc/posix-functions/recv.texi: Update mingw problems.
52125         * doc/posix-functions/recvfrom.texi: Update mingw problems.
52126         * doc/posix-functions/select.texi: Update mingw problems.
52127         * doc/posix-functions/send.texi: Update mingw problems.
52128         * doc/posix-functions/sendto.texi: Update mingw problems.
52129         * doc/posix-functions/setsockopt.texi: Update mingw problems.
52130         * doc/posix-functions/socket.texi: Update mingw problems.
52131
52132 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
52133             Bruno Haible  <bruno@clisp.org>
52134
52135         * lib/sys_select.in.h: Include sys/time.h.
52136         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
52137         * modules/sys_select: Depend on sys_time.
52138         * tests/test-sys_select.c: Test that sys/select.h defines struct
52139         timeval fully.
52140
52141 2008-09-29  Bruno Haible  <bruno@clisp.org>
52142
52143         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
52144         * lib/sys_select.in.h: Likewise.
52145
52146 2008-09-29  Bruno Haible  <bruno@clisp.org>
52147
52148         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
52149
52150 2008-09-29  Bruno Haible  <bruno@clisp.org>
52151
52152         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
52153         Set LIBSOCKET instead of augmenting LIBS.
52154         * modules/sockets (Link): New section.
52155         * modules/sockets-tests (test_sockets_LDADD): New variable.
52156         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
52157         * modules/poll-tests (test_poll_LDADD): New variable.
52158         * NEWS: Document the change.
52159
52160 2008-09-29  Bruno Haible  <bruno@clisp.org>
52161
52162         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
52163         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
52164         ARPA_INET_H directly.
52165         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52166
52167 2008-09-28  Bruno Haible  <bruno@clisp.org>
52168
52169         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
52170         from gl_HEADER_SYS_SOCKET.
52171         (gl_HEADER_SYS_SOCKET): Invoke it.
52172         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52173
52174 2008-09-28  Bruno Haible  <bruno@clisp.org>
52175
52176         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
52177         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
52178         Needed on OSF/1 4.0.
52179
52180 2008-09-28  Bruno Haible  <bruno@clisp.org>
52181
52182         Override open more carefully.
52183         * lib/open.c (orig_open): New function.
52184         (rpl_open): Use orig_open instead of open.
52185         * lib/fcntl.in.h: Add special invocation convention.
52186         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
52187         (gl_FUNC_OPEN): Invoke it.
52188
52189         Override freopen more carefully.
52190         * lib/freopen.c (orig_freopen): New function.
52191         (rpl_freopen): Use orig_freopen instead of freopen.
52192         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
52193         (gl_FUNC_FREOPEN): Invoke it.
52194
52195         Override fopen more carefully.
52196         * lib/fopen.c (orig_fopen): New function.
52197         (rpl_fopen): Use orig_fopen instead of fopen.
52198         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
52199         (gl_FUNC_FOPEN): Invoke it.
52200         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
52201
52202 2008-09-28  Bruno Haible  <bruno@clisp.org>
52203
52204         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
52205         SIGPIPE.
52206
52207 2008-09-28  Bruno Haible  <bruno@clisp.org>
52208
52209         * tests/test-sigaction.c (handler, main): Disable the check whether
52210         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
52211         glibc systems with LinuxThreads.
52212
52213 2008-09-28  Bruno Haible  <bruno@clisp.org>
52214
52215         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
52216
52217         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
52218         with AIX xlc.
52219         * lib/fcntl.in.h (open): Likewise.
52220         Reported by Rainer Tammer <tammer@tammer.net>.
52221
52222 2008-09-28  Bruno Haible  <bruno@clisp.org>
52223
52224         * modules/posix_spawnp-tests: New file.
52225         * tests/test-posix_spawn.c: New file.
52226         * tests/test-posix_spawn.in.sh: New file.
52227
52228         New module 'posix_spawnp'.
52229         * modules/posix_spawnp: New file.
52230         * lib/spawnp.c: New file, from GNU libc with modifications.
52231         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
52232
52233         New module 'posix_spawn'.
52234         * modules/posix_spawn: New file.
52235         * lib/spawn.c: New file, from GNU libc with modifications.
52236         * doc/posix-functions/posix_spawn.texi: Mention the new module.
52237
52238         New module 'posix_spawnattr_destroy'.
52239         * modules/posix_spawnattr_destroy: New file.
52240         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
52241         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
52242         module.
52243
52244         New module 'posix_spawnattr_setsigmask'.
52245         * modules/posix_spawnattr_setsigmask: New file.
52246         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
52247         modifications.
52248         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
52249         new module.
52250
52251         New module 'posix_spawnattr_getsigmask'.
52252         * modules/posix_spawnattr_getsigmask: New file.
52253         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
52254         modifications.
52255         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
52256         new module.
52257
52258         New module 'posix_spawnattr_setsigdefault'.
52259         * modules/posix_spawnattr_setsigdefault: New file.
52260         * lib/spawnattr_setdefault.c: New file, from GNU libc with
52261         modifications.
52262         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
52263         new module.
52264
52265         New module 'posix_spawnattr_getsigdefault'.
52266         * modules/posix_spawnattr_getsigdefault: New file.
52267         * lib/spawnattr_getdefault.c: New file, from GNU libc with
52268         modifications.
52269         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
52270         new module.
52271
52272         New module 'posix_spawnattr_setschedpolicy'.
52273         * modules/posix_spawnattr_setschedpolicy: New file.
52274         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
52275         modifications.
52276         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
52277         new module.
52278
52279         New module 'posix_spawnattr_getschedpolicy'.
52280         * modules/posix_spawnattr_getschedpolicy: New file.
52281         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
52282         modifications.
52283         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
52284         new module.
52285
52286         New module 'posix_spawnattr_setschedparam'.
52287         * modules/posix_spawnattr_setschedparam: New file.
52288         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
52289         modifications.
52290         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
52291         new module.
52292
52293         New module 'posix_spawnattr_getschedparam'.
52294         * modules/posix_spawnattr_getschedparam: New file.
52295         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
52296         modifications.
52297         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
52298         new module.
52299
52300         New module 'posix_spawnattr_setpgroup'.
52301         * modules/posix_spawnattr_setpgroup: New file.
52302         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
52303         modifications.
52304         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
52305         module.
52306
52307         New module 'posix_spawnattr_getpgroup'.
52308         * modules/posix_spawnattr_getpgroup: New file.
52309         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
52310         modifications.
52311         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
52312         module.
52313
52314         New module 'posix_spawnattr_setflags'.
52315         * modules/posix_spawnattr_setflags: New file.
52316         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
52317         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
52318         module.
52319
52320         New module 'posix_spawnattr_getflags'.
52321         * modules/posix_spawnattr_getflags: New file.
52322         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
52323         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
52324         module.
52325
52326         New module 'posix_spawnattr_init'.
52327         * modules/posix_spawnattr_init: New file.
52328         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
52329         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
52330         module.
52331
52332         New module 'posix_spawn_file_actions_destroy'.
52333         * modules/posix_spawn_file_actions_destroy: New file.
52334         * lib/spawn_faction_destroy.c: New file, from GNU libc with
52335         modifications.
52336         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
52337         the new module.
52338
52339         New module 'posix_spawn_file_actions_addopen'.
52340         * modules/posix_spawn_file_actions_addopen: New file.
52341         * lib/spawn_faction_addopen.c: New file, from GNU libc with
52342         modifications.
52343         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
52344         the new module.
52345
52346         New module 'posix_spawn_file_actions_adddup2'.
52347         * modules/posix_spawn_file_actions_adddup2: New file.
52348         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
52349         modifications.
52350         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
52351         the new module.
52352
52353         New module 'posix_spawn_file_actions_addclose'.
52354         * modules/posix_spawn_file_actions_addclose: New file.
52355         * lib/spawn_faction_addclose.c: New file, from GNU libc with
52356         modifications.
52357         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
52358         the new module.
52359
52360         New module 'posix_spawn_file_actions_init'.
52361         * modules/posix_spawn_file_actions_init: New file.
52362         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
52363         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
52364         new module.
52365
52366         New module 'posix_spawn-internal'.
52367         * modules/posix_spawn-internal: New file.
52368         * lib/spawn_int.h: New file, from GNU libc with modifications.
52369         * lib/spawni.c: New file, from GNU libc with modifications.
52370         * m4/posix_spawn.m4: New file.
52371
52372         New module 'spawn'.
52373         * modules/spawn: New file.
52374         * lib/spawn.in.h: New file, from GNU libc with modifications.
52375         * m4/spawn_h.m4: New file.
52376         * doc/posix-headers/spawn.texi: Mention the new module.
52377
52378 2008-09-28  Bruno Haible  <bruno@clisp.org>
52379
52380         * modules/sched-tests: New file.
52381         * tests/test-sched.c: New file.
52382
52383         New module 'sched'.
52384         * modules/sched: New file.
52385         * lib/sched.in.h: New file.
52386         * m4/sched_h.m4: New file.
52387         * doc/posix-headers/sched.texi: Mention the new module.
52388
52389 2008-09-27  Eric Blake  <ebb9@byu.net>
52390
52391         Fix previous patch, and tweak references to $0.
52392         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
52393         (func_version, func_gnulib_dir): Don't call this program
52394         gnulib-tool.
52395         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
52396         with using $0 in function.
52397         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
52398         (func_fatal_error): Reuse the name the user invoked us with.
52399
52400 2008-09-27  Bruno Haible  <bruno@clisp.org>
52401
52402         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
52403         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
52404         (gl_ICONV_H): Not here.
52405         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
52406         instead of assigning ICONV_H directly.
52407
52408         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
52409         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
52410         WCHAR_H directly.
52411
52412 2008-09-27  Bruno Haible  <bruno@clisp.org>
52413
52414         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
52415         * modules/arpa_inet (Depends-on): Add link-warning.
52416         (Makefile.am): Insert the definition of GL_LINK-WARNING.
52417         * modules/unistd (Makefile.am): Likewise.
52418
52419 2008-09-26  Bruno Haible  <bruno@clisp.org>
52420
52421         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
52422         variables.
52423         (func_version): Essentially copied from gnulib-tool.
52424         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
52425         func_readlink): Copied from gnulib-tool.
52426
52427 2008-09-26  Bruno Haible  <bruno@clisp.org>
52428
52429         * gnulib-tool (func_version): Change directory to $gnulib_dir before
52430         invoking git-version-gen.
52431
52432 2008-09-26  Bruno Haible  <bruno@clisp.org>
52433
52434         * posix-modules: Update to directory names changed on 2008-01-19.
52435         Remove commas in output before splitting into words. No more need to
52436         avoid 'ftruncate' since 2007-02-19.
52437
52438 2008-09-26  Bruno Haible  <bruno@clisp.org>
52439
52440         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
52441
52442 2008-09-26  Bruno Haible  <bruno@clisp.org>
52443
52444         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
52445         * modules/fwriteerror (Depends-on): Add errno.
52446
52447 2008-09-26  Bruno Haible  <bruno@clisp.org>
52448
52449         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
52450         * tests/test-vc-list-files-cvs.sh: Likewise.
52451
52452 2008-09-26  Bruno Haible  <bruno@clisp.org>
52453
52454         * doc/posix-headers/sys_resource.texi: Reorder items.
52455
52456 2008-09-26  Jim Meyering  <meyering@redhat.com>
52457
52458         fts: tweak inode comparison function
52459         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
52460         inode numbers, as documented.
52461
52462         fts: sort dirent entries on inode number before traversing
52463         This avoids a quadratic, seek-related performance penalty when
52464         operating on a directory containing many entries (measurable at 10k;
52465         3.5 hours at 2 million entries with a cold cache) on certain types
52466         of file systems, including ext3 and ext4, but not tmpfs.
52467         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
52468         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
52469         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
52470         (fs_handles_readdir_ordered_dirents_efficiently): New function.
52471         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
52472         (fts_build): Set the stat.st_ino member from D_INO.
52473         If it is likely to be useful, sort dirent entries on inode number.
52474
52475         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
52476         and the struct statfs.f_type member.
52477         * modules/fts (Depends-on): Add d-ino.
52478
52479 2008-09-26  Bruno Haible  <bruno@clisp.org>
52480
52481         * modules/sigpipe-die (Depends-on): Add sigpipe.
52482
52483         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
52484         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
52485         and GNULIB_STDIO_H_SIGPIPE are set.
52486         * lib/stdio-write.c: New file.
52487         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
52488         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52489         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52490         REPLACE_STDIO_WRITE_FUNCS.
52491         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
52492         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52493         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52494         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52495         * modules/stdio (Files): Add lib/stdio-write.c.
52496         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
52497         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
52498         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
52499         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
52500         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
52501         REPLACE_FPRINTF_POSIX.
52502         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
52503         REPLACE_PRINTF_POSIX.
52504         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
52505         REPLACE_VFPRINTF_POSIX.
52506         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
52507         REPLACE_VPRINTF_POSIX.
52508         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
52509         SIGPIPE issue.
52510         * doc/posix-functions/fputc.texi: Likewise.
52511         * doc/posix-functions/fputs.texi: Likewise.
52512         * doc/posix-functions/fwrite.texi: Likewise.
52513         * doc/posix-functions/printf.texi: Likewise.
52514         * doc/posix-functions/putc.texi: Likewise.
52515         * doc/posix-functions/putchar.texi: Likewise.
52516         * doc/posix-functions/puts.texi: Likewise.
52517         * doc/posix-functions/vfprintf.texi: Likewise.
52518         * doc/posix-functions/vprintf.texi: Likewise.
52519
52520         * modules/safe-write (Depends-on): Add write.
52521
52522         * modules/sigpipe-tests: New file.
52523         * tests/test-sigpipe.c: New file.
52524         * tests/test-sigpipe.sh: New file.
52525
52526         * modules/write: New file.
52527         * lib/unistd.in.h: Include <sys/types.h>.
52528         (write): New declaration.
52529         * lib/write.c: New file.
52530         * m4/write.m4: New file.
52531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52532         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
52533         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
52534         GNULIB_WRITE, REPLACE_WRITE.
52535         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
52536         and the SIGPIPE issue.
52537
52538         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
52539         (raise): New declaration.
52540         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
52541         (ext_signal): New function.
52542         (rpl_raise): New function.
52543         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
52544         GNULIB_SIGNAL_H_SIGPIPE.
52545         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
52546         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
52547
52548         * modules/sigpipe: New file.
52549         * m4/sigpipe.m4: New file.
52550
52551 2008-09-25  Derek Price  <derek@ximbiot.com>
52552             Bruno Haible  <bruno@clisp.org>
52553
52554         * gnulib-tool (func_import): Report all license incompatibilities, not
52555         just the first one.
52556
52557 2008-09-25  Bruno Haible  <bruno@clisp.org>
52558
52559         * gnulib-tool (func_import): When computing the edits, consider not
52560         only the Makefile.ams that exist but also those that will be generated.
52561
52562 2008-09-25  Simon Josefsson  <simon@josefsson.org>
52563
52564         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
52565         fixes gnulib-tool --test warning about duplicate dependency.
52566
52567 2008-09-25  Bruno Haible  <bruno@clisp.org>
52568
52569         * gnulib-tool: Don't ask the user to perform edits in the generated
52570         Makefile.ams.
52571         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
52572         apply to the Makefile.am being generated.
52573         (func_emit_tests_Makefile_am): Execute edits that apply to the
52574         Makefile.am being generated.
52575         (func_import): Setup list of Makefile.am edits before emitting the
52576         Makefile.ams, not at the end.
52577         (func_create_testdir): Update.
52578         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52579
52580 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52581
52582         * gnulib-tool (func_import): Store the --tests-base option in the
52583         comment in gnulib-cache.m4.
52584
52585 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
52586
52587         * NEWS: Document increased portability that sys_select now provides.
52588
52589         * lib/sys_select.in.h: Install select wrapper.
52590         * lib/sys_socket.in.h: Use more descriptive name when there is no
52591         select wrapper.
52592         * lib/winsock-select.c: New.
52593         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
52594         Require gl_HEADER_SYS_SOCKET.
52595         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
52596         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
52597         * tests/test-sys_select.c: Add functional tests.
52598
52599 2008-09-24  Eric Blake  <ebb9@byu.net>
52600
52601         open, fopen: close fd leak in last patch
52602         * lib/open.c (rpl_open): Close fd before returning error.
52603         * lib/fopen.c (rpl_fopen): Close fd before returning error.
52604         * doc/posix-functions/open.texi (open): Document that Irix also
52605         has the bug.
52606         * doc/posix-functions/fopen.texi (fopen): Likewise.
52607         Reported by Paolo Bonzini.
52608
52609 2008-09-24  Bruno Haible  <bruno@clisp.org>
52610
52611         Ensure that a filename ending in a slash cannot be used to access a
52612         non-directory.
52613         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
52614         to check whether it's really a directory.
52615         * lib/fopen.c: Include fcntl.h, unistd.h.
52616         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
52617         and fdopen().
52618         * modules/fopen (Depends-on): Add unistd.
52619         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
52620         * tests/test-fopen.c (main): Likewise.
52621         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
52622         * doc/posix-functions/fopen.texi: Likewise.
52623         Reported by Eric Blake.
52624
52625 2008-09-23  Eric Blake  <ebb9@byu.net>
52626
52627         c-stack: avoid compiler optimizations when provoking overflow
52628         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
52629         recursion harder to optimize, to ensure a stack overflow occurs.
52630         * tests/test-c-stack.c (recurse): Likewise.
52631         Borrowed from libsigsegv.
52632
52633         c-stack: work around Irix sigaltstack bug
52634         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
52635         whether sigaltstack uses wrong end of stack_t (copied in part from
52636         libsigsegv).
52637         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
52638         Irix bug, without requiring an over-allocation.
52639         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
52640         bug.
52641
52642         fopen: document mingw bug on directories
52643         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
52644         not allowing a stream visiting a directory, even though reading
52645         from such a stream is not portable.
52646
52647 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52648
52649         * lib/poll.c: Rewrite.
52650         * modules/poll: Depend on alloca.
52651
52652 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52653
52654         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
52655         instead define prototypes for a full set of wrappers.  Ensure
52656         that Cygwin does not use the compatibility code, which is only
52657         for MinGW.
52658         * lib/winsock.c: New.
52659         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
52660         * modules/sys_socket: Add lib/winsock.c.
52661
52662         * modules/poll-tests: Add errno and perror.
52663         * tests/test-poll.c: Use ioctl, not ioctlsocket.
52664
52665 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
52666
52667         * tests/test-poll.c: Downgrade minimum needed Winsock version.
52668
52669 2008-09-23  Bruno Haible  <bruno@clisp.org>
52670
52671         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
52672         * doc/glibc-functions/*: Likewise.
52673
52674 2008-09-23  Simon Josefsson  <simon@josefsson.org>
52675
52676         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
52677         success.
52678
52679 2008-09-22  Eric Blake  <ebb9@byu.net>
52680             Bruno Haible  <bruno@clisp.org>
52681
52682         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
52683         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
52684         supply %A but mishandle pseudo-NaN.
52685         Reported by Simon Josefsson.
52686
52687 2008-09-21  Bruno Haible  <bruno@clisp.org>
52688
52689         * tests/test-lock.c (main): Tweak skip message.
52690         * tests/test-tls.c (main): Likewise.
52691
52692 2008-09-21  Bruno Haible  <bruno@clisp.org>
52693
52694         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
52695         whether 'struct sigaction' has sa_sigaction here...
52696         (gl_PREREQ_SIG_HANDLER_H): ... not here.
52697         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
52698
52699 2008-09-21  Bruno Haible  <bruno@clisp.org>
52700
52701         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
52702         section.
52703         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
52704         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
52705         the new section.
52706         (Support for obsolete systems lacking POSIX:2001): New section.
52707         (String handling <string.h>): Move strdup to the new section.
52708         Suggested by Simon Josefsson and Paolo Bonzini.
52709
52710 2008-09-21  Bruno Haible  <bruno@clisp.org>
52711
52712         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
52713         exponents in %e and %g results on 'long double'. Needed for mingw's
52714         improved *printf functions.
52715         * tests/test-vasprintf-posix.c (test_function): Likewise.
52716         * tests/test-snprintf-posix.h (test_function): Likewise.
52717         * tests/test-sprintf-posix.h (test_function): Likewise.
52718         Reported by Eric Blake.
52719
52720 2008-09-21  Bruno Haible  <bruno@clisp.org>
52721
52722         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
52723         * tests/test-sprintf-posix.h (test_function): Likewise.
52724
52725 2008-09-21  Bruno Haible  <bruno@clisp.org>
52726
52727         * modules/getpass (Depends-on): Add strdup-posix.
52728
52729         New module 'strdup-posix'.
52730         * modules/strdup-posix: New file.
52731         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
52732         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
52733         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52734         REPLACE_STRDUP.
52735         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
52736         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
52737         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52738         strdup-posix.
52739
52740         * modules/strdup (Depends-on): Remove malloc-posix.
52741
52742 2008-09-20  Bruno Haible  <bruno@clisp.org>
52743
52744         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
52745         Wildenhues.
52746
52747 2008-09-20  Bruno Haible  <bruno@clisp.org>
52748
52749         Ensure that wint_t gets defined on IRIX 5.3.
52750         * lib/wchar.in.h (wint_t): Define if not defined by the system.
52751         * lib/wctype.in.h (wint_t): Likewise.
52752         (__wctype_wint_t): Remove type.
52753         (isw*): Use wint_t instead of __wctype_wint_t.
52754         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
52755         * modules/wchar (Files): Add m4/wint_t.m4.
52756         (Makefile.am): Substitute HAVE_WINT_T.
52757         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
52758         * tests/test-wctype.c: Check that wint_t is defined.
52759         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
52760         * doc/posix-headers/wctype.texi: Likewise.
52761         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52762
52763 2008-09-18  Bruno Haible  <bruno@clisp.org>
52764
52765         * gnulib-tool (func_exit): Update comment.
52766
52767 2008-09-18  Simon Josefsson  <simon@josefsson.org>
52768
52769         * modules/getaddrinfo (Depends-on): Remove strdup, this module
52770         assumes strdup exists and does not depend on strdup to return
52771         ENOMEM on out of memory conditions.
52772
52773 2008-09-18  Bruno Haible  <bruno@clisp.org>
52774
52775         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
52776         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
52777         digits for the exponent.
52778
52779 2008-09-18  Jim Meyering  <meyering@redhat.com>
52780             Bruno Haible  <bruno@clisp.org>
52781
52782         * lib/vasnprintf.c (decimal_point_char): Define also if
52783         NEED_PRINTF_INFINITE_LONG_DOUBLE.
52784
52785 2008-09-16  Bruno Haible  <bruno@clisp.org>
52786         and Eric Blake  <ebb9@byu.net>
52787
52788         vasnprintf: support Irix 5.3
52789         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
52790         that mishandle long double infinity.
52791         Reported by Tom G. Christensen.
52792
52793 2008-09-16  Bruno Haible  <bruno@clisp.org>
52794
52795         * doc/glibc-functions/scandir.texi: Mention the function is missing on
52796         Solaris 9.
52797         * doc/glibc-functions/alphasort.texi: Likewise.
52798         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
52799
52800 2008-09-16  Jim Meyering  <meyering@redhat.com>
52801
52802         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
52803         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
52804         a umask modification leak out of a subshell.  Otherwise, the
52805         opensolaris /bin/sh would be accepted and thus cause unwarranted
52806         failures in the coreutils test suite.
52807
52808 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
52809
52810         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
52811         to succeed.
52812
52813 2008-09-16  Jim Meyering  <meyering@redhat.com>
52814
52815         avoid spurious test failure when library is built without ACL support
52816         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
52817         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
52818         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
52819         * tests/test-copy-acl.sh: Likewise.
52820
52821 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52822
52823         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
52824         based on character occurrence counts.
52825
52826 2008-09-15  Eric Blake  <ebb9@byu.net>
52827
52828         tests: avoid some compiler warnings
52829         * tests/test-memchr.c (main): Pass NULL indirectly.
52830         * tests/test-closein.c (main): Avoid unused variable.
52831
52832 2008-09-15  Bruno Haible  <bruno@clisp.org>
52833
52834         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
52835         are missing on OpenBSD 4.0 individually.
52836         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52837
52838 2008-09-15  Bruno Haible  <bruno@clisp.org>
52839
52840         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
52841         * doc/posix-functions/strerror.texi: Mention also Cygwin.
52842         * doc/posix-functions/perror.texi: Likewise.
52843         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
52844         is missing.
52845         Reported by Eric Blake.
52846
52847         * lib/errno.in.h: Use replacement values >= 2000.
52848         Reported by Eric Blake.
52849
52850 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52851
52852         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
52853         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
52854         limit.
52855         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
52856         compareseq was aborted.
52857
52858 2008-09-14  Bruno Haible  <bruno@clisp.org>
52859
52860         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
52861         yvec_edit_count.
52862         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
52863         (fstrcmp_bounded): Simplify result computation accordingly.
52864
52865 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52866
52867         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
52868         (fstrcmp): Define in terms of fstrcmp_bounded.
52869         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
52870         lower_bound argument.
52871         Return quickly if the result is certainly < lower_bound.
52872         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
52873
52874 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52875
52876         * lib/diffseq.h (EARLY_ABORT): New macro.
52877         (compareseq): Change return type to bool. Return true when EARLY_ABORT
52878         evaluates to true.
52879
52880 2008-09-14  Bruno Haible  <bruno@clisp.org>
52881
52882         * modules/perror-tests: New file.
52883         * tests/test-perror.sh: New file.
52884         * tests/test-perror.c: New file.
52885
52886         New module 'perror'.
52887         * lib/stdio.in.h (perror): New declaration.
52888         * lib/perror.c: New file.
52889         * m4/perror.m4: New file.
52890         * modules/perror: New file.
52891         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
52892         * doc/posix-functions/perror.texi: Mention the perror module.
52893         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
52894         REPLACE_PERROR.
52895         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
52896         REPLACE_PERROR.
52897
52898 2008-09-14  Bruno Haible  <bruno@clisp.org>
52899
52900         * modules/stdio (Makefile.am): Reorder to match the order in
52901         lib/stdio.in.h.
52902         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52903
52904 2008-09-13  Bruno Haible  <bruno@clisp.org>
52905
52906         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
52907
52908 2008-09-13  Bruno Haible  <bruno@clisp.org>
52909
52910         Extend strerror to cover the added errno values.
52911         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
52912         (rpl_strerror): Provide error messages for the added errno values and
52913         for the WSA* values.
52914         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
52915         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
52916         strerror.
52917         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
52918         * modules/strerror (Depends-on): Add errno.
52919         * doc/posix-functions/strerror.texi: Document the change.
52920         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
52921         and EOVERFLOW.
52922
52923 2008-09-13  Bruno Haible  <bruno@clisp.org>
52924
52925         * modules/EOVERFLOW: Remove file.
52926         * m4/eoverflow.m4: Remove file.
52927         * modules/EOVERFLOW-tests: Remove file.
52928         * tests/test-EOVERFLOW.c: Remove file.
52929         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
52930         * modules/ftell (Depends-on): Likewise.
52931         * modules/getdelim (Depends-on): Likewise.
52932         * modules/getugroups (Depends-on): Likewise.
52933         * modules/poll (Depends-on): Likewise.
52934         * modules/snprintf (Depends-on): Likewise.
52935         * modules/sprintf-posix (Depends-on): Likewise.
52936         * modules/vasnprintf (Depends-on): Likewise.
52937         * modules/vasprintf (Depends-on): Likewise.
52938         * modules/vfprintf-posix (Depends-on): Likewise.
52939         * modules/vsnprintf (Depends-on): Likewise.
52940         * modules/vsprintf-posix (Depends-on): Likewise.
52941         * modules/xvasprintf (Depends-on): Likewise.
52942         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52943         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
52944         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
52945         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
52946         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52947         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
52948         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
52949         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
52950         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52951         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
52952         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
52953         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
52954         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52955         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
52956         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
52957         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
52958         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52959         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
52960         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
52961         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
52962         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52963         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
52964         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
52965         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
52966         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
52967         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52968         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
52969         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
52970         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
52971         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
52972         * MODULES.html.sh: Remove EOVERFLOW.
52973         * NEWS: Mention the change.
52974
52975 2008-09-13  Bruno Haible  <bruno@clisp.org>
52976
52977         * modules/errno-tests: New file.
52978         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
52979
52980         * lib/errno.in.h: New file.
52981         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
52982         * modules/errno: New file.
52983         * doc/posix-headers/errno.texi: Update documentation.
52984         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
52985
52986 2008-09-13  Bruno Haible  <bruno@clisp.org>
52987
52988         * tests/test-poll.c: Use #if for native Windows, rather than testing
52989         __MSVCRT__.
52990
52991 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52992             Bruno Haible  <bruno@clisp.org>
52993
52994         * lib/glob.c: Don't include <pwd.h> on native Windows.
52995         (WINDOWS32): New macro.
52996         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
52997
52998 2008-09-13  Bruno Haible  <bruno@clisp.org>
52999
53000         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
53001         (ETIMEDOUT): Remove macro.
53002         (glthread_cond_timedwait_multithreaded): New declaration.
53003         (glthread_cond_timedwait): Use it.
53004         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
53005         (glthread_cond_timedwait_multithreaded): New function.
53006
53007 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53008
53009         * modules/poll-tests: Do not check for io.h.
53010         * tests/test-poll.c: Check for __MSVCRT__ instead.
53011
53012 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53013
53014         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
53015         * modules/poll-tests: Add inet_pton, stdbool, sockets.
53016         * tests/test-poll.c: Use them.  Use _pipe on Windows.
53017
53018 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53019
53020         * modules/poll-tests: New.
53021         * tests/test-poll.c: New.
53022
53023 2008-09-12  Eric Blake  <ebb9@byu.net>
53024
53025         frexp: test for NetBSD failure on -0.0
53026         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
53027         not all, bugs from NetBSD 3.0 have been fixed.
53028         * doc/posix-functions/frexp.texi (frexp): Document bug.
53029         Reported by Thomas Klausner.
53030
53031         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
53032         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
53033         literal -0.0.
53034         Reported by Jonathan C. Patschke <jp@centtech.com>.
53035
53036 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53037
53038         * lib/glthread/cond.h: Use dummy implementation also if
53039         USE_WIN32_THREADS.
53040
53041 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53042
53043         * modules/fnmatch-posix (License): Change to LGPLv2+.
53044         * modules/fnmatch-gnu (License): Likewise.
53045
53046 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53047
53048         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
53049
53050 2008-09-11  Jim Meyering  <meyering@redhat.com>
53051
53052         * users.txt: Add gtk-vnc.
53053
53054 2008-09-08  Simon Josefsson  <simon@josefsson.org>
53055
53056         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
53057         rotate amounts.
53058
53059         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
53060         required for 16-bit and 8-bit rotates.
53061         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
53062         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
53063         UINT8_MAX instead of hard-coded constants.
53064         Suggested by Paul Eggert.
53065
53066 2008-09-07  Bruno Haible  <bruno@clisp.org>
53067
53068         * tests/test-striconveh.c (main): Check behaviour when converting from
53069         UTF-7.
53070
53071         Make striconveh work better with stateful encodings.
53072         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
53073         that iconv does not increment the inptr when returning -1/EINVAL.
53074
53075 2008-09-07  Bruno Haible  <bruno@clisp.org>
53076
53077         * build-aux/config.rpath: Update according to libtool-2.2.6.
53078         * build-aux/config.libpath: Likewise.
53079
53080 2008-09-06  Bruno Haible  <bruno@clisp.org>
53081
53082         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
53083         * lib/freadptr.c (freadptr): Likewise.
53084         * lib/freadseek.c (freadptrinc): Likewise.
53085         Reported by Simon Josefsson.
53086
53087 2008-09-06  Bruno Haible  <bruno@clisp.org>
53088
53089         * modules/freadptr (License): Change to LGPLv2+.
53090         * modules/freadseek (License): Likewise.
53091         Suggested by Eric Blake.
53092
53093         * modules/memchr2 (License): Change to LGPLv2+.
53094         Approved by Eric Blake.
53095
53096 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53097             Bruno Haible  <bruno@clisp.org>
53098
53099         Make gnulib-tool work with native 'sed' on AIX.
53100         * gnulib-tool (sed_noop): New variable.
53101         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
53102         func_add_or_update, func_create_testdir): Use it to initialize sed
53103         script variables.
53104         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53105
53106 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
53107             Bruno Haible  <bruno@clisp.org>
53108
53109         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
53110         also works after #include directives.
53111
53112 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
53113
53114         getdate.y: reject an out-of-range timezone value
53115         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
53116         the range [-24...+24].  When specified with only one or two digits,
53117         * tests/test-getdate.c: Tests for the fix.
53118         * doc/getdate.texi: Document this change.
53119
53120 2008-09-03  Bruno Haible  <bruno@clisp.org>
53121
53122         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
53123
53124 2008-09-02  Simon Josefsson  <simon@josefsson.org>
53125
53126         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
53127         <bruce.korb@gmail.com> with ideas from Ben Pfaff
53128         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
53129         Blake <ebb9@byu.net>.
53130
53131         * tests/test-bitrotate.c: Add more test vectors.
53132
53133 2008-09-02  Eric Blake  <ebb9@byu.net>
53134
53135         vasnprintf-posix: handle large precision via %.*d
53136         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
53137         when handling it ourselves.
53138         * tests/test-vasnprintf-posix.c (test_function): Add test.
53139         * tests/test-snprintf-posix.h (test_function): Likewise.
53140         * tests/test-sprintf-posix.h (test_function): Likewise.
53141         * tests/test-vasprintf-posix.c (test_function): Likewise.
53142         Reported by Alain Guibert.
53143
53144 2008-09-01  Eric Blake  <ebb9@byu.net>
53145
53146         c-stack: make configure-time check more robust
53147         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
53148         successful sigaction call.
53149         Reported by Tom G. Christensen.
53150
53151 2008-09-01  Bruno Haible  <bruno@clisp.org>
53152
53153         New module 'findprog-lgpl'.
53154         * modules/findprog-lgpl: New file.
53155         * lib/findprog-lgpl.c: New file.
53156         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
53157         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
53158         to decide whether to use strdup or xstrdup, concatenated_filename or
53159         xconcatenated_filename.
53160
53161 2008-09-01  Bruno Haible  <bruno@clisp.org>
53162
53163         Split module 'concat-filename' into 'concat-filename' (LGPL) and
53164         'xconcat-filename' (GPL).
53165         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
53166         (License): Change to LGPLv2+.
53167         * modules/xconcat-filename: New file.
53168         * lib/concat-filename.h (concatenated_filename): Change specification.
53169         (xconcatenated_filename): New declaration.
53170         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
53171         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
53172         memory situations.
53173         * lib/xconcat-filename.c: New file.
53174         * NEWS: Mention the change.
53175         * lib/findprog.c: Include concat-filename.h, not filename.h.
53176         (find_in_path): Use xconcatenated_filename instead of
53177         concatenated_filename.
53178         * lib/javacomp.c: Include concat-filename.h, not filename.h.
53179         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53180         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53181         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53182         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
53183         instead of concatenated_filename.
53184         * lib/javaexec.c: Include concat-filename.h, not filename.h.
53185         (execute_java_class): Use xconcatenated_filename instead of
53186         concatenated_filename.
53187         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
53188         * modules/javacomp (Depends-on): Likewise.
53189         * modules/javaexec (Depends-on): Likewise.
53190
53191 2008-09-01  Bruno Haible  <bruno@clisp.org>
53192
53193         Split module 'filename' into 'filename' and 'concat-filename'.
53194         * modules/filename: Keep only lib/filename.h.
53195         (License): Change to LGPLv2+.
53196         * modules/concat-filename: New file, extracted from modules/filename.
53197         * lib/filename.h (concatenated_filename): Remove declaration.
53198         * lib/concat-filename.h: New file, extracted from lib/filename.h.
53199         * lib/concat-filename.c: Include concat-filename.h.
53200         * NEWS: Mention the change.
53201
53202 2008-09-01  Simon Josefsson  <simon@josefsson.org>
53203
53204         * lib/bitrotate.h (rotl8, rotr8): Add.
53205
53206         * modules/bitrotate (configure.ac): Need
53207         AC_REQUIRE([AC_C_INLINE]).
53208         (Description): Mention stdint.h.  Reported by Bruno Haible
53209         <bruno@clisp.org>.
53210
53211         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
53212         Paolo Bonzini <bonzini@gnu.org>.
53213
53214 2008-08-31  Bruno Haible  <bruno@clisp.org>
53215
53216         Assume Solaris specific bi-arch conventions on Solaris systems.
53217         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
53218         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
53219         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
53220         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
53221         like acl_libdirstem.
53222         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
53223         acl_libdirstem.
53224         * NEWS: Mention the change.
53225         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
53226
53227 2008-08-31  Jim Meyering  <meyering@redhat.com>
53228
53229         * lib/strftime.h: Add comments describing the two added arguments.
53230
53231         remove duplicate #include directives
53232         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
53233         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
53234
53235 2008-08-31  Bruno Haible  <bruno@clisp.org>
53236
53237         New module 'sigpipe-die'.
53238         * modules/sigpipe-die: New file.
53239         * lib/sigpipe-die.h: New file.
53240         * lib/sigpipe-die.c: New file.
53241         * MODULES.html.sh (Signal handling): Add sigpipe-die.
53242
53243 2008-08-31  Bruno Haible  <bruno@clisp.org>
53244
53245         Don't override previously installed signal handlers.
53246         * lib/fatal-signal.c (saved_sigactions): New variable.
53247         (uninstall_handlers): Reset the signal to the saved handler, not
53248         to SIG_DFL (except when ignored).
53249         (install_handlers): Save the previous handlers.
53250
53251 2008-08-30  Bruno Haible  <bruno@clisp.org>
53252
53253         * gnulib-tool (func_reset_sigpipe): New function.
53254         (func_get_automake_snippet, func_modules_transitive_closure,
53255         func_import): Invoke it before a join command that reads from stdin,
53256         to avoid "echo: write error: Broken pipe" error messages on stderr.
53257         Reported by Sam Steingold <sds@gnu.org>.
53258
53259 2008-08-30  Bruno Haible  <bruno@clisp.org>
53260
53261         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
53262         Code copied from m4/open.m4.
53263         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
53264         access and the filename ends in a slash. Code copied from lib/open.c.
53265         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
53266         * tests/test-fopen.c (main): Check against bug with trailing slash.
53267
53268 2008-08-29  Bruno Haible  <bruno@clisp.org>
53269
53270         Avoid some "gcc -pedantic" warnings.
53271         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
53272         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
53273         * lib/dirent.in.h: Likewise.
53274         * lib/fcntl.in.h: Likewise.
53275         * lib/float.in.h: Likewise.
53276         * lib/iconv.in.h: Likewise.
53277         * lib/inttypes.in.h: Likewise.
53278         * lib/locale.in.h: Likewise.
53279         * lib/math.in.h: Likewise.
53280         * lib/netinet_in.in.h: Likewise.
53281         * lib/search.in.h: Likewise.
53282         * lib/signal.in.h: Likewise.
53283         * lib/stdarg.in.h: Likewise.
53284         * lib/stdint.in.h: Likewise.
53285         * lib/stdio.in.h: Likewise.
53286         * lib/stdlib.in.h: Likewise.
53287         * lib/string.in.h: Likewise.
53288         * lib/strings.in.h: Likewise.
53289         * lib/sys_select.in.h: Likewise.
53290         * lib/sys_socket.in.h: Likewise.
53291         * lib/sys_stat.in.h: Likewise.
53292         * lib/sys_time.in.h: Likewise.
53293         * lib/sysexits.in.h: Likewise.
53294         * lib/time.in.h: Likewise.
53295         * lib/unistd.in.h: Likewise.
53296         * lib/wchar.in.h: Likewise.
53297         * lib/wctype.in.h: Likewise.
53298         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
53299         * modules/fchdir (Makefile.am): Likewise.
53300         * modules/fcntl (Makefile.am): Likewise.
53301         * modules/float (Makefile.am): Likewise.
53302         * modules/iconv_open (Makefile.am): Likewise.
53303         * modules/inttypes (Makefile.am): Likewise.
53304         * modules/locale (Makefile.am): Likewise.
53305         * modules/math (Makefile.am): Likewise.
53306         * modules/netinet_in (Makefile.am): Likewise.
53307         * modules/search (Makefile.am): Likewise.
53308         * modules/signal (Makefile.am): Likewise.
53309         * modules/stdarg (Makefile.am): Likewise.
53310         * modules/stdint (Makefile.am): Likewise.
53311         * modules/stdio (Makefile.am): Likewise.
53312         * modules/stdlib (Makefile.am): Likewise.
53313         * modules/string (Makefile.am): Likewise.
53314         * modules/strings (Makefile.am): Likewise.
53315         * modules/sys_select (Makefile.am): Likewise.
53316         * modules/sys_socket (Makefile.am): Likewise.
53317         * modules/sys_stat (Makefile.am): Likewise.
53318         * modules/sys_time (Makefile.am): Likewise.
53319         * modules/sysexits (Makefile.am): Likewise.
53320         * modules/time (Makefile.am): Likewise.
53321         * modules/unistd (Makefile.am): Likewise.
53322         * modules/wchar (Makefile.am): Likewise.
53323         * modules/wctype (Makefile.am): Likewise.
53324         Reported by Reuben Thomas <rrt@sc3d.org>.
53325
53326 2008-08-29  Bruno Haible  <bruno@clisp.org>
53327
53328         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
53329         any more.
53330
53331 2008-08-29  Simon Josefsson  <simon@josefsson.org>
53332
53333         * MODULES.html.sh (Misc): Add bitrotate.
53334
53335         * modules/bitrotate: New file.
53336
53337         * lib/bitrotate.h: New file.
53338
53339         * modules/bitrotate-tests: New file.
53340
53341         * tests/test-bitrotate.c: New file.
53342
53343         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
53344         on the bitrotate module.
53345
53346         * lib/arctwo.c: Use new bitrotate module.
53347
53348 2008-08-29  Jim Meyering  <meyering@redhat.com>
53349
53350         bootstrap: merge changes from coreutils
53351         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
53352         of copied files.  Remove a kludge, now that this is fixed.
53353         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
53354         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
53355         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
53356
53357 2008-08-29  Bruno Haible  <bruno@clisp.org>
53358
53359         * MODULES.html.sh: Remove --cvs-urls option.
53360
53361 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
53362
53363         maint.mk: adjust to file name change
53364         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
53365
53366 2008-08-28  Jim Meyering  <meyering@redhat.com>
53367
53368         * modules/getndelim2 (License): Relicense to LGPLv2+.
53369         Approved by Richard Stallman for the version of 1995, and by
53370         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
53371
53372 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
53373
53374         * lib/getdelim.c (flockfile, funlockfile): Make all of them
53375         dummy if one is not available.  Do not touch them if
53376         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
53377         (getc_maybe_unlocked): New.
53378         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
53379
53380 2008-08-26  Eric Blake  <ebb9@byu.net>
53381
53382         doc/INSTALL: resync from autoconf
53383         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
53384         (INSTALL_PRELUDE): Delete; this is done more efficiently by
53385         moving...
53386         * install.texi [!autoconf]: ...here.  Resync from autoconf.
53387         * INSTALL: Regenerate.
53388         * INSTALL.ISO: New file.
53389         * INSTALL.UTF-8: Likewise.
53390
53391 2008-08-26  Jim Meyering  <meyering@redhat.com>
53392
53393         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
53394         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
53395         these definitions conditional, so that they may be overridden, too.
53396
53397 2008-08-26  Bruno Haible  <bruno@clisp.org>
53398
53399         Generate INSTALL file variants with prettier quotes.
53400         * doc/Makefile (INSTALL_PRELUDE): New macro.
53401         (INSTALL): Use it.
53402         (INSTALL.ISO, INSTALL.UTF-8): New rules.
53403
53404 2008-08-26  Bruno Haible  <bruno@clisp.org>
53405
53406         Run makeinfo in an English locale.
53407         * doc/Makefile (MAKEINFO): New variable.
53408
53409 2008-08-26  Bruno Haible  <bruno@clisp.org>
53410
53411         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
53412         Suggested by Eric Blake.
53413
53414 2008-08-25  Bruno Haible  <bruno@clisp.org>
53415
53416         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
53417
53418 2008-08-25  Eric Blake  <ebb9@byu.net>
53419
53420         c-stack: test that stack overflow can be caught
53421         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
53422         that platform allows handling stack overflow; at least OS/2 EMX
53423         has sigaltstack, but crashes before transferring control to
53424         handler on stack overflow.
53425         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
53426         check for HAVE_STACK_OVERFLOW_HANDLING.
53427         Reported by Elbert Pol.
53428
53429 2008-08-25  Bruno Haible  <bruno@clisp.org>
53430
53431         * doc/posix-functions/strftime.texi: Fix description of strftime
53432         module.
53433
53434 2008-08-24  Bruno Haible  <bruno@clisp.org>
53435
53436         * tests/uniwidth/test-uc_width2.c: New file.
53437         * tests/uniwidth/test-uc_width2.sh: New file.
53438         * modules/uniwidth/width-tests (Files): Add the new files.
53439         (TESTS): Add uniwidth/test-uc_width2.sh.
53440         (TESTS_ENVIRONMENT): New variable.
53441         (check_PROGRAMS): Add test-uc_width2.
53442         (test_uc_width2_SOURCES): New variable.
53443
53444         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
53445         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
53446         not 0x00AB.
53447         Reported by Alexander V. Lukyanov <lav@netis.ru>.
53448
53449 2008-08-22  Eric Blake  <ebb9@byu.net>
53450
53451         test-lock, test-tls: mention why a test is skipped
53452         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
53453         skipped.
53454         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
53455
53456         count-one-bits: relax license
53457         * modules/count-one-bits (License): Relicense to LGPLv2+.
53458         Suggested by Ludovic Courtès, approved by Ben Pfaff.
53459
53460 2008-08-22  Andreas Schwab  <schwab@suse.de>
53461
53462         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
53463         Remove spurious space in assignment.
53464
53465 2008-08-21  Simon Josefsson  <simon@josefsson.org>
53466
53467         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
53468         Paul Eggert <eggert@CS.UCLA.EDU>.
53469
53470 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
53471
53472         * modules/gettext: Add m4/threadlib.m4.
53473
53474 2008-08-19  Eric Blake  <ebb9@byu.net>
53475
53476         test-c-stack: fix compilation failure on FreeBSD 5.0
53477         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
53478         headers before <sys/resource.h>.
53479         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
53480         the bug.
53481         Reported by Nelson H. F. Beebe.
53482
53483         strverscmp: migrate from "strverscmp.h" to <string.h>
53484         * modules/string (Makefile.am): Add new hooks.
53485         * modules/strverscmp (Files): Remove strverscmp.h.
53486         (Depends-on): Add string.
53487         (configure.ac): Add indicator.
53488         (Include): Mention new header.
53489         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
53490         defaults.
53491         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
53492         results.
53493         * lib/strverscmp.h: Delete.
53494         * lib/string.in.h (strverscmp): Provide declaration, when needed.
53495         * tests/test-strverscmp.c (includes): Adjust client.
53496         * lib/check-version.c (includes): Likewise.
53497         * NEWS: Document the change.
53498
53499         strverscmp: add unit test
53500         * modules/strverscmp-tests: New file.
53501         * tests/test-strverscmp.c: Likewise.
53502
53503 2008-08-19  Simon Josefsson  <simon@josefsson.org>
53504
53505         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
53506         regarding Windows crypto stuff, from Mono.
53507
53508 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
53509
53510         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
53511         if present, for intel RND.  Return error on failures.
53512
53513 2008-08-18  Ben Pfaff  <blp@gnu.org>
53514
53515         gitlog-to-changelog: give better diagnostic for failed pipe-open
53516         * build-aux/gitlog-to-changelog: Improve error message: suggest
53517         that the version of Git may be too old.
53518
53519 2008-08-18  Simon Josefsson  <simon@josefsson.org>
53520
53521         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
53522         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
53523
53524 2008-08-18  Bruno Haible  <bruno@clisp.org>
53525
53526         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
53527         pthread_in_use().
53528
53529 2008-08-18  Bruno Haible  <bruno@clisp.org>
53530
53531         * lib/glthread/threadlib.c: Include <pthread.h>.
53532
53533 2008-08-18  Bruno Haible  <bruno@clisp.org>
53534
53535         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
53536         glthread_recursive_lock_* macros.
53537         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
53538         Fix syntax error.
53539
53540 2008-08-18  Bruno Haible  <bruno@clisp.org>
53541
53542         * lib/glthread/thread.c: Avoid forcing a context switch right after
53543         thread creation.
53544
53545 2008-08-17  Bruno Haible  <bruno@clisp.org>
53546
53547         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
53548         * lib/glthread/thread.h: Provide Win32 specific implementation.
53549         * modules/thread (Files): Add lib/glthread/thread.c.
53550         (Depends-on): Add lock.
53551         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
53552
53553 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53554
53555         New module 'yield'.
53556         * modules/yield: New file.
53557         * lib/glthread/yield.h: New file.
53558         * m4/yield.m4: New file.
53559         * MODULES.html.sh (Multithreading): Add yield.
53560
53561 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53562
53563         New module 'thread'.
53564         * modules/thread: New file.
53565         * lib/glthread/thread.h: New file.
53566         * m4/thread.m4: New file.
53567         * MODULES.html.sh (Multithreading): Add thread.
53568
53569 2008-08-17  Bruno Haible  <bruno@clisp.org>
53570
53571         * lib/glthread/lock.h: Include <stdlib.h> always.
53572         * lib/glthread/tls.h: Likewise.
53573         * lib/glthread/cond.h: Likewise.
53574
53575 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53576
53577         New module 'cond'.
53578         * modules/cond: New file.
53579         * lib/glthread/cond.h: New file.
53580         * lib/glthread/cond.c: New file.
53581         * m4/cond.m4: New file.
53582         * MODULES.html.sh (Multithreading): Add cond.
53583
53584 2008-08-16  Eric Blake  <ebb9@byu.net>
53585
53586         c-stack: fix regression on Irix 5.3 from 2008-06-21
53587         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
53588         sa_sigaction...
53589         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
53590         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
53591         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
53592         * modules/signal (Makefile.am): Use the value.
53593         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
53594         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
53595         * doc/posix-headers/signal.texi (signal.h): Document this
53596         portability issue.
53597         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
53598         Reported by Tom G. Christensen.
53599
53600 2008-08-17  Bruno Haible  <bruno@clisp.org>
53601
53602         New module 'threadlib'.
53603         * modules/threadlib: New file.
53604         * lib/glthread/threadlib.c: New file, extracted from
53605         lib/glthread/lock.c.
53606         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
53607         functions.
53608         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
53609         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
53610         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
53611         macros.
53612         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
53613         (gl_DISABLE_THREADS): Remove macro.
53614         * modules/lock (Files): Remove build-aux/config.rpath.
53615         (Depends-on): Remove havelib. Add threadlib.
53616         (configure.ac-early): Remove section.
53617         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
53618         * modules/tls (Depends-on): Remove lock. Add threadlib.
53619         (Link): New section, copied from threadlib.
53620         * MODULES.html.sh (Multithreading): Add threadlib.
53621
53622 2008-08-14  Bruno Haible  <bruno@clisp.org>
53623
53624         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
53625         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
53626         glthread_rwlock_unlock, glthread_rwlock_destroy,
53627         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
53628         glthread_recursive_lock_destroy): Define as macros always.
53629         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
53630         glthread_lock_lock.
53631         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
53632         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
53633         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
53634         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
53635         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
53636         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
53637         (glthread_recursive_lock_lock_func): Renamed from
53638         glthread_recursive_lock_lock.
53639         (glthread_recursive_lock_unlock_func): Renamed from
53640         glthread_recursive_lock_unlock.
53641         (glthread_recursive_lock_destroy_func): Renamed from
53642         glthread_recursive_lock_destroy.
53643
53644 2008-08-14  Bruno Haible  <bruno@clisp.org>
53645
53646         * lib/glthread/lock.h: Renamed from lib/lock.h.
53647         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
53648         * lib/glthread/tls.h: Renamed from lib/tls.h.
53649         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
53650         * lib/fstrcmp.c: Update includes.
53651         * lib/strsignal.c: Update includes.
53652         * modules/lock (Files, Makefile.am): Update.
53653         (Include): Change to "glthread/lock.h".
53654         * modules/tls (Files, Makefile.am): Update.
53655         (Include): Change to "glthread/tls.h".
53656         * tests/test-lock.c: Update includes.
53657         * tests/test-tls.c: Update includes.
53658         * NEWS: Mention the renamed header files.
53659
53660 2008-08-11  Jim Meyering  <meyering@redhat.com>
53661
53662         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
53663
53664 2008-08-11  Eric Blake  <ebb9@byu.net>
53665
53666         test-c-stack: avoid C99-ism
53667         * tests/test-c-stack.c (main): Fix whitespace, move declaration
53668         before statement.
53669         Reported by Alain Guibert.
53670
53671 2008-08-10  Jim Meyering  <meyering@redhat.com>
53672
53673         ensure that return value of uinttostr et al are not ignored
53674         * lib/inttostr.h (__GNUC_PREREQ): Define.
53675         (__attribute_warn_unused_result__): Define.
53676         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
53677
53678 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
53679
53680         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
53681         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
53682
53683 2008-08-07  Jim Meyering  <meyering@redhat.com>
53684
53685         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
53686
53687         * modules/mkstemp (License): Relicense under LGPLv2+.
53688         * modules/tempname (License): Likewise.
53689
53690 2008-08-06  Bruno Haible  <bruno@clisp.org>
53691
53692         * lib/poll.c (poll): Further micro-optimization.
53693
53694 2008-08-06  Jim Meyering  <meyering@redhat.com>
53695
53696         inet_pton.c: use locale-independent tolower
53697         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
53698         (inet_pton6): Use c_tolower rather than tolower.
53699         * modules/inet_pton (Depends-on): Add c-ctype.
53700
53701 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
53702
53703         * lib/poll.c (poll): Avoid division when timeout is 0, cache
53704         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
53705
53706 2008-08-06  Jim Meyering  <meyering@redhat.com>
53707
53708         * modules/inet_pton (License): Relicense under LGPLv2+.
53709
53710 2008-08-03  Bruno Haible  <bruno@clisp.org>
53711
53712         Additional non-aborting API for lock and tls.
53713         * lib/lock.h: Include <errno.h>.
53714         (glthread_lock_init): New macro/function.
53715         (gl_lock_init): Define as wrapper around glthread_lock_init.
53716         (glthread_lock_lock): New macro/function.
53717         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
53718         (glthread_lock_unlock): New macro/function.
53719         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
53720         (glthread_lock_destroy): New macro/function.
53721         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
53722         (glthread_rwlock_init): New macro/function.
53723         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
53724         (glthread_rwlock_rdlock): New macro/function.
53725         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
53726         (glthread_rwlock_wrlock): New macro/function.
53727         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
53728         (glthread_rwlock_unlock): New macro/function.
53729         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
53730         (glthread_rwlock_destroy): New macro/function.
53731         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
53732         (glthread_recursive_lock_init): New macro/function.
53733         (gl_recursive_lock_init): Define as wrapper around
53734         glthread_recursive_lock_init.
53735         (glthread_recursive_lock_lock): New macro/function.
53736         (gl_recursive_lock_lock): Define as wrapper around
53737         glthread_recursive_lock_lock.
53738         (glthread_recursive_lock_unlock): New macro/function.
53739         (gl_recursive_lock_unlock): Define as wrapper around
53740         glthread_recursive_lock_unlock.
53741         (glthread_recursive_lock_destroy): New macro/function.
53742         (gl_recursive_lock_destroy): Define as wrapper around
53743         glthread_recursive_lock_destroy.
53744         (glthread_once): New macro/function.
53745         (gl_once): Define as wrapper around glthread_once.
53746         Update function declarations.
53747         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
53748         glthread_rwlock_init. Return error code.
53749         (glthread_rwlock_rdlock_multithreaded): Renamed from
53750         glthread_rwlock_rdlock. Return error code.
53751         (glthread_rwlock_wrlock_multithreaded): Renamed from
53752         glthread_rwlock_wrlock. Return error code.
53753         (glthread_rwlock_unlock_multithreaded): Renamed from
53754         glthread_rwlock_unlock. Return error code.
53755         (glthread_rwlock_destroy_multithreaded): Renamed from
53756         glthread_rwlock_destroy. Return error code.
53757         (glthread_recursive_lock_init_multithreaded): Renamed from
53758         glthread_recursive_lock_init. Return error code.
53759         (glthread_recursive_lock_lock_multithreaded): Renamed from
53760         glthread_recursive_lock_lock. Return error code.
53761         (glthread_recursive_lock_unlock_multithreaded): Renamed from
53762         glthread_recursive_lock_unlock. Return error code.
53763         (glthread_recursive_lock_destroy_multithreaded): Renamed from
53764         glthread_recursive_lock_destroy. Return error code.
53765         (glthread_once_call): Make static.
53766         (glthread_once_multithreaded): Renamed from glthread_once.
53767         * lib/tls.h: Include <errno.h>.
53768         (glthread_tls_key_init): New macro/function.
53769         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
53770         (glthread_tls_set): New macro/function.
53771         (gl_tls_set): Define as wrapper around glthread_tls_set.
53772         (glthread_tls_key_destroy): New macro/function.
53773         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
53774         Update function declarations.
53775         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
53776         glthread_tls_get.
53777         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53778
53779 2008-08-04  Eric Blake  <ebb9@byu.net>
53780
53781         gnumakefile: use space, not TAB, outside of targets
53782         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
53783
53784 2008-08-02  Jim Meyering  <meyering@redhat.com>
53785
53786         getdate.y: avoid locale-dependent date parsing failure
53787         In Turkish locales, getdate would fail to recognize keywords
53788         containing a lowercase "i".  The solution is not to rely on
53789         locale-sensitive case-conversion.
53790         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
53791         (lookup_word): Use c_toupper in place of toupper.
53792         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
53793         Reported by Vefa Bicakci <bicave@superonline.com> in
53794         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
53795         * modules/getdate (Depends-on): Add c-ctype.
53796
53797 2008-08-02  Bruno Haible  <bruno@clisp.org>
53798
53799         * gnulib-tool (func_import): When updating or creating a .gitignore
53800         file, prepend each added line with a slash, and ignore leading slashes
53801         from the existing lines.
53802         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53803
53804 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53805
53806         Portability fix for GNU make 3.79.1.
53807         * top/GNUmakefile: Avoid 'else COND', which older GNU make
53808         versions do not understand.
53809
53810 2008-08-01  Bruno Haible  <bruno@clisp.org>
53811
53812         Work around bug of HP-UX 10.20 cc with -0.0 literal.
53813         * tests/test-isnanf.h (zero): New variable.
53814         (main): Avoid literal -0.0f.
53815         * tests/test-isnand.h (zero): New variable.
53816         (main): Avoid literal -0.0.
53817         * tests/test-isnanl.h (zero): New variable.
53818         (main): Avoid literal -0.0L.
53819         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
53820         (test_float, test_double, test_long_double): Avoid literals -0.0f,
53821         -0.0, -0.0L.
53822         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
53823         (test_signbitd): Avoid literal -0.0.
53824         (test_signbitl): Avoid literal -0.0L.
53825         * tests/test-ceilf1.c (zero): New variable.
53826         (main): Avoid literal -0.0f.
53827         * tests/test-ceill.c (zero): New variable.
53828         (main): Avoid literal -0.0L.
53829         * tests/test-floorf1.c (zero): New variable.
53830         (main): Avoid literal -0.0f.
53831         * tests/test-floorl.c (zero): New variable.
53832         (main): Avoid literal -0.0L.
53833         * tests/test-roundf1.c (zero): New variable.
53834         (main): Avoid literal -0.0f.
53835         * tests/test-round1.c (zero): New variable.
53836         (main): Avoid literal -0.0.
53837         * tests/test-roundl.c (zero): New variable.
53838         (main): Avoid literal -0.0L.
53839         * tests/test-truncf1.c (zero): New variable.
53840         (main): Avoid literal -0.0f.
53841         * tests/test-trunc1.c (zero): New variable.
53842         (main): Avoid literal -0.0.
53843         * tests/test-truncl.c (zero): New variable.
53844         (main): Avoid literal -0.0L.
53845         * tests/test-frexp.c (zero): New variable.
53846         (main): Avoid literal -0.0.
53847         * tests/test-frexpl.c (zero): New variable.
53848         (main): Avoid literal -0.0L.
53849         * tests/test-ldexpl.c (zero): New variable.
53850         (main): Avoid literal -0.0L.
53851         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53852         (zerod, zerol): New variables.
53853         (test_function): Avoid literals -0.0, -0.0L.
53854         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
53855         (zerod, zerol): New variables.
53856         (test_function): Avoid literals -0.0, -0.0L.
53857         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53858         (zerod, zerol): New variables.
53859         (test_function): Avoid literals -0.0, -0.0L.
53860         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
53861         (zerod, zerol): New variables.
53862         (test_function): Avoid literals -0.0, -0.0L.
53863         * tests/test-strtod.c (zero): New variable.
53864         (main): Avoid literal -0.0.
53865         Reported by Jonathan C. Patschke <jp@centtech.com>.
53866
53867 2008-07-31  Jim Meyering  <meyering@redhat.com>
53868
53869         sha256.h: correct definition of SHA224_DIGEST_SIZE
53870         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
53871         Reported by Paulie Pena IV <paulie4@gmail.com>.
53872         Define as 224 / 8, rather than as a literal.
53873         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
53874         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
53875         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
53876
53877 2008-07-31  Bruno Haible  <bruno@clisp.org>
53878
53879         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
53880         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
53881         Reported by Jonathan Patschke <jp@centtech.com>.
53882
53883 2008-07-31  Bruno Haible  <bruno@clisp.org>
53884
53885         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
53886         Reported by Paolo Bonzini <bonzini@gnu.org>.
53887
53888 2008-07-30  Eric Blake  <ebb9@byu.net>
53889
53890         test-strtod: allow compilation without -lm
53891         * tests/test-strtod.c (main): Avoid link dependence on fabs.
53892         Reported by Dennis Clarke <blastwave@gmail.com>.
53893
53894 2008-07-28  Jim Meyering  <meyering@redhat.com>
53895
53896         bootstrap: work also when there are no .po files in po/
53897         * build-aux/bootstrap (update_po_files): Complete the change
53898         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
53899
53900 2008-07-27  Jim Meyering  <meyering@redhat.com>
53901
53902         * users.txt: Add zile.
53903
53904 2008-07-26  Ben Pfaff  <blp@gnu.org>
53905
53906         Add missing dependencies on new m4/exponent[fdl].m4 files.
53907         * modules/isnanf-nolibm: Add m4/exponentf.m4.
53908         * modules/isnand-nolibm: Add m4/exponentd.m4.
53909         * modules/isnanl-nolibm: Add m4/exponentl.m4.
53910         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
53911         m4/isnan[fdl].m4, because the macros actually used moved.
53912         Reported by Jim Meyering.
53913
53914 2008-07-14  Ben Pfaff  <blp@gnu.org>
53915
53916         Add isinf module.
53917         * lib/isinf.c: New file.
53918         * lib/math.in.h: Define isinf macro if we have decided to replace
53919         it.
53920         * m4/isinf.m4: New file.
53921         * m4/math_h.m4: Initialize and substitute variables for isinf
53922         module.
53923         * modules/isinf: New file.
53924         * modules/isinf-tests: New file.
53925         * modules/math: Add substitutions for new module.
53926         * tests/test-isinf.c: New file.
53927         * doc/posix-functions/isinf.texi: Mention new module.
53928         * MODULES.html.sh: Mention new module.
53929
53930 2008-07-14  Ben Pfaff  <blp@gnu.org>
53931
53932         Factor out some macros for use by additional modules.
53933         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
53934         exponentf.m4.
53935         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
53936         exponentd.m4.
53937         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
53938         file exponentl.m4.
53939         * m4/exponentf.m4: New file.
53940         * m4/exponentd.m4: New file.
53941         * m4/exponentl.m4: New file.
53942         * modules/isnanf: Use new file m4/exponentf.m4.
53943         * modules/isnand: Use new file m4/exponentd.m4.
53944         * modules/isnanl: Use new file m4/exponentl.m4.
53945
53946 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
53947
53948         mktime.c: normalize tp->tm_isdst value to -1/0/1.
53949         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
53950         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
53951         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
53952
53953         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
53954         readlink on platforms without PATH_MAX.
53955
53956 2008-07-21  Eric Blake  <ebb9@byu.net>
53957
53958         Warn, not fail, on stale version.
53959         * top/GNUmakefile (_curr-ver): Tone down previous patch.
53960
53961         Don't allow installation with stale devel version number.
53962         * top/GNUmakefile (_is-install-target): New macro.
53963         (_curr-ver): Forbid installation with stale version number.
53964
53965 2008-07-20  Bruno Haible  <bruno@clisp.org>
53966
53967         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
53968         TESTS_ENVIRONMENT.
53969         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
53970
53971 2008-07-20  Bruno Haible  <bruno@clisp.org>
53972
53973         * lib/c-stack.h (c_stack_action): Add documentation.
53974         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
53975
53976 2008-07-20  Bruno Haible  <bruno@clisp.org>
53977
53978         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
53979         * modules/readlink (License): Likewise.
53980
53981 2008-07-17  Eric Blake  <ebb9@byu.net>
53982
53983         * modules/c-stack (Link): Fix typo.
53984
53985         Make c-stack use libsigsegv, when available.
53986         * modules/c-stack (Depends-on): Add libsigsegv.
53987         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
53988         needed.
53989         * lib/c-stack.c (SIGSTKSZ): Define fallback.
53990         (segv_handler, overflow_handler, c_stack_action)
53991         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
53992         implementation when libsigsegv is available, but only when using
53993         the library is necessary.
53994         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
53995         comment, explaining why XSI check fails on Linux.
53996         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
53997         * tests/test-c-stack2.sh: Tweak skip message.
53998         * NEWS: Document new link-time requirements.
53999
54000 2008-07-16  Eric Blake  <ebb9@byu.net>
54001
54002         c-stack: Expose false positives when not using libsigsegv.
54003         * modules/c-stack-tests (Files): Expand test.
54004         * tests/test-c-stack.c (main): Add means to conditionally trigger
54005         non-overflow SIGSEGV.
54006         * tests/test-c-stack2.sh: New file.
54007
54008 2008-07-14  Bruno Haible  <bruno@clisp.org>
54009
54010         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
54011         Reported by Eric Blake.
54012
54013 2008-07-14  Sam Steingold  <sds@gnu.org>
54014             Bruno Haible  <bruno@clisp.org>
54015
54016         New module libsigsegv.
54017         * modules/libsigsegv: New file.
54018         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
54019         modifications.
54020         * MODULES.html.sh (Signal handling): New section.
54021
54022 2008-07-14  Bruno Haible  <bruno@clisp.org>
54023
54024         * modules/unictype/ctype-* (Description): Add the word "function".
54025         Improves the resulting doc in MODULES.html.
54026
54027 2008-07-12  Ben Pfaff  <blp@gnu.org>
54028
54029         Add longlong module.
54030         * modules/longlong: New file.
54031
54032 2008-07-12  Bruno Haible  <bruno@clisp.org>
54033
54034         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
54035         to empty.
54036
54037 2008-07-10  Ben Pfaff  <blp@gnu.org>
54038
54039         Add isnan module.
54040         * doc/posix-functions/isnan.texi: Mention new module.
54041         * lib/math.in.h: Define isnan macro if we have decided to replace
54042         it.
54043         * m4/isnan.m4: New file.
54044         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
54045         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
54046         also.
54047         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
54048         redundancy.
54049         * m4/math_h.m4: Initialize and substitute variables for isnan
54050         module.
54051         * modules/isnan: New file.
54052         * modules/isnan-tests: New file.
54053         * modules/math: Add substitutions for new module.
54054         * tests/test-isnan.c: New file.
54055         * MODULES.html.sh: Mention new module.
54056
54057 2008-07-10  Ben Pfaff  <blp@gnu.org>
54058
54059         Add isnanf module.
54060         * lib/isnanf.m4: New file.
54061         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
54062         (gl_HAVE_ISNANF_IN_LIBM): New macro.
54063         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
54064         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
54065         * modules/isnanf: New file.
54066         * modules/isnanf-tests: New file.
54067         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
54068         files.
54069         * tests/test-isnanf-nolibm.c: factored most of its contents into
54070         new file tests/test-isnanf.h.
54071         * tests/test-isnanf.h: New file.
54072         * tests/test-isnanf.c: New file.
54073         * MODULES.html.sh: Mention new module.
54074         * doc/glibc-functions/isnanf.texi: Mention new module.
54075
54076 2008-07-10  Ben Pfaff  <blp@gnu.org>
54077
54078         Add isnand module.
54079         * lib/isnand.h: New file.
54080         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
54081         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
54082         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
54083         functionality also.
54084         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
54085         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
54086         (gl_HAVE_ISNAND_IN_LIBM): New macro.
54087         * modules/isnand: New file.
54088         * modules/isnand-tests: New file.
54089         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
54090         files.
54091         * tests/test-isnand-nolibm.c: factored most of its contents into
54092         new file tests/test-isnand.h.
54093         * tests/test-isnand.h: New file.
54094         * tests/test-isnand.c: New file.
54095         * MODULES.html.sh: Mention new module.
54096
54097 2008-07-10  Ben Pfaff  <blp@gnu.org>
54098
54099         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
54100         * lib/isnand.h: Rename lib/isnand-nolibm.h.
54101         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
54102         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
54103         * modules/isnanf-nolibm: Update references to renamed files.
54104         * modules/isnand-nolibm: Likewise.
54105         * modules/isnanf-nolibm-tests: Likewise.
54106         * modules/isnand-nolibm-tests: Likewise.
54107         * lib/frexp.c: Likewise.
54108         * lib/isfinite.c: Likewise.
54109         * lib/signbitd.c: Likewise.
54110         * lib/signbitf.c: Likewise.
54111         * lib/vasnprintf.c: Likewise.
54112         * tests/test-ceilf1.c: Likewise.
54113         * tests/test-ceilf2.c: Likewise.
54114         * tests/test-floorf1.c: Likewise.
54115         * tests/test-floorf2.c: Likewise.
54116         * tests/test-frexp.c: Likewise.
54117         * tests/test-round1.c: Likewise.
54118         * tests/test-round2.c: Likewise.
54119         * tests/test-roundf1.c: Likewise.
54120         * tests/test-strtod.c: Likewise.
54121         * tests/test-trunc1.c: Likewise.
54122         * tests/test-trunc2.c: Likewise.
54123         * tests/test-truncf1.c: Likewise.
54124         * tests/test-truncf2.c: Likewise.
54125         * NEWS: Mention the renamed header files.
54126
54127 2008-07-11  Jim Meyering  <meyering@redhat.com>
54128
54129         vc-list-files: make the last-resort awk code more portable
54130         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
54131         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
54132         does not support it.
54133
54134 2008-07-10  Eric Blake  <ebb9@byu.net>
54135
54136         Work with tar's bootstrap.
54137         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
54138         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
54139         an m4 comment.
54140
54141 2008-07-09  Jim Meyering  <meyering@redhat.com>
54142
54143         posix-shell.m4: fix typo that made this test malfunction
54144         * m4/posix-shell.m4: Remove capitalization in variable name.
54145
54146 2008-07-08  Bruno Haible  <bruno@clisp.org>
54147
54148         * m4/onceonly.m4: Update comments.
54149         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54150
54151 2008-07-04  Jim Meyering  <meyering@redhat.com>
54152
54153         * users.txt: Add vc-dwim.
54154         (bison, coreutils): Use the gitweb URL.
54155
54156 2008-07-03  Jim Meyering  <meyering@redhat.com>
54157
54158         * users.txt: Add libffcall.  From Sam Steingold.
54159
54160 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
54161
54162         getdate.y: do not ignore TZ with relative day, month or year offset
54163         * lib/getdate.y (get_date): Move the tz-handling block to follow the
54164         relative-date-handling, since otherwise, the latter would clobber the
54165         sole output (an updated Start value) of the tz-handling block.
54166         * tests/test-getdate.c: Tests for the fix
54167
54168 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54169
54170         Recognize 'foo_LIBRARIES += libgnu.a'.
54171         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
54172         makefile snippet has already specified an installation location,
54173         also using '+='.
54174
54175 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
54176
54177         getdate.y: factor out common actions
54178         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
54179         Use them in place of open-coded actions.
54180
54181 2008-07-01  Simon Josefsson  <simon@josefsson.org>
54182
54183         Add self-test for getdate module.
54184         * modules/getdate-tests: New file.
54185         * tests/test-getdate.c: New file.
54186
54187 2008-06-29  Bruno Haible  <bruno@clisp.org>
54188
54189         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
54190         .gitignore.
54191         Reported by Sylvain Beucler <beuc@beuc.net>.
54192
54193 2008-06-29  Bruno Haible  <bruno@clisp.org>
54194
54195         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
54196         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
54197
54198 2008-06-29  Bruno Haible  <bruno@clisp.org>
54199
54200         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
54201         EXTRA_DIST.
54202         Reported by Sylvain Beucler <beuc@beuc.net>.
54203
54204 2008-06-26  Jim Meyering  <meyering@redhat.com>
54205
54206         make several modules depend on the "open" module
54207         This provides slightly increased consistency when opening-for-write
54208         the name of a non-directory spelled with a trailing slash.
54209         * modules/chdir-safer: Likewise.
54210         * modules/chown: Likewise.
54211         * modules/clean-temp: Likewise.
54212         * modules/copy-file: Likewise.
54213         * modules/fchdir: Likewise.
54214         * modules/fcntl-safer: Likewise.
54215         * modules/pipe: Likewise.
54216         * modules/utime: Likewise.
54217         Prompted by Eric Blake and Bruno Haible.
54218
54219 2008-06-24  Andreas Schwab  <schwab@suse.de>
54220
54221         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
54222         literals can be used as initializers for global variables.
54223
54224 2008-06-23  Eric Blake  <ebb9@byu.net>
54225
54226         Make gnulib-cache.m4 easier to diff.
54227         * gnulib-tool (func_import): Allow newlines when reading cached
54228         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
54229
54230 2008-06-23  Bruno Haible  <bruno@clisp.org>
54231
54232         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
54233         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
54234         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
54235         m4/signalblocking.m4.
54236         (gl_PREREQ_SIGACTION): Don't invoke it.
54237         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
54238         gl_PREREQ_SIG_HANDLER_H.
54239         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54240         Don't check for sigaction here.
54241
54242 2008-06-23  Bruno Haible  <bruno@clisp.org>
54243
54244         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
54245         (install_handlers): Don't set the SA_RESETHAND flag.
54246
54247 2008-06-23  Bruno Haible  <bruno@clisp.org>
54248
54249         * m4/sigaction.m4: Comment fixes.
54250         * lib/signal.in.h: Likewise.
54251
54252 2008-06-23  Eric Blake  <ebb9@byu.net>
54253
54254         Fix typo.
54255         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
54256
54257         Avoid SA_ namespace.
54258         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
54259         Reported by Ralf Wildenhues.
54260
54261         Avoid test failure due to SA_RESTORER.
54262         * tests/test-sigaction.c (SA_MASK): New macro.
54263         (main): Avoid failing due to extension flags being set.
54264         Reported by Jim Meyering.
54265
54266         Revert use of sig-handler.h in sigprocmask.c.
54267         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
54268         it requires the existence of struct sigaction.
54269         * lib/sigprocmask.c (handler_t): Restore typedef.
54270         (rpl_signal, old_handlers): Use local type.
54271
54272 2008-06-22  Bruno Haible  <bruno@clisp.org>
54273
54274         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
54275         conditionally.
54276         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54277
54278 2008-06-22  Bruno Haible  <bruno@clisp.org>
54279
54280         * doc/posix-functions/siginterrupt.texi: Move note.
54281
54282         * lib/signal.in.h (SA_RESTART): New macro.
54283         * lib/sigaction.c: Update comment.
54284
54285         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
54286
54287         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
54288         (gl_PREREQ_SIGPROCMASK): Invoke it.
54289         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
54290
54291         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
54292
54293         * lib/sigprocmask.c: Update a comment.
54294
54295 2008-06-21  Eric Blake  <ebb9@byu.net>
54296
54297         Use sigaction module rather than signal().
54298         * modules/c-stack (Depends-on): Add sigaction.
54299         * modules/fatal-signal (Depends-on): Likewise.
54300         * modules/nanosleep (Depends-on): Likewise.
54301         * modules/sigprocmask (Files): Add sig-handler.h.
54302         * modules/sigaction (Files): Likewise.
54303         * lib/sig-handler.h (get_handler): New file, suggested by Paul
54304         Eggert.
54305         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
54306         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
54307         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
54308         (init_fatal_signals): Likewise.
54309         * lib/nanosleep.c (rpl_nanosleep): Likewise.
54310         (siginterrupt): Delete fallback.
54311         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
54312         instead.
54313         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
54314         siginterrupt.
54315
54316         New module sigaction, for mingw.
54317         * modules/sigaction: New module...
54318         * modules/sigaction-tests: ...and its test.
54319         * m4/sigaction.m4: New file.
54320         * lib/sigaction.c: Likewise.
54321         * tests/test-sigaction.c: Likewise.
54322         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
54323         * modules/signal (Makefile.am): Likewise.
54324         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
54325         needed.
54326         * doc/posix-headers/signal.texi (signal.h): Mention provided
54327         types.
54328         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
54329         that sigaction is preferable.
54330         * doc/posix-functions/sigaction.texi (sigaction): Mention new
54331         module.
54332         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54333         sigaction.
54334
54335         Improve robustness of sigprocmask by overriding signal.
54336         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
54337         is in use.
54338         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
54339         (SIGKILL, SIGSTOP): Provide fallbacks.
54340         (rpl_signal): Implement.
54341         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
54342         signal can be called inside handlers.
54343
54344         Fix nanosleep module on mingw.
54345         * modules/nanosleep (Depends-on): Add sys_select.
54346         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
54347
54348         Fix licensing of sigprocmask.
54349         * modules/raise (License): Relicense as LGPL.
54350
54351 2008-06-21  Bruno Haible  <bruno@clisp.org>
54352
54353         * lib/propername.c (proper_name_utf8): Don't use the transliterated
54354         result if it contains question marks.
54355         Reported by Michael Geng <linux@michaelgeng.de>.
54356
54357 2008-06-19  Bruno Haible  <bruno@clisp.org>
54358
54359         Fix CVS-ism.
54360         * doc/gnulib.texi: Include updated-stamp.texi.
54361         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
54362         (updated-stamp.texi): New rule.
54363         (gnulib.info): Depend on it.
54364         * doc/.gitignore: Add updated-stamp.texi.
54365         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
54366
54367 2008-06-19  Bruno Haible  <bruno@clisp.org>
54368
54369         * doc/Makefile (gnulib.info): Update and simplify dependencies.
54370         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
54371
54372 2008-06-19  Eric Blake  <ebb9@byu.net>
54373
54374         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
54375         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
54376         Reported by Stepan Kasal.
54377
54378 2008-06-18  Bruno Haible  <bruno@clisp.org>
54379
54380         * lib/fatal-signal.c (init_fatal_signals): Add comment.
54381         Reported by Eric Blake.
54382
54383 2008-06-18  Eric Blake  <ebb9@byu.net>
54384
54385         Work around cygwin 1.5.25 strsignal bug.
54386         * tests/test-strsignal.c: Allow for const char *.
54387         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
54388
54389 2008-06-18  Simon Josefsson  <simon@josefsson.org>
54390
54391         * users.txt: Update URL to article and add author/date
54392         information.
54393
54394 2008-06-17  Bruno Haible  <bruno@clisp.org>
54395
54396         New macro gl_DISABLE_THREADS.
54397         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
54398         if the user did not pass --enable-threads or --disable-threads option.
54399         (gl_DISABLE_THREADS): New macro.
54400         Reported by Eric Blake <ebb9@byu.net>.
54401
54402 2008-06-17  Bruno Haible  <bruno@clisp.org>
54403
54404         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
54405         when the macro ignores it.
54406         Based on a patch by Eric Blake <ebb9@byu.net>.
54407
54408 2008-06-17  Bruno Haible  <bruno@clisp.org>
54409
54410         * modules/tls (License): Change to LGPLv2+.
54411         Reported by Eric Blake.
54412
54413 2008-06-17  Eric Blake  <ebb9@byu.net>
54414
54415         Simplify c-stack prerequisites.
54416         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
54417         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
54418         no longer requires <ucontext.h> to exist.  Optimize setrlimit
54419         check.
54420         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
54421         <sys/resource.h>.
54422
54423         Move c-stack test into testsuite.
54424         * modules/c-stack-tests: New file.
54425         * lib/c-stack.c [DEBUG]: Move test program...
54426         * tests/test-c-stack.c: ...into this new file.  Skip rather than
54427         fail test if sigaltstack is lacking.
54428         * tests/test-c-stack.sh: New driver file.
54429
54430 2008-06-16  Eric Blake  <ebb9@byu.net>
54431
54432         Use raise module consistently.
54433         * modules/fatal-signal (Depends-on): Add raise.
54434         * modules/sigprocmask (Depends-on): Likewise.
54435         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
54436         * lib/sigprocmask.c (sigprocmask): Likewise.
54437         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
54438         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
54439
54440         Fix compliance bug in sigpending.
54441         * lib/sigprocmask.c (sigpending): Return pending array via
54442         parameter, not return value.
54443
54444 2008-06-14  Eric Blake  <ebb9@byu.net>
54445
54446         Improve obstack-printf test code.
54447         * tests/test-obstack-printf.c (test_function): Fix comment, and
54448         simplify usage of obstack_* in macros.  Add a test for coverage.
54449         Reported by Bruno Haible.
54450
54451 2008-06-14  Bruno Haible  <bruno@clisp.org>
54452
54453         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
54454         array size as a constant, not as a const variable.
54455         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
54456         AC_USE_SYSTEM_EXTENSIONS.
54457         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
54458         Test whether the obstack_printf function actually exists.
54459         * modules/obstack-printf (Depends-on): Add extensions.
54460         (Include): Remove obstack.h.
54461         * modules/obstack-printf-posix (Depends-on): Add extensions.
54462         (Include): Remove obstack.h.
54463
54464 2008-06-13  Eric Blake  <ebb9@byu.net>
54465
54466         Add obstack-printf and obstack-printf-posix modules.
54467         * modules/obstack-printf: New file.
54468         * modules/obstack-printf-posix: Likewise.
54469         * MODULES.html.sh (Misc): Mention them.
54470         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
54471         Likewise.
54472         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
54473         Likewise.
54474         * modules/stdio (Makefile.am): Accomodate new modules.
54475         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54476         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
54477         Declare.
54478         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
54479         functions.
54480         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
54481         (gl_REPLACE_OBSTACK_PRINTF): New macros
54482         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
54483         * tests/test-obstack-printf.c: New file.
54484         * modules/obstack-printf-tests: Likewise.
54485         * modules/obstack-printf-posix-tests: Likewise.
54486
54487 2008-06-11  Bruno Haible  <bruno@clisp.org>
54488
54489         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
54490         * lib/open.c: Include errno.h.
54491         (open): Fail when attempting to write to a file that has a trailing
54492         slash.
54493         * tests/test-open.c (main): Test against trailing slash bug.
54494         * doc/posix-functions/open.texi: Mention the trailing slash bug.
54495
54496 2008-06-10  Bruno Haible  <bruno@clisp.org>
54497
54498         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
54499         for $? to work inside the trap command, with various /bin/sh-s.
54500         * tests/test-vc-list-files-cvs.sh: Likewise.
54501
54502 2008-06-10  Bruno Haible  <bruno@clisp.org>
54503
54504         * lib/acl-internal.h: Don't include gettext.h here.
54505         * lib/set-mode-acl.c: Include gettext.h here.
54506         * lib/copy-acl.c: Likewise.
54507
54508 2008-06-10  Bruno Haible  <bruno@clisp.org>
54509
54510         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
54511         * lib/wait-process.c (wait_subprocess): Likewise.
54512         * lib/execute.h (execute): Add termsigp argument.
54513         * lib/execute.c (execute): Likewise.
54514         * lib/csharpcomp.c (compile_csharp_using_pnet,
54515         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
54516         * lib/csharpexec.c (execute_csharp_using_pnet,
54517         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
54518         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
54519         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
54520         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
54521         is_jikes_present): Update.
54522         * lib/javaexec.c (execute_java_class): Update.
54523         * lib/javaversion.c (execute_and_read_line): Update.
54524         * NEWS: Document the changes.
54525         Reported by Eric Blake.
54526
54527 2008-06-10  Eric Blake  <ebb9@byu.net>
54528
54529         Add missing include.
54530         * tests/test-strstr.c (includes): Add <signal.h>.
54531         * tests/test-strcasestr.c (includes): Likewise.
54532         * tests/test-memmem.c (includes): Likewise.
54533
54534 2008-06-10  Bruno Haible  <bruno@clisp.org>
54535
54536         * lib/wait-process.c (wait_subprocess): Add an assertion.
54537
54538 2008-06-10  Bruno Haible  <bruno@clisp.org>
54539
54540         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
54541
54542 2008-06-10  Bruno Haible  <bruno@clisp.org>
54543
54544         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
54545         using alarm().
54546         * tests/test-strcasestr.c (main): Likewise.
54547         * tests/test-strstr.c (main): Likewise.
54548
54549 2008-06-09  Bruno Haible  <bruno@clisp.org>
54550
54551         Work around the Solaris 10 ACE ACLs ABI change.
54552         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
54553         declare if ACL_NO_TRIVIAL is present.
54554         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
54555         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
54556         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
54557         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
54558         define if ACL_NO_TRIVIAL is present.
54559         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
54560         and use the current ABI.
54561         (file_has_acl): Use same #if condition as elsewhere.
54562         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
54563         in use, and use the current ABI.
54564         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
54565         Reported by Jim Meyering.
54566
54567 2008-06-09  Eric Blake  <ebb9@byu.net>
54568
54569         Work around environments that (stupidly) ignore SIGALRM.
54570         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
54571         before using alarm().
54572         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54573         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54574         Reported by Ian Beckwith <ianb@erislabs.net>.
54575
54576         Produce autobuild blurb earlier in log.
54577         * modules/autobuild (configure.ac-early): Move AB_INIT here.
54578
54579 2008-06-09  Jim Meyering  <meyering@redhat.com>
54580         and OndÅ™ej Vašík  <ovasik@redhat.com>
54581
54582         utimens.c: correct kernel bug work-around
54583         OndÅ™ej Vašík found that the invalid return value of 280 indicates
54584         failure, not success, and the kernel bug we're trying to work
54585         around affects not just the utimensat call, but also the fallback
54586         futimens call.
54587         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
54588         not success.
54589         [HAVE_FUTIMENS]: Use the same work-around, here.
54590
54591 2008-06-09  Jim Meyering  <meyering@redhat.com>
54592
54593         add more guards around definition of ACE_-related code
54594         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
54595         ALLOW and ACE_OWNER are also defined.
54596
54597 2008-06-08  Bruno Haible  <bruno@clisp.org>
54598
54599         * lib/acl-internal.h: Add me as co-author.
54600         * lib/file-has-acl.c: Likewise.
54601         * lib/set-mode-acl.c: Likewise.
54602         * lib/copy-acl.c: Likewise.
54603
54604 2008-06-08  Bruno Haible  <bruno@clisp.org>
54605
54606         Add support for AIX ACLs.
54607         * lib/acl-internal.h (acl_nontrivial): New declaration.
54608         * lib/file-has-acl.c (acl_nontrivial): New function.
54609         (file_has_acl): Add implementation using AIX 4 ACL API.
54610         * lib/set-mode-acl.c (qset_acl): Likewise.
54611         * lib/copy-acl.c (qcopy_acl): Likewise.
54612
54613 2008-06-08  Bruno Haible  <bruno@clisp.org>
54614
54615         Add support for HP-UX ACLs.
54616         * lib/acl-internal.h (acl_nontrivial): New declaration.
54617         * lib/file-has-acl.c (acl_nontrivial): New function.
54618         (file_has_acl): Add implementation using HP-UX 11 ACL API.
54619         * lib/set-mode-acl.c (qset_acl): Likewise.
54620         * lib/copy-acl.c (qcopy_acl): Likewise.
54621
54622 2008-06-08  Bruno Haible  <bruno@clisp.org>
54623
54624         Add support for Cygwin ACLs.
54625         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
54626         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
54627         the chmod_or_fchmod call.
54628         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
54629
54630 2008-06-08  Bruno Haible  <bruno@clisp.org>
54631
54632         Fix bug with setuid modes in Solaris 10+ code.
54633         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
54634         succeeded, when the mode contains some special bits.
54635
54636 2008-06-08  Bruno Haible  <bruno@clisp.org>
54637
54638         Add support for Solaris 7..10 ACLs.
54639         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
54640         declarations.
54641         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
54642         functions.
54643         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
54644         * lib/set-mode-acl.c (qset_acl): Likewise.
54645         * lib/copy-acl.c (qcopy_acl): Likewise.
54646
54647 2008-06-08  Bruno Haible  <bruno@clisp.org>
54648
54649         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
54650         declaration.
54651         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
54652         (acl_access_nontrivial): Remove MacOS X case.
54653         (file_has_acl): Use acl_extended_nontrivial.
54654         * lib/copy-acl.c (qcopy_acl): Likewise.
54655
54656 2008-06-08  Bruno Haible  <bruno@clisp.org>
54657
54658         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
54659
54660 2008-06-08  Jim Meyering  <meyering@redhat.com>
54661
54662         * modules/acl (Maintainer): Add Bruno Haible.
54663
54664 2008-06-07  Bruno Haible  <bruno@clisp.org>
54665
54666         Improve support for Tru64 ACLs.
54667         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
54668         ACL on OSF/1.
54669
54670 2008-06-07  Bruno Haible  <bruno@clisp.org>
54671
54672         Add support for MacOS X ACLs.
54673         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
54674         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
54675         * lib/set-mode-acl.c (qset_acl): Likewise.
54676         * lib/copy-acl.c (qcopy_acl): Likewise.
54677
54678 2008-06-07  Bruno Haible  <bruno@clisp.org>
54679
54680         Fix memory leak introduced on 2008-05-22.
54681         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
54682         use.
54683
54684 2008-06-07  Bruno Haible  <bruno@clisp.org>
54685
54686         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
54687         to construct an empty ACL.
54688
54689 2008-06-07  Bruno Haible  <bruno@clisp.org>
54690
54691         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
54692         precisely.
54693         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
54694
54695 2008-06-07  Bruno Haible  <bruno@clisp.org>
54696
54697         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
54698         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
54699
54700 2008-06-07  Bruno Haible  <bruno@clisp.org>
54701
54702         * doc/posix-functions/_setjmp.texi: Explain the use of this function
54703         regardless of POSIX.
54704         * doc/posix-functions/_longjmp.texi: Likewise.
54705         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
54706         SystemV platform in this case.
54707
54708 2008-06-06  Eric Blake  <ebb9@byu.net>
54709
54710         Document abort() bugs.
54711         * doc/posix-functions/abort.texi (abort): Mention anomalies.
54712
54713         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
54714         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
54715         sigsetjmp.
54716         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
54717         siglongjmp, but only as a macro.
54718         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
54719         is obsolete.
54720         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
54721
54722         Tweak documentation to cover cygwin argz bugs.
54723         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
54724         argz bug fix; no code change needed since no cygwin releases
54725         occurred between the last fix and the bug being tested.
54726         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
54727         module and recently fixed cygwin bugs.
54728         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
54729         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
54730         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
54731         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
54732         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
54733         Likewise.
54734         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
54735         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
54736         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
54737         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
54738         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
54739         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
54740         Likewise.
54741
54742         Avoid gcc warning on cygwin.
54743         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
54744         !ACL_NO_TRIVIAL]: Avoid unused variable.
54745
54746 2008-06-05  Eric Blake  <ebb9@byu.net>
54747
54748         Be tolerant of UNKNOWN version in gnulib-tool test dir.
54749         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
54750         git-version-gen fails to come up with a version.
54751         Reported by Simon Josefsson.
54752
54753 2008-06-05  Jim Meyering  <meyering@redhat.com>
54754             Paul Eggert  <eggert@cs.ucla.edu>
54755
54756         utimens.c: work around a probable Linux kernel bug
54757         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
54758         appears to be a kernel bug that causes utimensat to return 280
54759         instead of 0, indicating success.
54760
54761 2008-06-04  Bruno Haible  <bruno@clisp.org>
54762
54763         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
54764         2008-06-01 commit.
54765
54766 2008-06-04  Bruno Haible  <bruno@clisp.org>
54767
54768         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
54769         * lib/file-has-acl.c (acl_access_nontrivial): New function.
54770         (file_has_acl): Use it. Save errno afterwards.
54771         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
54772
54773 2008-06-03  Bruno Haible  <bruno@clisp.org>
54774
54775         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
54776         draft code. Simplify #ifs.
54777         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
54778         Put Solaris code after POSIX-draft code. Fix comments regarding
54779         Solaris 10, HP-UX. Mention Cygwin.
54780         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
54781
54782 2008-06-03  Eric Blake  <ebb9@byu.net>
54783
54784         Provide fallback for older kernels.
54785         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
54786         Provide runtime fallback if kernel lacks support.
54787         Reported by Mike Frysinger.
54788
54789 2008-06-02  Bruno Haible  <bruno@clisp.org>
54790
54791         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
54792         it exists.
54793
54794 2008-06-02  Bruno Haible  <bruno@clisp.org>
54795
54796         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
54797         * lib/copy-acl.c (qcopy_acl): Update comment.
54798
54799 2008-06-02  Bruno Haible  <bruno@clisp.org>
54800
54801         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
54802         like ACL APIs.
54803
54804 2008-06-02  Bruno Haible  <bruno@clisp.org>
54805
54806         * tests/test-file-has-acl.sh: Use different code for Cygwin.
54807         * tests/test-set-mode-acl.sh: Likewise.
54808         * tests/test-copy-acl.sh: Likewise.
54809         * tests/test-copy-file.sh: Likewise.
54810
54811 2008-06-02  Bruno Haible  <bruno@clisp.org>
54812
54813         * tests/test-file-has-acl.sh: Remove unused code.
54814
54815 2008-06-01  Bruno Haible  <bruno@clisp.org>
54816
54817         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
54818         (copy_acl): Just a wrapper around qcopy_acl that emits the error
54819         messages.
54820         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
54821
54822 2008-06-01  Bruno Haible  <bruno@clisp.org>
54823
54824         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
54825         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
54826         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
54827         APIs.
54828         * modules/acl-tests (configure.ac): Remove tests now contained in
54829         m4/acl.m4.
54830
54831 2008-06-02  Jim Meyering  <meyering@redhat.com>
54832
54833         announce-gen: use a better key-server host name
54834         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
54835         it may be more consistently reliable.  Suggested by Werner Koch
54836         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
54837
54838 2008-06-01  Bruno Haible  <bruno@clisp.org>
54839
54840         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
54841         Reported by Voroskoi Andras <voroskoi@gmail.com>.
54842
54843 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
54844
54845         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
54846
54847 2008-06-01  Bruno Haible  <bruno@clisp.org>
54848
54849         New ACL tests.
54850         * tests/test-file-has-acl.sh: New file.
54851         * tests/test-file-has-acl.c: New file.
54852         * tests/test-set-mode-acl.sh: New file.
54853         * tests/test-set-mode-acl.c: New file.
54854         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
54855         * tests/test-copy-acl.c: New file.
54856         * modules/acl-tests: New file, based on modules/copy-file-tests.
54857         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
54858         (Depends-on): Add acl-tests.
54859         (configure.ac): Remove checks.
54860         (Makefile.am): Don't create test-sameacls program here any more.
54861
54862 2008-06-01  Bruno Haible  <bruno@clisp.org>
54863
54864         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
54865         * tests/test-sameacls.c: Include progname.h.
54866         (main): Invoke set_program_name. Portability fixes for MacOS X,
54867         Solaris, HP-UX.
54868
54869 2008-06-01  Bruno Haible  <bruno@clisp.org>
54870
54871         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
54872         function.
54873         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
54874
54875 2008-06-01  Bruno Haible  <bruno@clisp.org>
54876
54877         * modules/rpmatch (Depends-on): Add strdup.
54878
54879 2008-06-01  Bruno Haible  <bruno@clisp.org>
54880
54881         * lib/pipe.c: Include unistd-safer.h.
54882         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
54883         * modules/pipe (Depends-on): Add unistd-safer.
54884
54885 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54886
54887         * modules/autobuild (configure.ac): Call AB_INIT.
54888
54889 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54890
54891         * tests/test-getaddrinfo.c: Don't print debug messages by default.
54892         Suggested by Bruno Haible <bruno@clisp.org>.
54893
54894 2008-05-30  Simon Josefsson  <simon@josefsson.org>
54895
54896         * tests/test-base64.c: Cast size_t to unsigned long when invoking
54897         printf.  Use %lu instead of %d.  Reported by Bruno Haible
54898         <bruno@clisp.org>.
54899
54900 2008-05-29  Eric Blake  <ebb9@byu.net>
54901
54902         Prefer new POSIX 200x interfaces over futimesat.
54903         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
54904         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
54905         when available.
54906         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
54907
54908 2008-05-28  Bruno Haible  <bruno@clisp.org>
54909
54910         * modules/stpcpy (License): Change to LGPLv2+.
54911         Requested by David Lutterkort <dlutter@redhat.com>.
54912
54913 2008-05-27  Bruno Haible  <bruno@clisp.org>
54914
54915         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
54916         current mingw.
54917         Reported by Jose E. Marchesi <jemarch@gnu.org>.
54918
54919 2008-05-27  Bruno Haible  <bruno@clisp.org>
54920
54921         * modules/iconv_open (Link): New section, from module 'iconv'.
54922         * modules/striconv (Link): Likewise.
54923         * modules/striconveh (Link): Likewise.
54924         * modules/xstriconv (Link): Likewise.
54925         * modules/unicodeio (Link): Likewise.
54926         * modules/propername (Link): Likewise.
54927         Reported by Jim Meyering.
54928
54929 2008-05-26  Jim Meyering  <meyering@redhat.com>
54930
54931         sha256: do not artificially restrict buffer length to be < 2^32
54932         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
54933         uint32_t to size_t.
54934         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
54935         to match.
54936
54937         avoid unaligned access errors, e.g., on sparc
54938         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
54939         direct access through a possibly-unaligned uint64* pointer.
54940         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
54941         direct access through a possibly-unaligned uint32* pointer.
54942         Prompted by this patch from Tom "spot" Callaway:
54943         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
54944
54945         sha512.c: fix typo in comment
54946         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
54947
54948 2008-05-25  Bruno Haible  <bruno@clisp.org>
54949
54950         * lib/set-mode-acl.c: Renamed from lib/acl.c.
54951         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
54952         (Makefile.am): Update lib_SOURCES.
54953
54954 2008-05-25  Bruno Haible  <bruno@clisp.org>
54955
54956         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
54957
54958 2008-05-25  Jim Meyering  <meyering@redhat.com>
54959
54960         useless-if-before-free: freed expr may have white-space differences
54961         * build-aux/useless-if-before-free: Recognize cases in which the
54962         freed expression differs from the tested one in embedded white
54963         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
54964         $1 was used, so we can't make any regexp shy.  Improved tests now
54965         detect this.
54966
54967         useless-if-before-free: accept white space in the expression.
54968         * build-aux/useless-if-before-free: For now, any white space
54969         in the expression must be identical in the free argument.
54970
54971         useless-if-before-free: efficiency tweak
54972         * build-aux/useless-if-before-free: Make the expression-matching
54973         regexp "shy".
54974         Make the *outer* regexp shy, not the expr-matching one.
54975
54976         update code-in-comment to accept cast of free arg
54977         * build-aux/useless-if-before-free: Update regexp.
54978
54979 2008-05-25  Bruno Haible  <bruno@clisp.org>
54980
54981         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
54982         * modules/copy-file-tests (Files, Makefile.am): Update.
54983         * tests/test-copy-file.c (func_test_copy): Update.
54984
54985 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
54986
54987         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
54988
54989 2008-05-23  Bruno Haible  <bruno@clisp.org>
54990
54991         Improve support for ACLs on OSF/1.
54992         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
54993         Remove fallback for unknown flavors of ACLs.
54994
54995 2008-05-22  Bruno Haible  <bruno@clisp.org>
54996
54997         Add support for ACLs on OSF/1.
54998         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
54999         replacements.
55000         (acl_free_text): New macro fallback.
55001         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
55002         acl_free.
55003         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
55004         acl_free_text function. Require AC_C_INLINE.
55005
55006 2008-05-22  Bruno Haible  <bruno@clisp.org>
55007
55008         Make copy_acl work on MacOS X 10.5.
55009         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
55010         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
55011         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
55012         If MODE_INSIDE_ACL, don't assume that every system has the same text
55013         representation for ACLs as FreeBSD.
55014         * lib/copy-acl.c (copy_acl): Add support for platforms with
55015         !MODE_INSIDE_ACL.
55016         * lib/file-has-acl.c (file_has_acl): Likewise.
55017         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
55018         FreeBSD, MacOS X, or IRIX, respectively.
55019
55020 2008-05-22  Bruno Haible  <bruno@clisp.org>
55021
55022         * lib/acl.h: Don't include <sys/acl.h>.
55023         (GETACLCNT): Move fallback to lib/acl-internal.h.
55024         * lib/acl-internal.h: Include <sys/acl.h> here.
55025         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
55026
55027 2008-05-22  Bruno Haible  <bruno@clisp.org>
55028
55029         Split off copy_acl function to separate file.
55030         * lib/copy-acl.c: New file, extracted from lib/acl.c.
55031         * lib/acl.c (copy_acl): Moved function to separate file.
55032         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
55033         * modules/acl (Files): Add lib/copy-acl.c.
55034         (Makefiles.am): Augment lib_SOURCES.
55035
55036 2008-05-22  Bruno Haible  <bruno@clisp.org>
55037
55038         * modules/copy-file-tests: New file.
55039         * tests/test-copy-file.sh: New file.
55040         * tests/test-copy-file.c: New file.
55041         * tests/test-copy-file-sameacls.c: New file.
55042
55043 2008-05-22  Eric Blake  <ebb9@byu.net>
55044
55045         Avoid gcc warning.
55046         * tests/test-memcmp.c (main): Pass NULL indirectly.
55047
55048 2008-05-21  Bruno Haible  <bruno@clisp.org>
55049
55050         Add reference doc about ACLs.
55051         * doc/acl-resources.txt: New file.
55052         * doc/acl-cygwin.txt: New file.
55053
55054 2008-05-21  Bruno Haible  <bruno@clisp.org>
55055
55056         Avoid one more warning from gcc.
55057         * lib/vasnprintf.c (IF_LINT): Update comments.
55058         (VASNPRINTF): Use it also for the 'prefix' array initializer.
55059
55060 2008-05-21  Jim Meyering  <meyering@redhat.com>
55061
55062         avoid a warning from gcc
55063         * lib/vasnprintf.c (IF_LINT): Define.
55064         (scale10_round_decimal_long_double):
55065         Use it to avoid a "may be used uninitialized" warning.
55066         (scale10_round_decimal_double): Likewise.
55067
55068 2008-05-21  Simon Josefsson  <simon@josefsson.org>
55069
55070         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
55071         declared.
55072
55073 2008-05-20  Bruno Haible  <bruno@clisp.org>
55074
55075         * tests/test-memcmp.c (main): Test also the sign of the result. Test
55076         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
55077
55078 2008-05-20  Simon Josefsson  <simon@josefsson.org>
55079
55080         * modules/memcmp-tests: New file.
55081         * tests/test-memcmp.c: New file.
55082
55083 2008-05-19  Bruno Haible  <bruno@clisp.org>
55084
55085         * modules/propername (Notice, configure.ac): Put quoted "..." into
55086         --keyword option.
55087         * lib/propername.h: Update comments accordingly.
55088         Reported by Eric Blake.
55089
55090 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
55091
55092         * modules/getpass-gnu (Depends-on): Add fseeko.
55093
55094 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55095
55096         * modules/base64-tests: New file.
55097
55098 2008-05-19  Bo Borgerson <gigabo@gmail.com>
55099
55100         * lib/base64.c (base64_decode_ctx): If a decode context structure
55101         was passed in use it to ignore newlines.  If a context structure
55102         was _not_ passed in, continue to treat newlines as garbage (this
55103         is the historical behavior).  Formerly base64_decode.
55104         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55105         takes a decode context structure.
55106         * lib/base64.h (base64_decode): Macro for four-argument calls.
55107         (base64_decode_alloc): Likewise.
55108         * lib/base64.c (base64_decode_ctx): If a decode context structure
55109         was passed in use it to ignore newlines.  If a context structure
55110         was _not_ passed in, continue to treat newlines as garbage (this
55111         is the historical behavior).  Formerly base64_decode.
55112         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55113         takes a decode context structure.
55114         * lib/base64.h (base64_decode): Macro for four-argument calls.
55115         (base64_decode_alloc): Likewise.
55116
55117 2008-05-19  Jim Meyering  <meyering@redhat.com>
55118
55119         avoid a warning from gcc
55120         * lib/trim.c (IF_LINT): Define.
55121         (trim2): Use it to avoid a "may be used uninitialized" warning.
55122
55123         Fix doc typo.
55124         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
55125
55126 2008-05-19  Bruno Haible  <bruno@clisp.org>
55127
55128         * doc/glibc-functions/getpass.texi: Document limits of other
55129         implementations.
55130
55131 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55132             Bruno Haible <bruno@clisp.org>
55133
55134         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
55135
55136 2008-05-18  Bruno Haible  <bruno@clisp.org>
55137
55138         * modules/propername: New file, from GNU gettext.
55139         * lib/propername.h: New file, from GNU gettext.
55140         * lib/propername.c: New file, from GNU gettext.
55141         * MODULES.html.sh (Internationalization functions): Add propername.
55142
55143 2008-05-16  Jim Meyering  <meyering@redhat.com>
55144             Bruno Haible  <bruno@clisp.org>
55145
55146         Avoid some warnings from "gcc -Wshadow".
55147         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
55148
55149 2008-05-15  Eric Blake  <ebb9@byu.net>
55150
55151         Extend previous patch to cygwin 1.7.0.
55152         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
55153         fast implementation in cygwin >= 1.7.0.
55154         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55155         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55156
55157 2008-05-15  Bruno Haible  <bruno@clisp.org>
55158
55159         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
55160         implementation in glibc >= 2.9.
55161         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55162         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55163
55164 2008-05-15  Bruno Haible  <bruno@clisp.org>
55165
55166         * MODULES.html.sh (Internationalization functions): Remove linebreak.
55167         (Unicode string functions): Add unilbrk/*.
55168         Reported by Karl Berry.
55169
55170 2008-05-15  Eric Blake  <ebb9@byu.net>
55171
55172         Fix violation of <stdbool.h> replacement in regex.
55173         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
55174         * lib/regexec.c (re_search_internal): Likewise.
55175         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
55176
55177 2008-05-15  Jim Meyering  <meyering@redhat.com>
55178
55179         avoid distracting test output when git or cvs is not found
55180         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
55181         * tests/test-vc-list-files-git.sh: Likewise.
55182
55183 2008-05-15  Eric Blake  <ebb9@byu.net>
55184
55185         Glibc finally accepted the memmem speedup code, bugzilla #5514.
55186         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
55187         glibc version.
55188         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55189         * doc/posix-functions/strstr.texi (strstr): Likewise.
55190         * lib/str-two-way.h (MAX): Sychronize with glibc.
55191
55192 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
55193
55194         * lib/regcomp.c (optimize_utf8): Add a note on why we test
55195         opr.ctx_type.
55196         (calc_first): Initialize constraint field.
55197         (duplicate_node_closure): Use it instead of special casing ANCHORS.
55198         Fix grammar.
55199         (duplicate_node): Merge constraint field for all node types.
55200         (calc_eclosure_iter): Look at constraint field for all node types.
55201         * lib/regex_internal.c (create_cd_newstate): Don't look at
55202         opr.ctx_type.
55203
55204 2008-05-14  Bruno Haible  <bruno@clisp.org>
55205
55206         Help GCC to do better code generation.
55207         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
55208         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
55209         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
55210         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
55211         Declare with attribute 'malloc' if supported.
55212
55213 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
55214
55215         use "echo STR|wc -c" rather than unportable "expr length STR"
55216         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
55217         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
55218
55219 2008-05-14  Jim Meyering  <meyering@redhat.com>
55220
55221         use dd ibs=$n count=1 ... rather than less-portable head -c$n
55222         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
55223         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
55224         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
55225         via Collin Lasse.
55226
55227 2008-05-14  Eric Blake  <ebb9@byu.net>
55228
55229         Avoid quadratic growth in gl_LIBSOURCES.
55230         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
55231         Suggested by Bruno Haible.
55232
55233         Test xmemdup0.
55234         * modules/xmemdup0-tests: New file.
55235         * tests/test-xmemdup0.c: Likewise.
55236
55237 2008-05-13  Eric Blake  <ebb9@byu.net>
55238
55239         Split xmemdup0 into its own module.
55240         * modules/xmemdup0: New file.
55241         * lib/xmemdup0.h: Likewise.
55242         * lib/xmemdup0.c: Likewise.
55243         * MODULES.html.sh (Memory management functions): Add xmemdup0.
55244         * lib/xalloc.h (xmemdup0): Remove.
55245         * lib/xmalloc.c (xmemdup0): Likewise.
55246
55247 2008-05-13  Eric Blake  <ebb9@byu.net>
55248             Bruno Haible  <bruno@clisp.org>
55249
55250         Reduce number of forks required during autoconf.
55251         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
55252         and gl_LIBSOURCES_DIR.
55253         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
55254         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
55255         m4_syscmd per file.
55256         <m4_foreach_w>: Move...
55257         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
55258
55259 2008-05-13  Eric Blake  <ebb9@byu.net>
55260
55261         * gnulib-tool: Fix various comment typos.
55262
55263 2008-05-12  Bruno Haible  <bruno@clisp.org>
55264
55265         Tailor the linebreaking algorithm.
55266         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
55267
55268 2008-05-12  Bruno Haible  <bruno@clisp.org>
55269
55270         Update to Unicode 5.0.0.
55271         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55272         LBP_JV, LBP_JT. Redistribute values.
55273         (unilbrk_table): Change size.
55274         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
55275         Unicode TR#14 rev. 22.
55276         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
55277         LBP_JV, LBP_JT. Redistribute values.
55278         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
55279         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
55280         Update.
55281         * lib/unilbrk/lbrkprop1.h: Regenerated.
55282         * lib/unilbrk/lbrkprop2.h: Regenerated.
55283         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
55284         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
55285         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
55286         Likewise.
55287         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
55288         Likewise.
55289         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
55290         result.
55291         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
55292         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
55293         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
55294         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
55295         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
55296         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
55297
55298 2008-05-11  Bruno Haible  <bruno@clisp.org>
55299
55300         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
55301
55302 2008-05-11  Bruno Haible  <bruno@clisp.org>
55303
55304         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
55305         * modules/unilbrk/gen-lbrk: New file.
55306
55307 2008-05-11  Bruno Haible  <bruno@clisp.org>
55308
55309         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
55310         * m4/sha512.m4 (gl_SHA512): Likewise.
55311
55312 2008-05-11  Jim Meyering  <meyering@redhat.com>
55313
55314         New modules: crypto/sha256, crypto/sha512 (from coreutils)
55315         * modules/crypto/sha256: New file.
55316         * modules/crypto/sha512: Likewise.
55317         * lib/sha256.c: Likewise.
55318         * lib/sha256.h: Likewise.
55319         * lib/sha512.c: Likewise.
55320         * lib/sha512.h: Likewise.
55321         * lib/u64.h: Likewise.
55322         * m4/sha256.m4: Likewise.
55323         * m4/sha512.m4: Likewise.
55324         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
55325
55326 2008-05-10  Bruno Haible  <bruno@clisp.org>
55327
55328         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
55329         (Input/Output <stdio.h>): Add xprintf.
55330         (Signal handling <signal.h>): Add strsignal.
55331         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
55332         (Core language properties): Add func.
55333         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
55334         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
55335         strings.
55336         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
55337         (Input/output): New section.
55338         (File system functions): Add openat-die, stat-macros.
55339         (Networking functions): Add sockets.
55340         (Unicode string functions): Add unictype/*.
55341         (Support for building libraries and executables): Add gperf.
55342         (Support for building documentation): Add agpl-3.0.
55343         (Misc): Add nocrash.
55344
55345 2008-05-10  Bruno Haible  <bruno@clisp.org>
55346
55347         * modules/unictype/gen-ctype: New file.
55348
55349 2008-05-10  Jim Meyering  <meyering@redhat.com>
55350
55351         Make chdir-safer.c more efficient on a system with no symlinks.
55352         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
55353         also if ELOOP is zero.  Suggested by Bruno Haible.
55354
55355         Make chdir-safer.c slightly safer.
55356         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
55357         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
55358
55359         Avoid compile failure on systems without ELOOP (like mingw).
55360         * lib/chdir-safer.c (ELOOP): Define if not already defined.
55361         Reported by Bruno Haible.
55362
55363 2008-05-10  Bruno Haible  <bruno@clisp.org>
55364
55365         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
55366         (is_utf8_encoding): Use a case-insensitive comparison.
55367         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
55368         streq.
55369
55370 2008-05-10  Bruno Haible  <bruno@clisp.org>
55371
55372         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
55373         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
55374         * lib/unilbrk/ulc-common.h (iconv_string_length,
55375         iconv_string_keeping_offsets): Remove declarations.
55376         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
55377         Don't include <iconv.h>, streq.h, xsize.h.
55378         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
55379         conversion.
55380         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
55381         <iconv.h>, streq.h, xsize.h.
55382         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
55383         conversion.
55384         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
55385         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
55386         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
55387         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
55388
55389 2008-05-10  Bruno Haible  <bruno@clisp.org>
55390
55391         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
55392         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
55393
55394         * modules/unilbrk/u32-width-linebreaks-tests: New file.
55395         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
55396
55397         * modules/unilbrk/u16-width-linebreaks-tests: New file.
55398         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
55399
55400         * modules/unilbrk/u8-width-linebreaks-tests: New file.
55401         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
55402
55403         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
55404         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
55405
55406         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
55407         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
55408
55409         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
55410         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
55411
55412         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
55413         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
55414
55415 2008-05-10  Bruno Haible  <bruno@clisp.org>
55416
55417         Split up 'linebreak' module.
55418         * lib/unilbrk.h: New file, based on lib/linebreak.h.
55419         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
55420         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
55421         modifications.
55422         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
55423         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
55424         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
55425         lib/linebreak.c.
55426         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
55427         lib/linebreak.c.
55428         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
55429         lib/linebreak.c.
55430         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
55431         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
55432         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
55433         lib/linebreak.c.
55434         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
55435         lib/linebreak.c.
55436         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
55437         lib/linebreak.c.
55438         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
55439         lib/linebreak.c.
55440         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
55441         lib/linebreak.c.
55442         * modules/unilbrk/base: New file.
55443         * modules/unilbrk/tables: New file.
55444         * modules/unilbrk/u8-possible-linebreaks: New file.
55445         * modules/unilbrk/u16-possible-linebreaks: New file.
55446         * modules/unilbrk/u32-possible-linebreaks: New file.
55447         * modules/unilbrk/ulc-common: New file.
55448         * modules/unilbrk/ulc-possible-linebreaks: New file.
55449         * modules/unilbrk/u8-width-linebreaks: New file.
55450         * modules/unilbrk/u16-width-linebreaks: New file.
55451         * modules/unilbrk/u32-width-linebreaks: New file.
55452         * modules/unilbrk/ulc-width-linebreaks: New file.
55453         * lib/linebreak.h: Remove file.
55454         * lib/linebreak.c: Remove file.
55455         * m4/linebreak.m4: Remove file.
55456         * modules/linebreak: Remove file.
55457         * NEWS: Mention the changes.
55458
55459 2008-05-09  Eric Blake  <ebb9@byu.net>
55460
55461         Add xmemdup0.
55462         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
55463         implementation.
55464         * lib/xmalloc.c (xmemdup0): New C implementation.
55465
55466 2008-05-08  Bruno Haible  <bruno@clisp.org>
55467
55468         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
55469
55470 2008-05-07  Eric Blake  <ebb9@byu.net>
55471
55472         Support cross-compilation of <wctype.h>.
55473         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
55474         AC_CACHE_CHECK.
55475
55476 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
55477
55478         * build-aux/vc-list-files: Add support for bzr.
55479
55480 2008-05-03  Jim Meyering  <meyering@redhat.com>
55481
55482         avoid failed assertion with tight malloc
55483         * tests/test-getndelim2.c: Correct an off-by-one assertion.
55484
55485 2008-05-03  Simon Josefsson  <simon@josefsson.org>
55486
55487         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
55488         are needed from arpa/inet.h.
55489         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
55490         Reported by Bruno Haible.
55491
55492 2008-05-02  Jim Meyering  <meyering@redhat.com>
55493
55494         avoid compilation error on FreeBSD 6
55495         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
55496
55497 2008-05-01  Jim Meyering  <meyering@redhat.com>
55498
55499         useless-if-before-free: correct --help's exit status description
55500         * build-aux/useless-if-before-free (usage): Like grep, exit 0
55501         for one or more matches, etc.  Reported by Bruno Haible.
55502
55503         vc-list-files: make the stand-alone gnulib test work
55504         * modules/vc-list-files-tests (configure.ac):
55505         Define and AC_SUBST abs_aux_dir.
55506         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
55507         $(abs_top_srcdir) to each script and having each of them
55508         duplicate the work of setting PATH, set PATH here, using
55509         the new variable, abs_aux_dir instead.
55510         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
55511         * tests/test-vc-list-files-git.sh: Likewise.
55512         Reported by Bruno Haible.
55513
55514 2008-05-01  Bruno Haible  <bruno@clisp.org>
55515
55516         * lib/getndelim2.c (getndelim2): Fix newsize computation during
55517         reallocation. Rename 'done' to 'found_delimiter'.
55518
55519 2008-05-01  Jim Meyering  <meyering@redhat.com>
55520
55521         vc-list-files: accommodate /bin/sh like the one from Solaris 10
55522         * build-aux/vc-list-files: Use `...`, not $(...).
55523
55524 2008-04-30  Jim Meyering  <meyering@redhat.com>
55525
55526         add tests for vc-list-files
55527         * modules/vc-list-files-tests: New module.
55528         * tests/test-vc-list-files-cvs.sh: New file.
55529         * tests/test-vc-list-files-git.sh: New file.
55530
55531         avoid a warning from gcc
55532         * lib/getndelim2.c (IF_LINT): Define.
55533         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
55534
55535         vc-list-files: work properly with build-aux/cvsu, too
55536         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
55537         to all cvs-based clauses.
55538
55539         vc-list-files: work properly in the CVS+awk case, too
55540         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
55541
55542         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
55543         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
55544         take more than one file argument, so .  Add quotes, just in case $dir
55545         ever contains a shell meta-character.  Prompted by Soren Hansen in
55546         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
55547
55548 2008-04-29  Eric Blake  <ebb9@byu.net>
55549
55550         Optimize getndelim2 to use block operations when possible.
55551         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
55552         freadseek, and memchr2.
55553         * lib/getndelim2.c (getndelim2): Use them for block reads.
55554
55555 2008-04-29  Bruno Haible  <bruno@clisp.org>
55556
55557         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
55558         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55559         * modules/inet_ntop (Depends-on): Add extensions.
55560         * modules/inet_pton (Depends-on): Likewise.
55561         Reported by Simon Josefsson.
55562
55563 2008-04-29  Jim Meyering  <meyering@redhat.com>
55564
55565         When the is more than one match in a block, match all of them.
55566         * build-aux/useless-if-before-free: Iterate through each block
55567         until there are no more matches.
55568
55569         Fix broken useless-if-before-free script.
55570         * build-aux/useless-if-before-free: Fix typo: missing "?" after
55571         the expression to match cast of argument to free-like function.
55572
55573 2008-04-29  Eric Blake  <ebb9@byu.net>
55574
55575         Use new header.
55576         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
55577
55578 2008-04-29  Jim Meyering  <meyering@redhat.com>
55579
55580         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
55581         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
55582         by gnulib to exist and to declare e.g., inet_ntop.
55583         Don't include "inet_ntop.h", now removed.
55584
55585         * m4/arpa_inet_h.m4: Remove trailing blanks.
55586
55587 2008-04-29  Eric Blake  <ebb9@byu.net>
55588
55589         Silence valgrind on safe reads beyond potential array bounds.
55590         * lib/rawmemchr.valgrind: New file.
55591         * lib/strchrnul.valgrind: Likewise.
55592         * modules/rawmemchr (Files): Distribute new file.
55593         * modules/strchrnul (Files): Likewise.
55594         Suggested by Bruno Haible.
55595
55596 2008-04-29  Bruno Haible  <bruno@clisp.org>
55597
55598         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
55599         (inet_ntop, inet_pton): Change portability warning's wording.
55600         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
55601         Invoke gl_CHECK_NEXT_HEADERS.
55602         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
55603         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
55604         set ARPA_INET_H.
55605         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55606         * modules/arpa_inet (Description): No longer only for systems that
55607         lack it.
55608         (Depends-on): Add include_next.
55609         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
55610         HAVE_ARPA_INET_H.
55611
55612 2008-04-29  Jim Meyering  <meyering@redhat.com>
55613
55614         * modules/mkdir (License): Re-license as LGPLv2+.
55615
55616 2008-04-29  Bruno Haible  <bruno@clisp.org>
55617
55618         * modules/rawmemchr (Maintainer): Set to Eric.
55619         * modules/strchrnul (Maintainer): Likewise.
55620
55621 2008-04-29  Simon Josefsson  <simon@josefsson.org>
55622
55623         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
55624         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
55625
55626         * modules/arpa_inet (arpa/inet.h): Use them.
55627
55628 2008-04-28  Eric Blake  <ebb9@byu.net>
55629
55630         Test getndelim2.
55631         * modules/getndelim2-tests: New file.
55632         * tests/test-getndelim2.c: Likewise.
55633         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
55634         stream.
55635         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
55636
55637         * MODULES.html.sh: Document new module.
55638
55639 2008-04-20  Bruno Haible  <bruno@clisp.org>
55640
55641         * lib/c-stack.c (die): Use raise.
55642         * modules/c-stack (Depends-on): Add raise.
55643
55644 2008-04-28  Bruno Haible  <bruno@clisp.org>
55645
55646         Expect rpmatch to be declared.
55647         * lib/yesno.c (rpmatch): Remove declaration.
55648
55649         Declare rpmatch.
55650         * lib/stdlib.in.h (rpmatch): New declaration.
55651         * lib/rpmatch.c: Include <stdlib.h> first.
55652         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
55653         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
55654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
55655         HAVE_RPMATCH.
55656         * modules/rpmatch (Depends-on): Add stdlib, extensions.
55657         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55658         (Include): Set to <stdlib.h>.
55659         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
55660         HAVE_RPMATCH.
55661         * NEWS: Document the change.
55662
55663 2008-04-28  Bruno Haible  <bruno@clisp.org>
55664
55665         Change rpmatch to use nl_langinfo when appropriate.
55666         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
55667         (N_): New macro.
55668         (localized_pattern): New function/macro.
55669         (try): Remove match, nomatch arguments. Copy the pattern into safe
55670         memory before caching it.
55671         (rpmatch): Use localized_pattern. Add translator comments.
55672         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
55673         Suggested by Eric Blake.
55674         * modules/rpmatch (Depends-on): Add stdbool.
55675
55676 2008-04-28  Eric Blake  <ebb9@byu.net>
55677
55678         Add rawmemchr module, matching glibc.
55679         * modules/string (Makefile.am): New indicator.
55680         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
55681         * lib/string.in.h (rawmemchr): Declare when appropriate.
55682         * modules/rawmemchr: New file.
55683         * m4/rawmemchr.m4: Likewise.
55684         * lib/rawmemchr.c: Likewise.
55685         * modules/rawmemchr-tests: Likewise.
55686         * tests/test-rawmemchr.c: Likewise.
55687         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
55688         module.
55689         * modules/strchrnul (Depends-on): Add rawmemchr.
55690         * lib/strchrnul.c (strchrnul): Optimize a corner case.
55691
55692         Whitespace cleanup.
55693         * tests/test-strchrnul.c: Reindent.
55694         * lib/strchrnul.c: Likewise.
55695
55696         Optimize and test strchrnul.
55697         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
55698         * modules/strchrnul-tests: New file.
55699         * tests/test-strchrnul.c: Likewise.
55700
55701         Remove intprops dependency.
55702         * modules/memchr (Depends-on): Remove intprops.
55703         * modules/memrchr (Depends-on): Likewise.
55704         * modules/memchr2 (Depends-on): Likewise.
55705         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
55706         * lib/memrchr.c (__memrchr): Likewise.
55707         * lib/memrchr2.c (memchr2): Likewise.
55708         Reported by Simon Josefsson.
55709
55710 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55711
55712         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
55713         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55714
55715 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55716
55717         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
55718
55719         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
55720
55721         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
55722
55723         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
55724         declarations.
55725         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
55726
55727         * m4/inet_pton.m4: Don't check for header files.
55728
55729         * m4/inet_ntop.m4: Don't check for header files.
55730
55731 2008-04-28  Simon Josefsson  <simon@josefsson.org>
55732
55733         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
55734         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
55735         trigger for cygwin).
55736         Reported by Bruno Haible  <bruno@clisp.org>.
55737
55738 2008-04-28  Bruno Haible  <bruno@clisp.org>
55739
55740         * doc/posix-functions/strdup.texi: Mention mingw problem.
55741
55742 2008-04-27  Bruno Haible  <bruno@clisp.org>
55743
55744         * modules/stat-time-tests (Depends-on): Add sleep.
55745         * tests/test-stat-time.c (force_unlink): New function.
55746         (cleanup): Use it.
55747         (test_mtime): Remove the ctime related tests.
55748         (test_ctime): New function, containing the ctime related tests.
55749         (main): Call test_ctime, except on native Windows platforms.
55750
55751 2008-04-27  Bruno Haible  <bruno@clisp.org>
55752
55753         * lib/rpmatch.c (rpmatch): Add some comments.
55754         Reported by James Youngman <jay@gnu.org>.
55755
55756 2008-04-27  Bruno Haible  <bruno@clisp.org>
55757
55758         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
55759         quiet NaNs.
55760
55761 2008-04-27  Bruno Haible  <bruno@clisp.org>
55762
55763         Make test-yesno.sh work on mingw.
55764         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
55765         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
55766         (main): Set stdin to binary mode.
55767         * modules/yesno-tests (Depends-on): Add binary-io.
55768
55769 2008-04-27  Bruno Haible  <bruno@clisp.org>
55770
55771         Fix 'isfinite' on x86, x86_64, ia64 platforms.
55772         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
55773         argument that lie outside the IEEE 854 domain.
55774         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
55775         (gl_ISFINITE): Use it.
55776         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
55777
55778 2008-04-27  Bruno Haible  <bruno@clisp.org>
55779
55780         Allow local renaming in config.h.
55781         * lib/memrchr.c (memrchr): Don't undefine outside libc.
55782
55783 2008-04-27  Bruno Haible  <bruno@clisp.org>
55784
55785         * lib/memchr.c (__memchr): Change type of 'i'.
55786         * lib/memchr2.c (memchr2): Likewise.
55787
55788 2008-04-26  Eric Blake  <ebb9@byu.net>
55789         and Bruno Haible  <bruno@clisp.org>
55790
55791         Optimize and test memrchr.
55792         * modules/memrchr (Depends-on): Add intprops.
55793         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
55794         * modules/memrchr-tests: New file.
55795         * tests/test-memrchr.c: New file.
55796
55797 2008-04-26  Bruno Haible  <bruno@clisp.org>
55798
55799         Add tentative support for DragonFly BSD.
55800         * lib/stdio-impl.h: Add macros for DragonFly BSD.
55801         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
55802         fp.
55803         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55804         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
55805         * lib/fpurge.c (fpurge): Likewise.
55806         * lib/freadable.c (freaadable): Likewise.
55807         * lib/freadahead.c (freadahead): Likewise.
55808         * lib/freading.c (freading): Likewise.
55809         * lib/freadptr.c (freadptr): Likewise.
55810         * lib/freadseek.c (freadptrinc): Likewise.
55811         * lib/fseeko.c (fseeko): Likewise.
55812         * lib/fseterr.c (fseterr): Likewise.
55813         * lib/fwritable.c (fwritable): Likewise.
55814         * lib/fwriting.c (fwriting): Likewise.
55815
55816 2008-04-26  Bruno Haible  <bruno@clisp.org>
55817
55818         * lib/stdio-impl.h: New file.
55819         * lib/fbufmode.c: Include stdio-impl.h.
55820         (fbufmode): Use fp_, remove redundant #defines.
55821         * lib/fflush.c: Include stdio-impl.h.
55822         (clear_ungetc_buffer): Remove redundant #defines.
55823         * lib/fpurge.c: Include stdio-impl.h.
55824         (fpurge): Remove redundant #defines.
55825         * lib/freadable.c: Include stdio-impl.h.
55826         (freadable): Remove redundant #defines.
55827         * lib/freadahead.c: Include stdio-impl.h.
55828         (freadahead): Remove redundant #defines.
55829         * lib/freading.c: Include stdio-impl.h.
55830         (freading): Remove redundant #defines.
55831         * lib/freadptr.c: Include stdio-impl.h.
55832         (freadptr): Remove redundant #defines.
55833         * lib/freadseek.c: Include stdio-impl.h.
55834         (freadptrinc): Remove redundant #defines.
55835         * lib/fseeko.c: Include stdio-impl.h.
55836         (rpl_fseeko): Remove redundant #defines.
55837         * lib/fseterr.c: Include stdio-impl.h.
55838         (fseterr): Remove redundant #defines.
55839         * lib/fwritable.c: Include stdio-impl.h.
55840         (fwritable: Remove redundant #defines.
55841         * lib/fwriting.c: Include stdio-impl.h.
55842         (fwriting): Remove redundant #defines.
55843         * modules/fbufmode (Files): Add lib/stdio-impl.h.
55844         * modules/fflush (Files): Likewise.
55845         * modules/fpurge (Files): Likewise.
55846         * modules/freadable (Files): Likewise.
55847         * modules/freadahead (Files): Likewise.
55848         * modules/freading (Files): Likewise.
55849         * modules/freadptr (Files): Likewise.
55850         * modules/freadseek (Files): Likewise.
55851         * modules/fseeko (Files): Likewise.
55852         * modules/fseterr (Files): Likewise.
55853         * modules/fwritable (Files): Likewise.
55854         * modules/fwriting (Files): Likewise.
55855
55856 2008-04-26  Bruno Haible  <bruno@clisp.org>
55857
55858         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
55859         restore_seek_optimization, update_fpos_cache): New functions, extracted
55860         from rpl_fflush.
55861         (rpl_fflush): Use them.
55862         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
55863         (gl_REPLACE_FFLUSH): Use it.
55864
55865 2008-04-26  Bruno Haible  <bruno@clisp.org>
55866
55867         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
55868         on Solaris.
55869         * tests/test-xstrtoimax.sh: Likewise.
55870         * tests/test-xstrtoumax.sh: Likewise.
55871         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55872
55873 2008-04-26  Bruno Haible  <bruno@clisp.org>
55874
55875         * modules/memchr-tests: New file.
55876         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
55877
55878 2008-04-26  Eric Blake  <ebb9@byu.net>
55879             Bruno Haible  <bruno@clisp.org>
55880
55881         * lib/memchr.c: Include intprops.h.
55882         (__memchr): Optimize parallel detection of matching bytes. Rename local
55883         variables. Add explanatory comments.
55884
55885 2008-04-26  Bruno Haible  <bruno@clisp.org>
55886
55887         Fix module 'memchr', broken since 2000-10-28.
55888         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
55889
55890 2008-04-26  Bruno Haible  <bruno@clisp.org>
55891
55892         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
55893         comments.
55894
55895 2008-04-25  Eric Blake  <ebb9@byu.net>
55896
55897         Use native fstatat on cygwin 1.7.0.
55898         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
55899         first.
55900
55901 2008-04-23  Eric Blake  <ebb9@byu.net>
55902
55903         Improve memchr2 performance.
55904         * lib/memchr2.c (memchr2): Further optimize parallel detection of
55905         NUL bytes.
55906         * modules/memchr2 (Depends-on): Use intprops.h.
55907
55908 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55909
55910         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
55911         an inline function instead of a CPP macro.  Patch by Ben Pfaff
55912         <blp@cs.stanford.edu>.
55913
55914 2008-04-23  Simon Josefsson  <simon@josefsson.org>
55915
55916         * lib/arpa_inet.in.h: New file.
55917
55918         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
55919         (Makefile.am): Sed in substitute header file.
55920
55921         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
55922         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
55923
55924         * modules/inet_ntop (configure.ac): Use
55925         gl_ARPA_INET_MODULE_INDICATOR.
55926
55927         * modules/inet_pton (configure.ac): Use
55928         gl_ARPA_INET_MODULE_INDICATOR.
55929
55930 2008-04-22  Jim Meyering  <meyering@redhat.com>
55931
55932         * modules/verify (License): Re-license as LGPLv2+.
55933
55934 2008-04-22  Simon Josefsson  <simon@josefsson.org>
55935
55936         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
55937         parameter to void* as per POSIX standard (MinGW uses char*).
55938
55939 2008-04-21  Bruno Haible  <bruno@clisp.org>
55940
55941         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
55942         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
55943         Define to replacements if REPLACE_ISWCNTRL is 1.
55944         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
55945         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
55946         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
55947         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
55948         what it fixes.
55949         * doc/posix-functions/iswalpha.texi: Likewise.
55950         * doc/posix-functions/iswblank.texi: Likewise.
55951         * doc/posix-functions/iswcntrl.texi: Likewise.
55952         * doc/posix-functions/iswdigit.texi: Likewise.
55953         * doc/posix-functions/iswgraph.texi: Likewise.
55954         * doc/posix-functions/iswlower.texi: Likewise.
55955         * doc/posix-functions/iswprint.texi: Likewise.
55956         * doc/posix-functions/iswpunct.texi: Likewise.
55957         * doc/posix-functions/iswspace.texi: Likewise.
55958         * doc/posix-functions/iswupper.texi: Likewise.
55959         * doc/posix-functions/iswxdigit.texi: Likewise.
55960         Reported by Alain Guibert.
55961
55962 2008-04-21  Bruno Haible  <bruno@clisp.org>
55963
55964         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
55965         Patch by Alain Guibert.
55966
55967 2008-04-21  Bruno Haible  <bruno@clisp.org>
55968
55969         Fix test failures on mingw.
55970         * tests/test-xstrtol.c (print_no_progname): New function.
55971         (main): Install it in error_print_progname hook.
55972         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
55973         * tests/test-xstrtoimax.sh: Likewise.
55974         * tests/test-xstrtoumax.sh: Likewise.
55975
55976 2008-04-21  Bruno Haible  <bruno@clisp.org>
55977
55978         Fix test failure on mingw.
55979         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
55980
55981 2008-04-21  Bruno Haible  <bruno@clisp.org>
55982
55983         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
55984         Actually assign a value.
55985
55986 2008-04-20  Bruno Haible  <bruno@clisp.org>
55987
55988         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
55989         take 2.
55990         * lib/canonicalize.c (canonicalize_file_name): Elide if the
55991         'canonicalize-lgpl' module is also used.
55992         * lib/canonicalize-lgpl.c: Undo last change.
55993         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
55994
55995 2008-04-20  Bruno Haible  <bruno@clisp.org>
55996
55997         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
55998         config.h. Provide _mkdir based fallback for mingw.
55999         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
56000         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
56001         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
56002         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
56003         rather than defining mkdir in config.h.
56004         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
56005         (gl_SYS_STAT_H_DEFAULTS): New macro.
56006         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
56007         HAVE_IO_H any more.
56008         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
56009         HAVE_DECL_MKDIR and HAVE_IO_H.
56010
56011 2008-04-20  Bruno Haible  <bruno@clisp.org>
56012
56013         * lib/isapipe.c: Port to native Windows platforms.
56014
56015 2008-04-20  Bruno Haible  <bruno@clisp.org>
56016
56017         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
56018
56019 2008-04-21  Eric Blake  <ebb9@byu.net>
56020
56021         Work around preprocessors that don't handle UINTMAX_MAX.
56022         * lib/memchr2.c (memchr2): Avoid embedded #if.
56023         Reported by Alain Guibert, fix suggested by Bruno Haible.
56024
56025 2008-04-21  Simon Josefsson  <simon@josefsson.org>
56026
56027         * doc/posix-functions/strftime.texi (strftime): Explain better
56028         Windows incompatibility.  Suggested by Micah Cowan
56029         <micah@cowan.name>.
56030
56031 2008-04-20  Bruno Haible  <bruno@clisp.org>
56032
56033         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
56034         unistr/u8-mblen.
56035
56036 2008-04-20  Bruno Haible  <bruno@clisp.org>
56037
56038         Fix test failure on platforms with non-GNU iconv.
56039         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
56040         (U_TO_U8): Use it, rather than u16_to_u8.
56041         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
56042         units at the end of the input string.
56043         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
56044
56045 2008-04-20  Bruno Haible  <bruno@clisp.org>
56046
56047         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
56048         when the resulting length is 0.
56049         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
56050
56051 2008-04-20  Bruno Haible  <bruno@clisp.org>
56052
56053         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
56054         works.
56055         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
56056
56057 2008-04-20  Bruno Haible  <bruno@clisp.org>
56058
56059         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
56060         * modules/tsearch-tests (configure.ac): Test for initstate function.
56061
56062 2008-04-20  Bruno Haible  <bruno@clisp.org>
56063
56064         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
56065         for nlink_t if missing.
56066         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
56067
56068 2008-04-19  Bruno Haible  <bruno@clisp.org>
56069
56070         Work around snprintf bug on Linux libc5.
56071         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
56072         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56073         gl_SNPRINTF_SIZE1.
56074         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56075         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
56076         that test failed.
56077         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
56078         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
56079         * modules/snprintf (Files): Add m4/printf.m4.
56080         * modules/vsnprintf (Files): Likewise.
56081         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
56082         * doc/posix-functions/vsnprintf.texi: Likewise.
56083
56084 2008-04-19  Bruno Haible  <bruno@clisp.org>
56085
56086         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
56087         from 0.0058 to less than 10^-7.
56088
56089 2008-04-19  Bruno Haible  <bruno@clisp.org>
56090
56091         Fix rounding when a precision is given.
56092         * lib/vasnprintf.c (is_borderline): New function.
56093         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
56094         9...9x.
56095         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
56096         %e, %g.
56097         * tests/test-vasprintf-posix.c (test_function): Likewise.
56098         * tests/test-snprintf-posix.h (test_function): Likewise.
56099         * tests/test-sprintf-posix.h (test_function): Likewise.
56100         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
56101         * tests/test-printf-posix.h (test_function): Likewise.
56102         * tests/test-printf-posix.output: Update.
56103         Reported by John Darrington <john@darrington.wattle.id.au> via
56104         Ben Pfaff <blp@cs.stanford.edu>.
56105
56106 2008-04-18  Simon Josefsson  <simon@josefsson.org>
56107
56108         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
56109         Suggested by Bruno Haible <bruno@clisp.org>.
56110
56111 2008-04-17  Bruno Haible  <bruno@clisp.org>
56112
56113         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
56114         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
56115         implementation.
56116         Patch by Bruce Merry <bmerry@gmail.com>.
56117
56118 2008-04-17  Simon Josefsson  <simon@josefsson.org>
56119
56120         * doc/posix-functions/strftime.texi (strftime): Mention that %e
56121         doesn't work under Windows.
56122
56123 2008-04-16  Bruno Haible  <bruno@clisp.org>
56124
56125         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
56126         New macros.
56127         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
56128         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
56129         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
56130         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
56131         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
56132         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
56133         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
56134         macros.
56135         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
56136         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
56137         Northern Sotho, Uighur.
56138
56139 2008-04-16  Bruno Haible  <bruno@clisp.org>
56140
56141         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
56142         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
56143         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
56144         Reported by Daniel Bergström <daniel@octocode.com>.
56145
56146 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
56147             Bruno Haible  <bruno@clisp.org>
56148
56149         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
56150         function.
56151         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
56152         New functions, mostly extracted from gl_locale_name_default.
56153         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
56154
56155 2008-04-16  Eric Blake  <ebb9@byu.net>
56156
56157         Adjust strtod detection to catch glibc 2.7 bug.
56158         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
56159         Reported by John Gatewood Ham.
56160
56161 2008-04-16  Bruno Haible  <bruno@clisp.org>
56162
56163         Add tentative support for Linux libc5.
56164         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
56165         * lib/fpurge.c (fpurge): Likewise.
56166         * lib/freadable.c (freadable): Likewise.
56167         * lib/freadahead.c (freadahead): Likewise.
56168         * lib/freading.c (freading): Likewise.
56169         * lib/freadptr.c (freadptr): Likewise.
56170         * lib/freadseek.c (freadptrinc): Likewise.
56171         * lib/fseeko.c (rpl_fseeko): Likewise.
56172         * lib/fseterr.c (fseterr): Likewise.
56173         * lib/fwritable.c (fwritable): Likewise.
56174         * lib/fwriting.c (fwriting): Likewise.
56175         Reported by Alain Guibert <alguibert+bts@free.fr>.
56176
56177 2008-04-15  Bruno Haible  <bruno@clisp.org>
56178
56179         * modules/mathl (configure.ac): Define module indicator.
56180
56181 2008-04-15  Bruno Haible  <bruno@clisp.org>
56182
56183         * lib/logl.c (logl): Remove unused variables.
56184
56185 2008-04-15  Bruno Haible  <bruno@clisp.org>
56186
56187         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
56188         fails.
56189
56190 2008-04-15  Bruno Haible  <bruno@clisp.org>
56191
56192         * lib/trim.c (trim2): Fix argument of isspace() macro.
56193
56194 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
56195
56196         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
56197         to 0.
56198         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
56199
56200 2008-04-14  Bruno Haible  <bruno@clisp.org>
56201
56202         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
56203         AC_LANG_PROGRAM argument.
56204         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
56205         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
56206         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
56207         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56208         * m4/math_h.m4 (gl_MATH_H): Likewise.
56209         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
56210         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56211         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
56212         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
56213         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
56214         * m4/regex.m4 (gl_REGEX): Likewise.
56215         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
56216         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
56217         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56218         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
56219         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
56220         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56221         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56222         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56223
56224 2008-04-14  Jim Meyering  <meyering@redhat.com>
56225
56226         test-strtod: fix typos: s/abs/fabs/
56227         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
56228
56229 2008-04-13  Bruno Haible  <bruno@clisp.org>
56230
56231         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
56232         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
56233         module is also used and while not building the reloc-wrapper.
56234
56235 2008-04-13  Bruno Haible  <bruno@clisp.org>
56236
56237         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
56238
56239 2008-04-13  Bruno Haible  <bruno@clisp.org>
56240
56241         Fix AIX compilation failure introduced on 2008-04-02.
56242         * tests/test-frexp.c (exp): Undefine before redefining.
56243         * tests/test-frexpl.c (exp): Likewise.
56244
56245 2008-04-13  Bruno Haible  <bruno@clisp.org>
56246
56247         Work around a HP-UX stdio bug.
56248         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
56249         * tests/test-ftello.c (main): Likewise.
56250         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
56251         * doc/posix-functions/ftello.texi: Likewise.
56252
56253 2008-04-13  Bruno Haible  <bruno@clisp.org>
56254
56255         Make test-signbit pass on HP-UX/hppa.
56256         * tests/test-signbit.c (minus_zerol): New variable.
56257         (test_signbitl): Use it.
56258
56259 2008-04-13  Bruno Haible  <bruno@clisp.org>
56260
56261         Make truncl work on OSF/1 4.0.
56262         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
56263         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56264         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
56265         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
56266         HAVE_DECL_TRUNCL.
56267         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
56268         HAVE_DECL_TRUNCL.
56269         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
56270
56271 2008-04-13  Bruno Haible  <bruno@clisp.org>
56272
56273         * lib/unictype.h: Remove trailing comma from enumeration definitions.
56274
56275 2008-04-13  Bruno Haible  <bruno@clisp.org>
56276
56277         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
56278         expression, so as to avoid HP-UX 11 cc compiler bug.
56279
56280 2008-04-13  Bruno Haible  <bruno@clisp.org>
56281
56282         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
56283
56284 2008-04-13  Bruno Haible  <bruno@clisp.org>
56285
56286         * lib/git-merge-changelog.c: Remove empty declaration outside of
56287         functions.
56288
56289 2008-04-13  Bruno Haible  <bruno@clisp.org>
56290
56291         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
56292
56293 2008-04-13  Bruno Haible  <bruno@clisp.org>
56294
56295         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
56296         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
56297         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
56298         also if it exists but lacks definitions of the SHUT_* macros.
56299         * modules/sys_socket (Description): Update.
56300         Reported by Elbert Pol <e.pol@chello.nl>.
56301
56302 2008-04-13  Bruno Haible  <bruno@clisp.org>
56303
56304         * lib/localcharset.c (OS2): Don't redefine if already defined.
56305         Reported by Elbert Pol <e.pol@chello.nl>.
56306
56307 2008-04-13  Bruno Haible  <bruno@clisp.org>
56308
56309         * lib/binary-io.h [__EMX__]: Include <io.h>.
56310         Reported by Elbert Pol <e.pol@chello.nl>.
56311
56312 2008-04-12  Bruno Haible  <bruno@clisp.org>
56313
56314         * lib/fpucw.h: Enable the definitions also for x86_64.
56315         Needed for NetBSD/x86_64.
56316         Reported by Thomas Klausner <tk@giga.or.at>.
56317
56318 2008-04-12  Bruno Haible  <bruno@clisp.org>
56319
56320         * tests/test-strtod.c: Include isnand.h.
56321         (main): Use isnand instead of isnan.
56322         Reported by Jim Meyering.
56323
56324 2008-04-12  Bruno Haible  <bruno@clisp.org>
56325
56326         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
56327         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56328
56329 2008-04-12  Jim Meyering  <meyering@redhat.com>
56330
56331         * m4/math_h.m4 (gl_MATH_H): Fix typos.
56332
56333 2008-04-12  Bruno Haible  <bruno@clisp.org>
56334
56335         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
56336         Reported by Elbert Pol <e.pol@chello.nl>.
56337
56338 2008-04-12  Eric Blake  <ebb9@byu.net>
56339
56340         Work around Solaris 10 math.h bug.
56341         * m4/math_h.m4 (gl_MATH_H): Check for bug.
56342         (gl_MATH_H_DEFAULTS): Set up default.
56343         * modules/math (Makefile.am): Replace new indicators.
56344         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
56345         * tests/test-math.c (main): Test this.
56346         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
56347         * doc/posix-headers/math.texi (math.h): Mention bug.
56348         Reported by Nelson H. F. Beebe and Jim Meyering.
56349
56350 2008-04-11  Bruno Haible  <bruno@clisp.org>
56351
56352         Adapt to future versions of Apple GCC.
56353         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
56354         Reported by Peter O'Gorman <peter@pogma.com>.
56355
56356 2008-04-11  Bruno Haible  <bruno@clisp.org>
56357
56358         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
56359
56360 2008-04-11  Bruno Haible  <bruno@clisp.org>
56361
56362         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
56363
56364         * modules/getaddrinfo-tests (Makefile.am): Define
56365         test_getaddrinfo_LDADD.
56366
56367 2008-04-11  Bruno Haible  <bruno@clisp.org>
56368
56369         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
56370         (init): Fix syntax error.
56371         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
56372         is declared.
56373
56374 2008-04-11  Bruno Haible  <bruno@clisp.org>
56375
56376         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
56377         * modules/glob (Depends-on): Add stdbool.
56378
56379 2008-04-11  Bruno Haible  <bruno@clisp.org>
56380
56381         * lib/trim.c: Include <string.h>.
56382
56383 2008-04-11  Eric Blake  <ebb9@byu.net>
56384
56385         Avoid compile failure on OS/2.
56386         * lib/regex_internal.h (internal_function): Disable optimization
56387         on OS/2 (__EMX__), where it caused compiler error.
56388         Reported by Elbert Pol.
56389
56390 2008-04-11  Bruno Haible  <bruno@clisp.org>
56391
56392         Flush the standard error stream before aborting. Needed on mingw.
56393         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
56394         * tests/test-array_list.c (ASSERT): Likewise.
56395         * tests/test-array_oset.c (ASSERT): Likewise.
56396         * tests/test-avltree_list.c (ASSERT): Likewise.
56397         * tests/test-avltree_oset.c (ASSERT): Likewise.
56398         * tests/test-avltreehash_list.c (ASSERT): Likewise.
56399         * tests/test-binary-io.c (ASSERT): Likewise.
56400         * tests/test-byteswap.c (ASSERT): Likewise.
56401         * tests/test-c-ctype.c (ASSERT): Likewise.
56402         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
56403         * tests/test-c-strcasestr.c (ASSERT): Likewise.
56404         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
56405         * tests/test-c-strstr.c (ASSERT): Likewise.
56406         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
56407         * tests/test-canonicalize.c (ASSERT): Likewise.
56408         * tests/test-carray_list.c (ASSERT): Likewise.
56409         * tests/test-ceilf1.c (ASSERT): Likewise.
56410         * tests/test-ceilf2.c (ASSERT): Likewise.
56411         * tests/test-ceill.c (ASSERT): Likewise.
56412         * tests/test-count-one-bits.c (ASSERT): Likewise.
56413         * tests/test-fbufmode.c (ASSERT): Likewise.
56414         * tests/test-fflush2.c (ASSERT): Likewise.
56415         * tests/test-floorf1.c (ASSERT): Likewise.
56416         * tests/test-floorf2.c (ASSERT): Likewise.
56417         * tests/test-floorl.c (ASSERT): Likewise.
56418         * tests/test-fopen.c (ASSERT): Likewise.
56419         * tests/test-fpending.c (ASSERT): Likewise.
56420         * tests/test-fprintf-posix.c (ASSERT): Likewise.
56421         * tests/test-fpurge.c (ASSERT): Likewise.
56422         * tests/test-freadable.c (ASSERT): Likewise.
56423         * tests/test-freadahead.c (ASSERT): Likewise.
56424         * tests/test-freading.c (ASSERT): Likewise.
56425         * tests/test-freadptr.c (ASSERT): Likewise.
56426         * tests/test-freadptr2.c (ASSERT): Likewise.
56427         * tests/test-freadseek.c (ASSERT): Likewise.
56428         * tests/test-freopen.c (ASSERT): Likewise.
56429         * tests/test-frexp.c (ASSERT): Likewise.
56430         * tests/test-frexpl.c (ASSERT): Likewise.
56431         * tests/test-fseek.c (ASSERT): Likewise.
56432         * tests/test-fseeko.c (ASSERT): Likewise.
56433         * tests/test-fstrcmp.c (ASSERT): Likewise.
56434         * tests/test-ftell.c (ASSERT): Likewise.
56435         * tests/test-ftello.c (ASSERT): Likewise.
56436         * tests/test-func.c (ASSERT): Likewise.
56437         * tests/test-fwritable.c (ASSERT): Likewise.
56438         * tests/test-fwriting.c (ASSERT): Likewise.
56439         * tests/test-getdelim.c (ASSERT): Likewise.
56440         * tests/test-getline.c (ASSERT): Likewise.
56441         * tests/test-i-ring.c (ASSERT): Likewise.
56442         * tests/test-iconv-utf.c (ASSERT): Likewise.
56443         * tests/test-iconv.c (ASSERT): Likewise.
56444         * tests/test-isfinite.c (ASSERT): Likewise.
56445         * tests/test-isnand.c (ASSERT): Likewise.
56446         * tests/test-isnanf.c (ASSERT): Likewise.
56447         * tests/test-isnanl.h (ASSERT): Likewise.
56448         * tests/test-ldexpl.c (ASSERT): Likewise.
56449         * tests/test-linked_list.c (ASSERT): Likewise.
56450         * tests/test-linkedhash_list.c (ASSERT): Likewise.
56451         * tests/test-localename.c (ASSERT): Likewise.
56452         * tests/test-lseek.c (ASSERT): Likewise.
56453         * tests/test-mbscasecmp.c (ASSERT): Likewise.
56454         * tests/test-mbscasestr1.c (ASSERT): Likewise.
56455         * tests/test-mbscasestr2.c (ASSERT): Likewise.
56456         * tests/test-mbscasestr3.c (ASSERT): Likewise.
56457         * tests/test-mbscasestr4.c (ASSERT): Likewise.
56458         * tests/test-mbschr.c (ASSERT): Likewise.
56459         * tests/test-mbscspn.c (ASSERT): Likewise.
56460         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
56461         * tests/test-mbspbrk.c (ASSERT): Likewise.
56462         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
56463         * tests/test-mbsrchr.c (ASSERT): Likewise.
56464         * tests/test-mbsspn.c (ASSERT): Likewise.
56465         * tests/test-mbsstr1.c (ASSERT): Likewise.
56466         * tests/test-mbsstr2.c (ASSERT): Likewise.
56467         * tests/test-mbsstr3.c (ASSERT): Likewise.
56468         * tests/test-memchr2.c (ASSERT): Likewise.
56469         * tests/test-memmem.c (ASSERT): Likewise.
56470         * tests/test-open.c (ASSERT): Likewise.
56471         * tests/test-printf-frexp.c (ASSERT): Likewise.
56472         * tests/test-printf-frexpl.c (ASSERT): Likewise.
56473         * tests/test-printf-posix.c (ASSERT): Likewise.
56474         * tests/test-quotearg.c (ASSERT): Likewise.
56475         * tests/test-rbtree_list.c (ASSERT): Likewise.
56476         * tests/test-rbtree_oset.c (ASSERT): Likewise.
56477         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
56478         * tests/test-round1.c (ASSERT): Likewise.
56479         * tests/test-roundf1.c (ASSERT): Likewise.
56480         * tests/test-roundl.c (ASSERT): Likewise.
56481         * tests/test-signbit.c (ASSERT): Likewise.
56482         * tests/test-sleep.c (ASSERT): Likewise.
56483         * tests/test-snprintf-posix.c (ASSERT): Likewise.
56484         * tests/test-snprintf.c (ASSERT): Likewise.
56485         * tests/test-sprintf-posix.c (ASSERT): Likewise.
56486         * tests/test-stat-time.c (ASSERT): Likewise.
56487         * tests/test-strcasestr.c (ASSERT): Likewise.
56488         * tests/test-strerror.c (ASSERT): Likewise.
56489         * tests/test-striconv.c (ASSERT): Likewise.
56490         * tests/test-striconveh.c (ASSERT): Likewise.
56491         * tests/test-striconveha.c (ASSERT): Likewise.
56492         * tests/test-strsignal.c (ASSERT): Likewise.
56493         * tests/test-strstr.c (ASSERT): Likewise.
56494         * tests/test-strtod.c (ASSERT): Likewise.
56495         * tests/test-trunc1.c (ASSERT): Likewise.
56496         * tests/test-trunc2.c (ASSERT): Likewise.
56497         * tests/test-truncf1.c (ASSERT): Likewise.
56498         * tests/test-truncf2.c (ASSERT): Likewise.
56499         * tests/test-truncl.c (ASSERT): Likewise.
56500         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
56501         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
56502         * tests/test-vasnprintf.c (ASSERT): Likewise.
56503         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
56504         * tests/test-vasprintf.c (ASSERT): Likewise.
56505         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
56506         * tests/test-vprintf-posix.c (ASSERT): Likewise.
56507         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
56508         * tests/test-vsnprintf.c (ASSERT): Likewise.
56509         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
56510         * tests/test-wcwidth.c (ASSERT): Likewise.
56511         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
56512         * tests/test-xprintf-posix.c (ASSERT): Likewise.
56513         * tests/test-xvasprintf.c (ASSERT): Likewise.
56514         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
56515         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
56516         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
56517         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
56518         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
56519         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
56520         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
56521         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
56522         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
56523         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
56524         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
56525         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
56526         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
56527         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
56528         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
56529         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
56530         * tests/unictype/test-block_list.c (ASSERT): Likewise.
56531         * tests/unictype/test-block_of.c (ASSERT): Likewise.
56532         * tests/unictype/test-block_test.c (ASSERT): Likewise.
56533         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
56534         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
56535         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
56536         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
56537         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
56538         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
56539         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
56540         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
56541         * tests/unictype/test-combining.c (ASSERT): Likewise.
56542         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
56543         * tests/unictype/test-digit.c (ASSERT): Likewise.
56544         * tests/unictype/test-mirror.c (ASSERT): Likewise.
56545         * tests/unictype/test-numeric.c (ASSERT): Likewise.
56546         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
56547         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
56548         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
56549         * tests/unictype/test-scripts.c (ASSERT): Likewise.
56550         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
56551         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
56552         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
56553         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
56554         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
56555         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
56556         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
56557         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
56558         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
56559         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
56560         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
56561         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
56562         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
56563         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
56564         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
56565         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
56566         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
56567         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
56568         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
56569         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
56570         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
56571         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
56572         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
56573         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
56574         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
56575         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
56576         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
56577         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
56578         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
56579         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
56580         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
56581         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
56582         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
56583         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
56584         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
56585         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
56586         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
56587         Reported by Eric Blake.
56588
56589 2008-04-11  Bruno Haible  <bruno@clisp.org>
56590
56591         * lib/wchar.in.h: Tweak comment.
56592
56593 2008-04-11  Bruno Haible  <bruno@clisp.org>
56594
56595         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
56596         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
56597         gl_COMMON.
56598         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
56599
56600 2008-04-11  Bruno Haible  <bruno@clisp.org>
56601
56602         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
56603
56604 2008-04-11  Simon Josefsson  <simon@josefsson.org>
56605
56606         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
56607         of attempting to use non-existing /dev/*random.  Based on patch
56608         from Adam Strzelecki <ono@java.pl> in
56609         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
56610
56611 2008-04-08  Bruno Haible  <bruno@clisp.org>
56612
56613         Add tentative support for emx+gcc.
56614         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
56615         * lib/fpurge.c (fpurge): Likewise.
56616         * lib/freadable.c (freadable): Likewise.
56617         * lib/freadahead.c (freadahead): Likewise.
56618         * lib/freading.c (freading): Likewise.
56619         * lib/freadptr.c (freadptr): Likewise.
56620         * lib/freadseek.c (freadptrinc): Likewise.
56621         * lib/fseeko.c (rpl_fseeko): Likewise.
56622         * lib/fseterr.c (fseterr): Likewise.
56623         * lib/fwritable.c (fwritable): Likewise.
56624         * lib/fwriting.c (fwriting): Likewise.
56625         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
56626
56627 2008-04-09  Eric Blake  <ebb9@byu.net>
56628
56629         Avoid some autoconf warnings.
56630         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
56631         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
56632         * m4/afs.m4 (gl_AFS): Likewise.
56633         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
56634         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
56635         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
56636         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
56637         (gl_INTEGER_TYPE_SUFFIX): Likewise.
56638         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
56639         (AC_CHECK_DECLS_ONCE): Likewise.
56640         Rename file...
56641         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
56642         gnulib-tool requires autoconf 2.59 or better.
56643         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
56644
56645 2008-04-08  Eric Blake  <ebb9@byu.net>
56646
56647         Use 'git describe --match' if present (added in git 1.5.5).
56648         * build-aux/git-version-gen: Limit result to tags that match 'v*'
56649         if possible.
56650
56651 2008-04-08  Bruno Haible  <bruno@clisp.org>
56652
56653         Add tentative support for OpenServer.
56654         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
56655         _ptr, _cnt.
56656         * lib/fpurge.c (fpurge): Likewise.
56657         * lib/freadable.c (freadable): Likewise.
56658         * lib/freadahead.c (freadahead): Likewise.
56659         * lib/freading.c (freading): Likewise.
56660         * lib/freadptr.c (freadptr): Likewise.
56661         * lib/freadseek.c (freadptrinc): Likewise.
56662         * lib/fseeko.c (rpl_fseeko): Likewise.
56663         * lib/fseterr.c (fseterr): Likewise.
56664         * lib/fwritable.c (fwritable): Likewise.
56665         * lib/fwriting.c (fwriting): Likewise.
56666         Reported by Roger Cornelius <rac@tenzing.org> and
56667         Brian K. White <brian@aljex.com>.
56668
56669 2008-04-06  Jim Meyering  <meyering@redhat.com>
56670
56671         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
56672
56673 2008-04-06  Bruno Haible  <bruno@clisp.org>
56674
56675         Avoid possible error with non-ASCII bytes in UTF-8 locales.
56676         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
56677         * tests/test-printf-posix.sh: Likewise.
56678         * tests/test-vfprintf-posix.sh: Likewise.
56679         * tests/test-vprintf-posix.sh: Likewise.
56680         * tests/test-xprintf-posix.sh: Likewise.
56681
56682 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56683
56684         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
56685         hide error from 'ls', needed on OS/2.
56686         Report by Elbert Pol <elbert.pol@gmail.com>.
56687
56688 2008-04-04  Eric Blake  <ebb9@byu.net>
56689
56690         Make test-fseeko.c failures meaningful.
56691         * tests/test-fseeko.c: Print line number on failure.
56692         * tests/test-fseek.c: Likewise.
56693         Reported by Nelson H. F. Beebe.
56694
56695         Improve strtod bug detection check.
56696         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
56697         required for Solaris 10.
56698         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
56699
56700 2008-04-04  Bruno Haible  <bruno@clisp.org>
56701
56702         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
56703         by m4/setenv.m4.
56704
56705 2008-04-03  Eric Blake  <ebb9@byu.net>
56706
56707         Ensure sane .version contents.
56708         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
56709         version string.
56710         * build-aux/git-version-gen: Improve documentation.
56711
56712         Make GNU make output nicer.
56713         * top/GNUmakefile [!_have-Makefile]: Add dependency on
56714         MAKECMDGOALS to enforce message for all command line targets.  Set
56715         srcdir for use in maint.mk.
56716
56717         Another maintainer tweak.
56718         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
56719         a target that regenerates version.
56720
56721 2008-04-03  Jim Meyering  <meyering@redhat.com>
56722
56723         vc-list-files: don't cause coreutils "make po-check" failure
56724         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
56725
56726 2008-04-03  Eric Blake  <ebb9@byu.net>
56727
56728         Allow VPATH usage of vc-list-files.
56729         * build-aux/vc-list-files (scriptversion): Add timestamp.
56730         (options): Add --help, --version, -C.
56731         (CVS): Support installed cvsu.
56732
56733 2008-04-02  Bruno Haible  <bruno@clisp.org>
56734
56735         Avoid some "statement with no effect" warnings from gcc.
56736         * tests/test-wctype.c (main): Explicitly ignore unused values.
56737         Reported by Jim Meyering.
56738
56739 2008-04-02  Jim Meyering  <meyering@redhat.com>
56740
56741         Avoid some warnings from "gcc -Wshadow".
56742         * tests/test-frexp.c (exp): Define to a different identifier.
56743         * tests/test-frexpl.c (exp): Likewise.
56744
56745 2008-04-03  Jim Meyering  <meyering@redhat.com>
56746
56747         bootstrap: remove dangling *.[ch] symlinks from lib
56748         * build-aux/bootstrap [dangling symlink removal]: Move find's
56749         -depth option to precede all others, to avoid a warning.
56750         Remove *.[ch] files too, and from "$source_base" (usually lib/).
56751
56752 2008-04-02  Bruno Haible  <bruno@clisp.org>
56753
56754         Avoid some warnings from "gcc -Wshadow".
56755         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
56756         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
56757         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
56758         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
56759         Reported by Jim Meyering.
56760
56761 2008-04-01  Bruno Haible  <bruno@clisp.org>
56762
56763         Fix test to work on IRIX 6.5 with cc.
56764         * tests/test-math.c (numeric_equal): New function.
56765         (main): Use it.
56766
56767 2008-04-01  Bruno Haible  <bruno@clisp.org>
56768
56769         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
56770
56771 2008-04-01  Bruno Haible  <bruno@clisp.org>
56772
56773         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
56774         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56775         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
56776         (Depends-on): Remove math.
56777
56778         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
56779         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56780         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
56781         (Depends-on): Remove math.
56782
56783         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
56784         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56785         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
56786         (Depends-on): Remove math.
56787         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
56788         (Depends-on): Remove math.
56789
56790         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
56791         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
56792         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
56793         (Depends-on): Remove math.
56794         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
56795         (Depends-on): Remove math.
56796
56797         * tests/test-round1.c: Include nan.h.
56798         (main): Use NaNd instead of NAN.
56799         * modules/round-tests (Files): Add tests/nan.h.
56800
56801         * tests/test-trunc1.c: Include nan.h.
56802         (main): Use NaNd instead of NAN.
56803         * modules/trunc-tests (Files): Add tests/nan.h.
56804
56805         * tests/test-roundf1.c: Include nan.h.
56806         (main): Use NaNf instead of NAN.
56807         * modules/roundf-tests (Files): Add tests/nan.h.
56808
56809         * tests/test-truncf1.c: Include nan.h.
56810         (main): Use NaNf instead of NAN.
56811         * modules/truncf-tests (Files): Add tests/nan.h.
56812
56813         * tests/test-ceilf1.c: Include nan.h.
56814         (main): Use NaNf instead of NAN.
56815         * modules/ceilf-tests (Files): Add tests/nan.h.
56816
56817         * tests/test-floorf1.c: Include nan.h.
56818         (main): Use NaNf instead of NAN.
56819         * modules/floorf-tests (Files): Add tests/nan.h.
56820
56821         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
56822         (main): Use NaNf instead of NAN.
56823         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
56824
56825         * tests/test-isnand.c: Include nan.h instead of <math.h>.
56826         (main): Use NaNd instead of NAN.
56827         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
56828
56829         * tests/test-frexp.c: Include nan.h.
56830         (main): Use NaNd instead of NAN.
56831         * modules/frexp-tests (Files): Add tests/nan.h.
56832
56833         * lib/isnan.c: Don't include <math.h>.
56834         (FUNC): Don't use NAN macro.
56835         * modules/isnand-nolibm (Depends-on): Remove math.
56836         * modules/isnanf-nolibm (Depends-on): Remove math.
56837         * modules/isnanl (Depends-on): Remove math.
56838         * modules/isnanl-nolibm (Depends-on): Remove math.
56839
56840         * tests/nan.h: New file.
56841
56842 2008-04-01  Eric Blake  <ebb9@byu.net>
56843
56844         Fix typos.
56845         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
56846         values to be the right type.
56847
56848         For now, cater to gnulib strtod inaccuracies.
56849         * tests/test-strtod.c (main): Allow 1-ulp error on expected
56850         fractional results.  While not as nice from a QoI perspective, it
56851         is a quicker patch than correctly implementing decimal to binary
56852         rounding.
56853
56854 2008-03-31  Eric Blake  <ebb9@byu.net>
56855
56856         Guarantee a definition of NAN.
56857         * lib/math.in.h (NAN): Define if missing.
56858         * tests/test-math.c (main): Test it.
56859         * doc/posix-headers/math.texi (math.h): Document this.
56860         * lib/isnan.c (rpl_isnand): Use it.
56861         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
56862         * tests/test-floorf1.c (NaN): Likewise.
56863         * tests/test-frexp.c (NaN): Likewise.
56864         * tests/test-isnand.c (NaN): Likewise.
56865         * tests/test-isnanf.c (NaN): Likewise.
56866         * tests/test-round1.c (NaN): Likewise.
56867         * tests/test-roundf1.c (NaN): Likewise.
56868         * tests/test-snprintf-posix.h (NaN): Likewise.
56869         * tests/test-sprintf-posix.h (NaN): Likewise.
56870         * tests/test-trunc1.c (NaN): Likewise.
56871         * tests/test-truncf1.c (NaN): Likewise.
56872         * tests/test-vasnprintf-posix.c (NaN): Likewise.
56873         * tests/test-vasprintf-posix.c (NaN): Likewise.
56874         * modules/isnand-nolibm (Depends-on): Add math.
56875         * modules/isnanf-nolibm (Depends-on): Likewise.
56876         * modules/isnanl (Depends-on): Likewise.
56877         * modules/isnanl-nolibm (Depends-on): Likewise.
56878         * modules/snprintf-posix-tests (Depends-on): Likewise.
56879         * modules/sprintf-posix-tests (Depends-on): Likewise.
56880         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
56881         * modules/vsprintf-posix-tests (Depends-on): Likewise.
56882         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
56883         * modules/vasprintf-posix-tests (Depends-on): Likewise.
56884
56885 2008-03-31  Bruno Haible  <bruno@clisp.org>
56886
56887         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
56888         * doc/posix-functions/strtod.texi: Likewise.
56889
56890 2008-03-31  Bruno Haible  <bruno@clisp.org>
56891
56892         * tests/test-strtod.c (main): Don't use C99 syntax.
56893
56894 2008-03-31  Bruno Haible  <bruno@clisp.org>
56895
56896         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
56897         Reported by Eric Blake.
56898
56899 2008-03-31  Jim Meyering  <meyering@redhat.com>
56900
56901         Don't compare actual signbit return values.
56902         * tests/test-strtod.c (main): Rather, compare only their
56903         zero/non-zero nature.
56904
56905 2008-03-31  Eric Blake  <ebb9@byu.net>
56906
56907         More strtod documentation.
56908         * doc/posix-functions/strtod.texi (strtod): Interpret more test
56909         failures as distinct bugs.
56910
56911 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56912
56913         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
56914         Problem reported by Erik Benada in
56915         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
56916
56917 2008-03-30  Bruno Haible  <bruno@clisp.org>
56918
56919         * tests/test-strtod.c: Add comments about which assertion fails on which
56920         platform.
56921         * doc/posix-functions/strtod.texi: Add info about many more platforms.
56922
56923 2008-03-30  Eric Blake  <ebb9@byu.net>
56924
56925         Test signbit behavior on zeros.
56926         * tests/test-signbit.c (test_signbitf): Add tests for zero.
56927         (test_signbitd, test_signbitl): Likewise.
56928
56929         More strtod touchups.
56930         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
56931         sign of negative underflow, for now.  Use .5, not .1.
56932         * doc/posix-functions/strtod.texi (strtod): Mention these
56933         limitations.
56934         Reported by Jim Meyering.
56935
56936 2008-03-30  Bruno Haible  <bruno@clisp.org>
56937
56938         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
56939         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
56940
56941 2008-03-30  Bruno Haible  <bruno@clisp.org>
56942
56943         Avoid failure when attempting to return empty iconv results on some
56944         platforms.
56945         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
56946         allocation, don't report ENOMEM when the resulting string is empty.
56947
56948 2008-03-30  Bruno Haible  <bruno@clisp.org>
56949
56950         Fix buffer overrun.
56951         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
56952         Don't consider the width for tmp_length. Check count against tmp_length
56953         before doing the padding. Ensure enough allocation during padding.
56954
56955 2008-03-30  Eric Blake  <ebb9@byu.net>
56956
56957         strtod touchups.
56958         * lib/strtod.c (strtod): Avoid compiler warnings.
56959         Reported by Jim Meyering.
56960
56961 2008-03-30  Bruno Haible  <bruno@clisp.org>
56962
56963         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
56964         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
56965         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
56966         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
56967         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
56968         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
56969         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
56970         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
56971
56972         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
56973         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
56974         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
56975         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
56976         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
56977         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
56978         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
56979         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
56980
56981         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
56982         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
56983         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
56984         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
56985         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
56986         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
56987         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
56988         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
56989
56990         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
56991         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
56992
56993         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
56994         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
56995
56996         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
56997         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
56998
56999         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
57000         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
57001         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
57002
57003         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
57004         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
57005         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
57006
57007         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
57008         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
57009         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
57010
57011         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
57012         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
57013         * modules/vasprintf (Depends-on): Add EOVERFLOW.
57014
57015         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
57016         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
57017         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
57018         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
57019         (Depends-on): Add EOVERFLOW.
57020         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
57021         (Depends-on): Add EOVERFLOW.
57022         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57023         (Depends-on): Add EOVERFLOW.
57024         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57025         (Depends-on): Add EOVERFLOW.
57026         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57027         (Depends-on): Add EOVERFLOW.
57028         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57029         (Depends-on): Add EOVERFLOW.
57030         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57031         (Depends-on): Add EOVERFLOW.
57032         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57033         (Depends-on): Add EOVERFLOW.
57034
57035         * lib/sprintf.c (EOVERFLOW): Remove fallback.
57036         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
57037         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
57038
57039         * lib/snprintf.c (EOVERFLOW): Remove fallback.
57040         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
57041         * modules/snprintf (Depends-on): Add EOVERFLOW.
57042
57043         * lib/poll.c (EOVERFLOW): Remove fallback.
57044         * modules/poll (Depends-on): Add EOVERFLOW.
57045
57046         * lib/getugroups.c (EOVERFLOW): Remove fallback.
57047         * modules/getugroups (Depends-on): Add EOVERFLOW.
57048
57049         * lib/getdelim.c (EOVERFLOW): Remove fallback.
57050         * modules/getdelim (Depends-on): Add EOVERFLOW.
57051
57052         * lib/ftell.c (EOVERFLOW): Remove fallback.
57053         * modules/ftell (Depends-on): Add EOVERFLOW.
57054
57055         * lib/fprintf.c (EOVERFLOW): Remove fallback.
57056         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
57057         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
57058
57059         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
57060
57061         * modules/EOVERFLOW-tests: New file.
57062         * tests/test-EOVERFLOW.c: New file.
57063
57064         * modules/EOVERFLOW: New file.
57065         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
57066
57067 2008-03-30  Bruno Haible  <bruno@clisp.org>
57068
57069         Fix bug introduced on 2007-06-10.
57070         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
57071         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
57072
57073 2008-03-30  Bruno Haible  <bruno@clisp.org>
57074
57075         Improve freadseek's efficiency after ungetc.
57076         * lib/freadseek.c: Include freadahead.h.
57077         (freadptrinc): New function, extracted from freadseek.
57078         (freadseek): Use it in a loop. Use freadahead to determine the number
57079         of loop iterations.
57080         * modules/freadseek (Depends-on): Add freadahead.
57081         (configure.ac): Require AC_C_INLINE.
57082
57083 2008-03-30  Bruno Haible  <bruno@clisp.org>
57084
57085         * lib/freadseek.c (freadseek): Don't ignore the return value of
57086         freadptr.
57087
57088 2008-03-29  Eric Blake  <ebb9@byu.net>
57089
57090         Add hex float support.
57091         * modules/strtod (Depends-on): Add c-ctype.
57092         (Link): Mention POW_LIB.
57093         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
57094         whitespace between 'e' and exponent.
57095         * tests/test-strtod.c (main): Enable hex float tests.
57096         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
57097         now provides.
57098
57099         Document various strtod bugs, with some fixes.
57100         * doc/posix-functions/strtod.texi (strtod): Document bugs with
57101         "-0x", "inf", "nan", and hex constants.
57102         * doc/posix-functions/atof.texi (atof): Likewise.
57103         * modules/stdlib (Makefile.am): Support strtod.
57104         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
57105         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
57106         detect additional strtod bugs.
57107         * lib/stdlib.in.h (rpl_strtod): Add declarations.
57108         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
57109         bool where appropriate.  Parse 'inf' and 'nan'.
57110         * tests/test-strtod.c: New file.
57111         * modules/strtod (Depends-on): Add stdbool, stdlib.
57112         (configure.ac): Turn on module indicator.
57113         * modules/strtod-tests: New module.
57114
57115 2008-03-29  Eric Blake  <ebb9@byu.net>
57116
57117         Fix ftell on mingw.
57118         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
57119         * modules/ftell-tests (Depends-on): Add binary-io.
57120         * modules/ftello-tests (Depends-on): Likewise.
57121         * tests/test-ftell.c (main): Enhance test to cover behavior after
57122         ungetc.  Enforce binary mode.
57123         * tests/test-ftello.c (main): Likewise.
57124
57125         Pass test-freadseek on cygwin.
57126         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
57127         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
57128         ungetc buffer.
57129
57130         * tests/test-fflush2.c (main): Fix typo.
57131
57132 2008-03-29  Bruno Haible  <bruno@clisp.org>
57133
57134         * tests/test-fflush2.c (main): Temporarily disable the contents of
57135         this test.
57136         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
57137         Reported by Eric Blake.
57138
57139 2008-03-28  Simon Josefsson  <simon@josefsson.org>
57140
57141         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
57142         (GC_SHA224_DIGEST_SIZE): Add.
57143
57144         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
57145         (gc_hash_digest_length): Likewise.
57146         (gc_hash_buffer): Likewise.
57147
57148 2008-03-25  Bruno Haible  <bruno@clisp.org>
57149
57150         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
57151         detail which gettext release to use.
57152         Reported by Simon Josefsson.
57153
57154 2008-03-26  Jim Meyering  <meyering@redhat.com>
57155
57156         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
57157         * modules/gnumakefile (clean-GNUmakefile): Also, use
57158         test ... && ... || : syntax rather than if-then ... fi.
57159
57160         gnumakefile: Don't double-quote-expand $(VPATH) value.
57161         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
57162
57163 2008-03-24  Eric Blake  <ebb9@byu.net>
57164
57165         Alter GNUmakefile to install into top directory.
57166         * modules/maintainer-makefile: Split, and add dependency...
57167         * modules/gnumakefile: to this new module.
57168         * build-aux/GNUmakefile: Move...
57169         * top/GNUmakefile: ...here.
57170         * build-aux/maint.mk: Move...
57171         * top/maint.mk: ...here.
57172         * MODULES.html.sh (Support for maintaining...): Document new
57173         module.
57174
57175 2008-03-23  Bruno Haible  <bruno@clisp.org>
57176
57177         * gnulib-tool: New options --vc-files, --no-vc-files.
57178         (func_usage): Document them.
57179         (vc_files): New variable.
57180         (func_import): Consider vc_files.
57181         (func_create_testdir): Set vc_files to empty.
57182         Suggested by Jim Meyering and Karl Berry.
57183
57184 2008-03-23  Bruno Haible  <bruno@clisp.org>
57185
57186         Fix regex compilation error on HP-UX 11.
57187         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
57188         * modules/regex (Files): Add m4/mbstate_t.m4.
57189         Reported by Ton Voon <ton.voon@altinity.com>.
57190
57191 2008-03-23  Bruno Haible  <bruno@clisp.org>
57192
57193         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
57194
57195 2008-03-23  Eric Blake  <ebb9@byu.net>
57196             Bruno Haible  <bruno@clisp.org>
57197
57198         Install files from top/ in the destination directory.
57199         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
57200         augmentation also for the files from top/.
57201         (func_import, func_create_testdir): Rewrite file names:
57202         top/filename -> filename.
57203
57204 2008-03-23  Bruno Haible  <bruno@clisp.org>
57205
57206         Tweak "gnulib --version" output.
57207         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
57208
57209 2008-03-23  Bruno Haible  <bruno@clisp.org>
57210
57211         Tweak "gnulib --version" output.
57212         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
57213         rather than contents of ChangeLog, when possible.
57214
57215 2008-03-21  Eric Blake  <ebb9@byu.net>
57216
57217         More --version tweaks.
57218         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
57219         date of last ChangeLog entry.
57220
57221 2008-03-21  Jim Meyering  <meyering@redhat.com>
57222
57223         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
57224
57225 2008-03-20  Eric Blake  <ebb9@byu.net>
57226
57227         VPATH fix.
57228         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
57229
57230 2008-03-20  Simon Josefsson  <simon@josefsson.org>
57231
57232         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
57233         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
57234
57235 2008-03-20  Eric Blake  <ebb9@byu.net>
57236
57237         Sync GNUmakefile with coreutils.
57238         * build-aux/GNUmakefile (have-Makefile): Rename...
57239         (_have-Makefile): ...to this, for namespace consideration.
57240         (GNUmakefile.cfg): Include, if present.
57241         (_autoreconf): Define a default.
57242         (_is-dist-target): New rule for rebuilds to pick up intra-release
57243         version.
57244         (maint-cfg.mk): Rename...
57245         (cfg.mk): ...to this.
57246
57247 2008-03-18  Jim Meyering  <meyering@redhat.com>
57248
57249         New script and module: mktempd
57250         * MODULES.html.sh (maint+release support): Add mktempd.
57251         * build-aux/mktempd: New file.
57252         * modules/mktempd: New file.
57253
57254 2008-03-15  Jim Meyering  <meyering@redhat.com>
57255
57256         Undo last change.
57257         * lib/sha1.c, lib/md5.c: 63 != ~63.
57258         Reported by Andreas Schwab.
57259
57260         sha1.c, md5.c: Hoist a redundant expression.
57261         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
57262         "ctx->buflen" only once, before calling *_process_block.
57263         * lib/md5.c (md5_process_bytes): Likewise.
57264
57265 2008-03-14  Eric Blake  <ebb9@byu.net>
57266
57267         Bump copyright year in files generated by gnulib-tool.
57268         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
57269         gnulib-tool, rather than hard-coding it.
57270
57271         Fix 'gnulib-tool --version' output to work with git.
57272         * gnulib-tool (func_gnulib_dir): New function, extracted from...
57273         (startup): ...here.
57274         (func_version): Use it to invoke git-version-gen, rather than
57275         relying on CVS keyword expansion.  Modernize wording.
57276         (cvsdatestamp, last_checkin_date, version): Kill unused
57277         variables.
57278
57279 2008-03-12  Jim Meyering  <meyering@redhat.com>
57280
57281         Recognize optional cast of the argument to free.
57282         * build-aux/useless-if-before-free: Update regexps.
57283
57284         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
57285
57286 2008-03-11  Bruno Haible  <bruno@clisp.org>
57287
57288         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
57289         by a single package.
57290         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
57291         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
57292         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
57293         Reported by Sam Steingold <sds@gnu.org>.
57294
57295 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57296
57297         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
57298         repositories.
57299
57300 2008-03-11  Bruno Haible  <bruno@clisp.org>
57301
57302         Avoid conflicts between local macro definitions.
57303         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
57304         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
57305
57306 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
57307             Bruno Haible  <bruno@clisp.org>
57308
57309         Make va_copy work with some version of xlc on AIX 5.1.
57310         * lib/stdarg.in.h: New file.
57311         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
57312         On AIX, use a <stdarg.h> file substitute.
57313         * modules/stdarg (Files): Add lib/stdarg.in.h.
57314         (Depends-on): Add include_next.
57315         (Makefile.am): Build a stdarg.h substitute if requested.
57316         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
57317
57318 2008-03-10  Bruno Haible  <bruno@clisp.org>
57319
57320         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
57321         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57322         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57323
57324 2008-03-10  Bruno Haible  <bruno@clisp.org>
57325
57326         * modules/stdlib (Depends-on): Add include_next, remove
57327         absolute-header.
57328
57329 2008-03-09  Bruno Haible  <bruno@clisp.org>
57330
57331         * lib/freadahead.h (freadahead): Document more precisely.
57332         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
57333         the sum of both buffer sizes.
57334         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
57335         * NEWS: Document the change.
57336
57337 2008-03-09  Bruno Haible  <bruno@clisp.org>
57338
57339         Extend freadptr to return also the buffer size.
57340         * lib/freadptr.h (freadptr): Add sizep argument.
57341         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
57342         (freadptr): Add sizep argument. Determine buffer size like freadahead
57343         does.
57344         * tests/test-freadptr.c: Don't include freadahead.h.
57345         (main): Adapt for new calling convention of freadptr.
57346         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
57347         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
57348         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
57349         tests/test-freadptr2.sh.
57350         (Depends): Remove freadahead.
57351         (TESTS): Add test-freadptr2.sh.
57352         (check_PROGRAMS): Add test-freadptr2.
57353
57354 2008-03-09  Bruno Haible  <bruno@clisp.org>
57355
57356         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
57357         Report and solution by Simon Josefsson.
57358
57359 2008-03-06  Bruno Haible  <bruno@clisp.org>
57360
57361         Make fflush after ungetc work on BSD platforms.
57362         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
57363         * tests/test-fflush2.c: New file.
57364         * tests/test-fflush2.sh: New file.
57365         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
57366         tests/test-fflush2.c.
57367         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
57368         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
57369
57370 2008-03-06  Eric Blake  <ebb9@byu.net>
57371
57372         Likewise for ftello.
57373         * modules/ftello (Dependencies): Add extensions.
57374         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
57375
57376 2008-03-06  Bruno Haible  <bruno@clisp.org>
57377
57378         * modules/fseeko (Dependencies): Add extensions.
57379         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
57380         Needed on glibc systems.
57381
57382 2008-03-06  Bruno Haible  <bruno@clisp.org>
57383
57384         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
57385         email address.
57386         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57387
57388 2008-03-06  Bruno Haible  <bruno@clisp.org>
57389
57390         * users.txt: Add libgnupdf.
57391
57392 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
57393
57394         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
57395         (Header File Substitutes, Function Substitutes,
57396         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
57397         (Build robot for gnulib): Fix typo.
57398
57399 2008-03-06  Bruno Haible  <bruno@clisp.org>
57400
57401         * doc/gnulib-tool.texi (VCS Issues): Small updates.
57402         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57403
57404 2008-03-06  Bruno Haible  <bruno@clisp.org>
57405
57406         * doc/func.texi: New file, extracted from doc/gnulib.texi.
57407         * doc/gnulib.texi: Include it.
57408
57409 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57410
57411         * modules/func (License): Change license to unlimited; there was
57412         no LGPL parts in the module anyway.
57413
57414 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57415
57416         * modules/__func__: Renamed to modules/func.
57417         * modules/__func__-tests: Renamed to modules/func-tests.
57418         * tests/test-__func__.c: Renamed to tests/test-func.c.
57419         * m4/__func__.m4: Renamed to m4/func.m4.
57420         * doc/gnulib.texi (__func__): Section renamed to func.
57421         Suggested by Eric Blake <ebb9@byu.net>.
57422
57423 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57424
57425         * doc/gnulib.texi (__func__): Use C99 terminology when talking
57426         about __func__.  Make example self-contained.  Suggested by Eric
57427         Blake <ebb9@byu.net>.
57428
57429         * tests/test-__func__.c (main): Avoid extraneous () around __func.
57430         Suggested by Eric Blake <ebb9@byu.net>.
57431
57432 2008-03-06  Simon Josefsson  <simon@josefsson.org>
57433
57434         * modules/__func__: New file.
57435         * modules/__func__-tests: New file.
57436         * tests/test-__func__.c: New file.
57437         * m4/__func__.m4: New file.
57438         * doc/gnulib.texi (__func__): Document __func__ module.
57439
57440 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57441
57442         * modules/byteswap (License): Re-license as LGPLv2+.
57443
57444 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57445
57446         * doc/Makefile: Add pdf target.
57447
57448 2008-03-05  Simon Josefsson  <simon@josefsson.org>
57449
57450         * modules/inline (License): Use 'unlimited', since there are only
57451         *.m4 files in this module.
57452
57453 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57454             Bruno Haible  <bruno@clisp.org>
57455
57456         Add support for HP C 7.1 on OpenVMS 8.3.
57457         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
57458
57459 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
57460
57461         Update VMS specifics.
57462         * lib/getopt.c [VMS]: Remove include of unixlib.h.
57463
57464 2008-03-02  Jim Meyering  <meyering@redhat.com>
57465
57466         Remove the last dependency on the "free" module.
57467         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
57468         Reported by Bob Proulx.
57469
57470         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
57471
57472         Remove useless "if" tests before free.  Deprecate "free" module.
57473         * doc/posix-functions/free.texi: Mention that this
57474         module is no longer useful.
57475         * modules/free (Notice): Say this module is obsolete.
57476         * modules/readutmp (Depends-on): Remove free.
57477         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
57478         * lib/putenv.c (putenv): Likewise.
57479         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
57480         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
57481         * tests/test-c-strcasestr.c (main): Likewise.
57482         * tests/test-c-strstr.c (main): Likewise.
57483         * tests/test-mbscasestr1.c (main): Likewise.
57484         * tests/test-mbscasestr2.c (main): Likewise.
57485         * tests/test-mbsstr1.c (main): Likewise.
57486         * tests/test-mbsstr2.c (main): Likewise.
57487         * tests/test-memmem.c (main): Likewise.
57488         * tests/test-strcasestr.c (main): Likewise.
57489         * tests/test-striconv.c (main): Likewise.
57490         * tests/test-striconveh.c (main): Likewise.
57491         * tests/test-striconveha.c (main): Likewise.
57492         * tests/test-strstr.c (main): Likewise.
57493
57494         * build-aux/git-version-gen: Adjust a comment and the Usage string.
57495
57496         bootstrap: sync from coreutils again
57497         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
57498
57499 2008-03-01  Jim Meyering  <meyering@redhat.com>
57500
57501         bootstrap: sync from coreutils
57502         * build-aux/bootstrap (update_po_files): Copy a .po file into place
57503         also when the target doesn't exist.
57504
57505 2008-03-01  Eric Blake  <ebb9@byu.net>
57506
57507         Fix bugs in last patch.
57508         * lib/memchr2.c (memchr2): Fix typo.
57509         * tests/test-memchr2.c: Test previous bug, and don't use GNU
57510         extension.
57511         Reported by Bruce Korb.
57512
57513         New module 'memchr2'.
57514         * modules/memchr2: New file.
57515         * modules/memchr2-tests: Likewise.
57516         * lib/memchr2.h: Likewise.
57517         * lib/memchr2.c: Likewise, based on memchr.c.
57518         * tests/test-memchr2.c: New test.
57519         * MODULES.html.sh (String handling): Add memchr2.
57520
57521 2008-02-29  Bruno Haible  <bruno@clisp.org>
57522
57523         * modules/freadseek-tests: New file.
57524         * tests/test-freadseek.sh: New file.
57525         * tests/test-freadseek.c: New file.
57526
57527         New module 'freadseek'.
57528         * modules/freadseek: New file.
57529         * lib/freadseek.h: New file.
57530         * lib/freadseek.c: New file.
57531         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
57532
57533 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
57534
57535         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
57536         wydawca.
57537
57538         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
57539         program_invocation_name and program_invocation_short_name are
57540         present.
57541
57542 2008-02-28  Bruno Haible  <bruno@clisp.org>
57543
57544         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
57545         * tests/test-freadptr.sh: Also test non-seekable stdin.
57546
57547 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
57548
57549         * build-aux/bootstrap (source_base, m4_base)
57550         (doc_base, tests_base): New variables.
57551         (gnulib_tool_options): Do not hardcode base directories, use
57552         the above variables instead.
57553
57554 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
57555
57556         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
57557
57558 2008-02-28  Bruno Haible  <bruno@clisp.org>
57559
57560         * modules/freadptr-tests: New file.
57561         * tests/test-freadptr.sh: New file.
57562         * tests/test-freadptr.c: New file.
57563
57564         New module 'freadptr'.
57565         * modules/freadptr: New file.
57566         * lib/freadptr.h: New file.
57567         * lib/freadptr.c: New file.
57568         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
57569
57570 2008-02-26  Karl Berry  <karl@freefriends.org>
57571
57572         Sync from Libtool:
57573         * libltdl/argz.c (argz_add, argz_count): New functions.
57574         * libltdl/argz.in.h: Declare them.
57575         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
57576
57577 2008-02-22  Bruno Haible  <bruno@clisp.org>
57578
57579         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
57580         is a pointer type.  Needed for HP-UX 10.
57581         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
57582         * doc/posix-functions/gmtime_r.texi: Likewise.
57583         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
57584
57585 2008-02-24  Bruno Haible  <bruno@clisp.org>
57586
57587         * modules/environ-tests: New file.
57588         * tests/test-environ.c: New file.
57589
57590         New module 'environ'.
57591         * modules/environ: New file.
57592         * lib/unistd.in.h (environ): New declaration.
57593         * m4/environ.m4: New file.
57594         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
57595         after use.
57596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
57597         HAVE_DECL_ENVIRON.
57598         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
57599         HAVE_DECL_ENVIRON.
57600         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
57601         wrong claim that 'environ' is missing on some systems.
57602         * modules/execute (Depends-on): Add environ.
57603         * lib/execute.c (environ): Remove fallback declaration.
57604         * modules/pipe (Depends-on): Add environ.
57605         * lib/pipe.c (environ): Remove fallback declaration.
57606         * modules/setenv (Depends-on): Add environ.
57607         * lib/setenv.c (environ): Remove fallback declaration.
57608         * modules/unsetenv (Depends-on): Add environ.
57609         * lib/unsetenv.c (environ): Remove fallback declaration.
57610         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
57611         m4/environ.m4.
57612         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
57613         (gl_PREREQ_UNSETENV): Likewise.
57614
57615 2008-02-24  Bruno Haible  <bruno@clisp.org>
57616
57617         * doc/posix-functions/environ.texi: Document the MacOS X problem.
57618
57619 2008-02-20  Bob Proulx  <bob@proulx.com>
57620
57621         Enable use of older two part flavor 'git describe'.
57622         * build-aux/git-version-gen: If using the older two part flavor of
57623         git version then recreate the third part now present in the
57624         newer three part flavor of git describe.
57625
57626 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
57627
57628         * lib/fts.c (fts_build): Typo correction to comment.
57629
57630 2008-02-17  Bruno Haible  <bruno@clisp.org>
57631
57632         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
57633         generating no-op conflicts.
57634
57635 2008-02-17  Bruno Haible  <bruno@clisp.org>
57636
57637         Speed up by 10%.
57638         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
57639         result_entries, rather than an index-based loop.
57640
57641 2008-02-17  Bruno Haible  <bruno@clisp.org>
57642
57643         Speed up by 25%.
57644         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
57645         'hashcode_cached'.
57646         (entry_create): New function.
57647         (entry_hashcode): Use the cached hashcode if possible.
57648         (read_changelog_file, try_split_merged_entry): Use entry_create.
57649
57650 2008-02-17  Bruno Haible  <bruno@clisp.org>
57651
57652         Speed up from O(n^2) to O(n) for long ChangeLog files.
57653         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
57654         (read_changelog_file): Change implementation of entries_reversed list
57655         to rbtreehash.
57656         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
57657
57658 2008-02-17  Bruno Haible  <bruno@clisp.org>
57659
57660         New option --split-merged-entry.
57661         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
57662         (find_paragraph_end, try_split_merged_entry): New functions.
57663         (long_options): Add option --split-merged-entry.
57664         (usage): Document option --split-merged-entry.
57665         (main): Implement option --split-merged-entry.
57666         Reported by Eric Blake.
57667
57668 2008-02-17  Bruno Haible  <bruno@clisp.org>
57669
57670         * lib/git-merge-changelog.c: Include c-strstr.h.
57671         (main): Support the "git pull --rebase" situation.
57672         * modules/git-merge-changelog (Depends-on): Add c-strstr.
57673         Reported by Eric Blake.
57674
57675 2008-02-16  Eric Blake  <ebb9@byu.net>
57676
57677         Avoid doubling \ in common case of "c-maybe" quoting style.
57678         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
57679         eliding outer quotes.
57680         * lib/quotearg.h: Document this.
57681         * tests/test-quotearg.c (result_strings, inputs, results_g)
57682         (flag_results, locale_results): Test it by adding a new string to
57683         each test group.
57684         (compare_strings): Test new string.
57685
57686 2008-02-13  Eric Blake  <ebb9@byu.net>
57687
57688         Avoid trigraph quoting in default output.
57689         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
57690         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
57691         unless explicitly requested.
57692         * tests/test-quotearg.c (flag_results, main): Add additional tests.
57693
57694 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
57695
57696         Don't rely on signed integer overflowing to negative value.
57697         * lib/getugroups.c (getugroups): Include <limits.h>.
57698         Instead, compare against INT_MAX, and increment only if the test passes.
57699
57700 2008-02-13  Jim Meyering  <meyering@redhat.com>
57701         and Eric Blake  <ebb9@byu.net>
57702
57703         Avoid shadowing warning and compile errors on Linux.
57704         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
57705         forwarding macros on Linux.
57706         (dcgettext): Define a stub, for Linux.
57707         (results_g, main): Avoid warnings.
57708
57709 2008-02-12  Eric Blake  <ebb9@byu.net>
57710
57711         Silence warning in last patch.
57712         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
57713
57714         Quotearg part 4: add tests, fix c-maybe colon quoting.
57715         * lib/quotearg.h: Improve documentation.
57716         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
57717         escapes when adding outer quotes.  When quoting trigraphs, use
57718         valid C notation.  When quoting NUL, omit extra characters if next
57719         character is not digit.  Alter prototype.
57720         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
57721         callers.
57722         * modules/quotearg-tests: New module.
57723         * tests/test-quotearg.c: New test.
57724
57725 2008-02-07  Eric Blake  <ebb9@byu.net>
57726
57727         Quotearg part 3: add flag to control outer quote elision.
57728         * lib/quotearg.h (c_maybe_quoting_style): New style.
57729         (enum quoting_flags): Better documentation of flags.
57730         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
57731         c-maybe style.
57732         (quotearg_buffer_restyled): Handle new flag to elide outer
57733         quotes.
57734
57735         Quotearg part 2: add flag that can control NUL elision.
57736         * lib/quotearg.h (set_quoting_flags): New prototype.
57737         * lib/quotearg.c (struct quoting_options): Add flag field.
57738         (set_quoting_flags): New function.
57739         (quotearg_buffer_restyled): Add flags parameter.
57740         (quotearg_alloc_mem): Set the flag if length cannot be returned.
57741         (quotearg_n_options): Set the flag, since length cannot be
57742         returned.
57743         (quoting_options_from_style): Default flags correctly.
57744
57745         Quotearg part 1: more wrappers, restore quotearg_char state.
57746         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
57747         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
57748         (quotearg_colon_mem): New wrappers.
57749         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
57750         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
57751         functions.
57752         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
57753         (quotearg_colon_mem): New functions.
57754
57755 2008-02-11  Bruno Haible  <bruno@clisp.org>
57756
57757         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
57758         library in the current directory: it does not work with parallel make.
57759         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57760
57761 2008-02-11  Bruno Haible  <bruno@clisp.org>
57762
57763         * .gitattributes: New file.
57764
57765 2008-02-11  Jim Meyering  <meyering@redhat.com>
57766
57767         useless-if-before-free: Fix reversed exit values.
57768         * build-aux/useless-if-before-free: Use correct values
57769         for EXIT_MATCH and EXIT_NO_MATCH.
57770
57771         * build-aux/useless-if-before-free: Close stdout carefully.
57772
57773 2008-02-10  Bruno Haible  <bruno@clisp.org>
57774
57775         New module 'git-merge-changelog'.
57776         * modules/git-merge-changelog: New file.
57777         * lib/git-merge-changelog.c: New file.
57778
57779 2008-02-10  Jim Meyering  <meyering@redhat.com>
57780
57781         useless-if-before-free: New option: --list (-l).
57782
57783         useless-if-before-free: Don't exit immediately upon open failure.
57784         * build-aux/useless-if-before-free: Exit 2 for errors.
57785         Upon failure to open a file, don't exit immediately.
57786         Rather, just warn and continue with any remaining files.
57787
57788 2008-02-10  Bruno Haible  <bruno@clisp.org>
57789
57790         New abstract list operation 'node_set_value'.
57791         * lib/gl_list.h (gl_list_node_set_value): New function.
57792         (struct gl_list_implementation): New field node_set_value.
57793         * lib/gl_list.c (gl_list_node_set_value): New function.
57794         * lib/gl_array_list.c (gl_array_node_set_value): New function.
57795         (gl_array_list_implementation): Update.
57796         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
57797         (gl_carray_list_implementation): Update.
57798         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
57799         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57800         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57801         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
57802         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57803         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57804         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57805         Update.
57806         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57807         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
57808         (gl_sublist_list_implementation): Update.
57809
57810 2008-02-10  Bruno Haible  <bruno@clisp.org>
57811
57812         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
57813         Needed when ELEMENT is #defined to 'some_type *'.
57814
57815 2008-02-10  Jim Meyering  <meyering@redhat.com>
57816
57817         New script and module: useless-if-before-free
57818         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
57819         * build-aux/useless-if-before-free: New file.
57820         * modules/useless-if-before-free: New file.
57821
57822         * build-aux/gitlog-to-changelog: Use committer date, not author date.
57823
57824         xstrtol_error: Fix typo.
57825         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
57826         s/exit_failure/exit_status/.
57827
57828 2008-02-09  Jim Meyering  <meyering@redhat.com>
57829
57830         New script and module: gitlog-to-changelog
57831         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
57832         * modules/gitlog-to-changelog: New file.
57833         * build-aux/gitlog-to-changelog: New file.
57834
57835 2008-02-08  Jim Meyering  <meyering@redhat.com>
57836
57837         Avoid two "parameter unused" warnings.
57838         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
57839         Mark "st" as used.
57840
57841         Use "git COMMAND", not "git-COMMAND".
57842         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
57843         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
57844         * build-aux/git-version-gen: Use "git status", not "git-status".
57845
57846 2008-02-07  Bruno Haible  <bruno@clisp.org>
57847
57848         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
57849         Avoids a crash on Windows Vista.
57850         Reported by Adam Strzelecki <ono@java.pl> via
57851         Simon Josefsson <simon@josefsson.org>.
57852
57853 2008-02-06  Bruno Haible  <bruno@clisp.org>
57854
57855         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
57856         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
57857         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
57858         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
57859         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
57860         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
57861         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
57862         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
57863         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57864         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57865         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57866         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57867         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57868         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57869         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57870         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
57871         left-adjust flag.
57872         * tests/test-snprintf-posix.h (test_function): Likewise.
57873         * tests/test-sprintf-posix.h (test_function): Likewise.
57874         * tests/test-vasprintf-posix.c (test_function): Likewise.
57875         * doc/posix-functions/fprintf.texi: Update.
57876         * doc/posix-functions/printf.texi: Update.
57877         * doc/posix-functions/snprintf.texi: Update.
57878         * doc/posix-functions/sprintf.texi: Update.
57879         * doc/posix-functions/vfprintf.texi: Update.
57880         * doc/posix-functions/vprintf.texi: Update.
57881         * doc/posix-functions/vsnprintf.texi: Update.
57882         * doc/posix-functions/vsprintf.texi: Update.
57883         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57884
57885 2008-02-06  Bruno Haible  <bruno@clisp.org>
57886
57887         Fix bug introduced on 2008-01-26.
57888         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
57889
57890 2008-02-06  Bruno Haible  <bruno@clisp.org>
57891
57892         Fix bug introduced on 2007-06-10.
57893         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
57894         !NEED_PRINTF_FLAG_ZERO.
57895
57896 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
57897
57898         getloadavg: use libperfstat on AIX5
57899         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
57900
57901 2008-02-03  Bruno Haible  <bruno@clisp.org>
57902
57903         * lib/diffseq.h: Add comments about required #includes.
57904         Reported by Michael Biggs <gnulib@doubleplum.net>.
57905
57906 2008-02-01  Bruno Haible  <bruno@clisp.org>
57907
57908         * users.txt: Add gnuit.
57909
57910 2008-01-31  Bruno Haible  <bruno@clisp.org>
57911
57912         * lib/md4.c (set_uint32): Mark as inline.
57913         * lib/md5.c (set_uint32): Likewise.
57914         * lib/sha1.c (set_uint32): Likewise.
57915         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
57916         * m4/md5.m4 (gl_MD5): Likewise.
57917         * m4/sha1.m4 (gl_SHA1): Likewise.
57918
57919 2008-01-31  Jim Meyering  <meyering@redhat.com>
57920
57921         Use "sizeof VAR", rather than a literal "4".
57922         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
57923         * lib/md4.c (md4_read_ctx): Likewise.
57924         * lib/sha1.c (sha1_read_ctx): Likewise.
57925
57926 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57927
57928         * tests/test-sha1.c: New file, based on test-md5.c.
57929
57930         * modules/crypto/sha1-tests: New file.
57931
57932 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57933
57934         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
57935
57936 2008-01-31  Jim Meyering  <meyering@redhat.com>
57937
57938         Prefer "sizeof v" over the equivalent "4".
57939         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
57940         * lib/md5.c (set_uint32): Likewise.
57941         * lib/sha1.c (set_uint32): Likewise.
57942
57943 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57944
57945         * lib/sha1.c (set_uint32): Mark function as static.
57946
57947 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57948
57949         md2: clarify comments to say that alignment is not required.
57950         * lib/md2.h: Remove warning about alignment in comment.
57951         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
57952         never been required.
57953
57954 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57955
57956         md4: adapt alignment constraint fix from sha1.
57957         * lib/md4.c (set_uint32): New function, from sha1.c
57958         (md4_read_ctx): Use it.
57959         (md4_finish_ctx): Doc fix.
57960         * lib/md4.h: Doc fix.
57961
57962 2008-01-31  Simon Josefsson  <simon@josefsson.org>
57963
57964         md5: adapt alignment constraint fix from sha1.
57965         * lib/md5.c (set_uint32): New function, from sha1.c
57966         (md5_read_ctx): Use it.
57967         (md5_finish_ctx): Doc fix.
57968         * lib/md5.h: Doc fix.
57969
57970 2008-01-30  Peter Palfrader  <weasel@debian.org>
57971
57972         sha1: remove the result buffer alignment constraint
57973         * lib/sha1.c (set_uint32): New function.
57974         (sha1_read_ctx): Rewrite to remove the result buffer alignment
57975         constraint.
57976         (sha1_finish_ctx): Remove comment warning about alignment constraint.
57977         * lib/sha1.h: Likewise.
57978
57979 2008-01-30  Andreas Schwab  <schwab@suse.de>
57980             Bruno Haible  <bruno@clisp.org>
57981
57982         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
57983         correct definition of LDBL_MIN_EXP.
57984
57985 2008-01-30  Karl Berry  <karl@gnu.org>
57986
57987         * config/srclist-update: try to preserve x bit on updates.
57988         * config/srclistvars.sh: update for karl.
57989
57990 2008-01-29  Jim Meyering  <meyering@redhat.com>
57991
57992         vasnprintf.c: Avoid warning about unused label
57993         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
57994         "overflow" label definition and associated code with the
57995         same cpp condition that guards the sole use of that label.
57996
57997 2008-01-26  Bruno Haible  <bruno@clisp.org>
57998
57999         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
58000         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
58001         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
58002         * lib/isnanl-nolibm.h (isnanl): Likewise.
58003         Reported by Paul Eggert <eggert@cs.ucla.edu>.
58004
58005 2008-01-26  Bruno Haible  <bruno@clisp.org>
58006
58007         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
58008         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
58009
58010 2008-01-26  Bruno Haible  <bruno@clisp.org>
58011
58012         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
58013         GCC >= 4.0 built-in.
58014         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
58015
58016 2008-01-26  Bruno Haible  <bruno@clisp.org>
58017
58018         Rename isnan, applicable to 'double' only, to isnand.
58019         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
58020         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
58021         (configure.ac): Update.
58022         (Include): Replace "isnan.h" with "isnand.h".
58023         * m4/isnand.m4: Renamed from m4/isnan.m4.
58024         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
58025         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
58026         instead of isnan.c.
58027         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
58028         instead of HAVE_ISNAN_IN_LIBC.
58029         (isnand): Renamed from isnan.
58030         * lib/isnand.c: New file.
58031         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
58032         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
58033         (Makefile.am): Update.
58034         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
58035         Include isnand.h instead of isnan.h.
58036         (main): Test isnand instead of isnan.
58037         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
58038         isnan-nolibm.
58039         * modules/frexp (Depends-on): Likewise.
58040         * modules/frexp-tests (Depends-on): Likewise.
58041         * modules/frexp-nolibm (Depends-on): Likewise.
58042         * modules/frexp-nolibm-tests (Depends-on): Likewise.
58043         * modules/isfinite (Depends-on): Likewise.
58044         * modules/round-tests (Depends-on): Likewise.
58045         * modules/signbit (Depends-on): Likewise.
58046         * modules/signbit-tests (Depends-on): Likewise.
58047         * modules/snprintf-posix (Depends-on): Likewise.
58048         * modules/sprintf-posix (Depends-on): Likewise.
58049         * modules/trunc-tests (Depends-on): Likewise.
58050         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58051         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58052         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58053         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58054         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58055         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58056         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58057         * modules/vasnprintf-posix (Depends-on): Likewise.
58058         * modules/vasprintf-posix (Depends-on): Likewise.
58059         * modules/vfprintf-posix (Depends-on): Likewise.
58060         * modules/vsnprintf-posix (Depends-on): Likewise.
58061         * modules/vsprintf-posix (Depends-on): Likewise.
58062         * lib/frexp.c: Include isnand.h instead of isnan.h.
58063         (ISNAN): Set to isnand instead of isnan.
58064         * lib/isfinite.c: Include isnand.h instead of isnan.h.
58065         (gl_isfinited): Use isnand instead of isnan.
58066         * lib/signbitd.c: Include isnand.h instead of isnan.h.
58067         (gl_signbitd): Use isnand instead of isnan.
58068         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
58069         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
58070         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
58071         (main): Use isnand instead of isnan.
58072         * tests/test-round1.c: Include isnand.h.
58073         (main): Use isnand instead of isnan.
58074         * tests/test-round2.c: Include isnand.h instead of isnan.h.
58075         (ISNAN): Set to isnand instead of isnan.
58076         * tests/test-trunc1.c: Include isnand.h.
58077         (main): Use isnand instead of isnan.
58078         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
58079         (equal): Use isnand instead of isnan.
58080         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
58081         isnand-nolibm.
58082         * NEWS: Mention the change.
58083
58084 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58085             Bruno Haible  <bruno@clisp.org>
58086
58087         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
58088         the GCC builtins for signbits are present and set
58089         REPLACE_SIGNBIT_USING_GCC if so.
58090         * lib/math.in.h (signbit): Define using GCC builtins if
58091         REPLACE_SIGNBIT_USING_GCC is set.
58092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
58093         REPLACE_SIGNBIT_USING_GCC.
58094         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
58095
58096 2008-01-25  Jim Meyering  <meyering@redhat.com>
58097
58098         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
58099         * lib/poll.c: Include <config.h>, not "config.h".
58100         * tests/test-getaddrinfo.c: Likewise.
58101
58102 2008-01-25  Simon Josefsson  <simon@josefsson.org>
58103
58104         * modules/sockets-tests: New file.
58105
58106 2008-01-24  Simon Josefsson  <simon@josefsson.org>
58107
58108         * modules/sockets: New module, can be used to call WSA_Startup and
58109         WSA_Cleanup when needed.
58110
58111         * lib/sockets.h, lib/sockets.c: New files.
58112
58113         * m4/sockets.m4: New file.
58114
58115         * tests/test-sockets.c: New file.
58116
58117 2008-01-19  Bruno Haible  <bruno@clisp.org>
58118
58119         * doc/posix-headers: Renamed from doc/headers.
58120         * doc/posix-functions: Renamed from doc/functions.
58121         * doc/gnulib.texi: Update.
58122
58123 2008-01-19  Bruno Haible  <bruno@clisp.org>
58124
58125         * doc/glibc-functions/strcasestr.texi: Include contents of
58126         doc/functions/strcasestr.texi, fixing the list of platforms.
58127         * doc/functions/strcasestr.texi: Remove file.
58128
58129 2008-01-19  Bruno Haible  <bruno@clisp.org>
58130
58131         * doc/glibc-functions/memmem.texi: Include contents of
58132         doc/functions/memmem.texi.
58133         * doc/functions/memmem.texi: Remove file.
58134
58135 2008-01-18  Bruno Haible  <bruno@clisp.org>
58136
58137         * doc/glibc-functions/*.texi: New files.
58138         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
58139         to use the new files.
58140
58141 2008-01-17  Bruno Haible  <bruno@clisp.org>
58142
58143         * tests/test-gethostname.c (main): Fix printf statement.
58144
58145 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58146
58147         * modules/gethostname-tests: New file.
58148
58149         * tests/test-gethostname.c: New file.
58150
58151 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58152
58153         * lib/gethostname.c: Include string.h unconditionally, strncpy is
58154         used by the UNAME case.  Reported by Bruno Haible
58155         <bruno@clisp.org>.
58156
58157 2008-01-17  Eric Blake  <ebb9@byu.net>
58158
58159         Convert c-strcasestr to be more efficient.
58160         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
58161         (Depends-on): Add c-strcase, remove malloca, strnlen.
58162         * tests/test-c-strcasestr.c (main): Enhance test.
58163         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
58164
58165 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58166
58167         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
58168         Use it in creating po/Makevars.
58169
58170 2008-01-15  Simon Josefsson  <simon@josefsson.org>
58171
58172         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
58173         Applications that requires it should initialize libgcrypt
58174         manually.
58175
58176 2008-01-16  Simon Josefsson  <simon@josefsson.org>
58177
58178         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
58179
58180 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
58181
58182         Fix problem with getdate on mingw32 reported by Simon Josefsson
58183         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
58184         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
58185         tzname", when deciding whether to declare tzname.
58186         * lib/strftime.c (tzname): Likewise.
58187
58188 2008-01-15  Bruno Haible  <bruno@clisp.org>
58189
58190         Work around a MacOS X 10.5 bug in frexpl().
58191         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
58192         * doc/functions/frexpl.texi: Document the bug.
58193         Reported by Elias Pipping <pipping@gentoo.org>.
58194
58195 2008-01-14  Eric Blake  <ebb9@byu.net>
58196
58197         Touch up previous patch.
58198         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
58199         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
58200
58201         Convert strcasestr module to use Two-Way algorithm.
58202         * modules/strcasestr-simple: New module, based on the old
58203         strcasestr, but with Two-Way rather than KMP.
58204         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
58205         * lib/string.in.h (rpl_strcasestr): Declare.
58206         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
58207         performance.
58208         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
58209         * modules/string (Makefile.am): Support strcasestr.
58210         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
58211         * modules/strcasestr-tests (Depends-on): Check for alarm.
58212         * tests/test-strcasestr.c: Augment test.
58213         * lib/str-two-way.h: Clean up stray macro.
58214         * NEWS: Document new module.
58215         * MODULES.html.sh (string handling): Likewise.
58216         * doc/functions/strcasestr.texi: New file.
58217         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
58218         here, since it is not a POSIX function.
58219
58220 2008-01-14  Colin Watson  <cjwatson@debian.org>
58221             Bruno Haible  <bruno@clisp.org>
58222
58223         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
58224         works fine; if not, set REPLACE_STRSIGNAL.
58225         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
58226         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58227         REPLACE_STRSIGNAL.
58228         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
58229         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
58230         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
58231
58232 2008-01-14  Bruno Haible  <bruno@clisp.org>
58233
58234         * modules/strsignal (Include): Change to <string.h>.
58235
58236 2008-01-14  Colin Watson  <cjwatson@debian.org>
58237
58238         * modules/argp (Notice): Add a notice recommending to change
58239         XGETTEXT_OPTIONS.
58240         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
58241
58242 2008-01-13  Colin Watson  <cjwatson@debian.org>
58243
58244         * modules/strsignal-tests: New file.
58245         * tests/test-strsignal.c: New file.
58246
58247         * lib/strsignal.c: New file, from glibc with modifications.
58248         * lib/siglist.h: New file, from glibc with modifications.
58249         * lib/string.in.h (strsignal): New declaration.
58250         * m4/strsignal.m4: New file.
58251         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58252         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
58253         * modules/strsignal: New file.
58254         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
58255         HAVE_DECL_STRSIGNAL.
58256
58257 2008-01-13  Bruno Haible  <bruno@clisp.org>
58258
58259         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
58260         locale encoding is not ASCII. Needed for OpenBSD 4.0.
58261         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58262         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58263
58264 2008-01-13  Bruno Haible  <bruno@clisp.org>
58265
58266         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
58267         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
58268         * lib/argp.h (__attribute__): Likewise.
58269         * lib/c-stack.c (__attribute__): Likewise.
58270         * lib/error.h (__attribute__): Likewise.
58271         * lib/fts.c (__attribute__): Likewise.
58272         * lib/openat.h (__attribute__): Likewise.
58273         * lib/stdio.in.h (__attribute__): Likewise.
58274         * lib/string.in.h (__attribute__): Likewise.
58275         * lib/utimens.c (__attribute__): Likewise.
58276         * lib/vasnprintf.h (__attribute__): Likewise.
58277         * lib/xalloc.h (__attribute__): Likewise.
58278         * lib/xprintf.h (__attribute__): Likewise.
58279         * lib/xstrtol.h (__attribute__): Likewise.
58280         * lib/xvasprintf.h (__attribute__): Likewise.
58281
58282 2008-01-12  Bruno Haible  <bruno@clisp.org>
58283
58284         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
58285         * doc/glibc-headers/a.out.texi: New file.
58286         * doc/glibc-headers/aliases.texi: New file.
58287         * doc/glibc-headers/alloca.texi: New file.
58288         * doc/glibc-headers/ar.texi: New file.
58289         * doc/glibc-headers/argp.texi: New file.
58290         * doc/glibc-headers/argz.texi: New file.
58291         * doc/glibc-headers/byteswap.texi: New file.
58292         * doc/glibc-headers/crypt.texi: New file.
58293         * doc/glibc-headers/endian.texi: New file.
58294         * doc/glibc-headers/envz.texi: New file.
58295         * doc/glibc-headers/err.texi: New file.
58296         * doc/glibc-headers/error.texi: New file.
58297         * doc/glibc-headers/execinfo.texi: New file.
58298         * doc/glibc-headers/fpu_control.texi: New file.
58299         * doc/glibc-headers/fstab.texi: New file.
58300         * doc/glibc-headers/fts.texi: New file.
58301         * doc/glibc-headers/getopt.texi: New file.
58302         * doc/glibc-headers/ieee754.texi: New file.
58303         * doc/glibc-headers/ifaddrs.texi: New file.
58304         * doc/glibc-headers/libintl.texi: New file.
58305         * doc/glibc-headers/mcheck.texi: New file.
58306         * doc/glibc-headers/mntent.texi: New file.
58307         * doc/glibc-headers/obstack.texi: New file.
58308         * doc/glibc-headers/paths.texi: New file.
58309         * doc/glibc-headers/printf.texi: New file.
58310         * doc/glibc-headers/pty.texi: New file.
58311         * doc/glibc-headers/resolv.texi: New file.
58312         * doc/glibc-headers/shadow.texi: New file.
58313         * doc/glibc-headers/sysexits.texi: New file.
58314         * doc/glibc-headers/ttyent.texi: New file.
58315
58316 2008-01-12  Jim Meyering  <meyering@redhat.com>
58317
58318         announce-gen: emit Gnulib's git-based version string.
58319         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
58320         New option --gnulib-version=V, where V is expected to be
58321         the output of running git describe in the gnulib directory.
58322         (get_tool_versions): Request feedback on xdelta.  I suspect it's
58323         not useful, and plan to stop publishing an xdelta file with each
58324         coreutils release.
58325
58326         * build-aux/announce-gen: Also check for lzma-compressed files.
58327
58328 2008-01-11  Bruno Haible  <bruno@clisp.org>
58329
58330         * tests/test-memmem.c (main): Increase maximum allowed time.
58331         * tests/test-strstr.c (main): Likewise.
58332
58333 2008-01-11  Bruno Haible  <bruno@clisp.org>
58334
58335         * doc/functions/memmem.texi: Add more precisions about platforms.
58336         * doc/functions/strstr.texi: Likewise.
58337
58338 2008-01-10  Eric Blake  <ebb9@byu.net>
58339
58340         * m4/strstr.m4: Delete cruft from copy-n-paste.
58341         Reported by Bruno Haible.
58342
58343 2008-01-10  Bruno Haible  <bruno@clisp.org>
58344
58345         Make c-strstr rely on strstr.
58346         * lib/c-strstr.c: Don't include str-kmp.h.
58347         (c_strstr): Define in terms of strstr.
58348         * modules/c-strstr (Files): Remove lib/str-kmp.h.
58349         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
58350
58351 2008-01-10  Bruno Haible  <bruno@clisp.org>
58352
58353         * doc/gnulib.texi (String Functions in C Locale): New section.
58354         * doc/c-ctype.texi: New file.
58355         * doc/c-strcase.texi: New file.
58356         * doc/c-strcaseeq.texi: New file.
58357         * doc/c-strcasestr.texi: New file.
58358         * doc/c-strstr.texi: New file.
58359         * doc/c-strtod.texi: New file.
58360         * doc/c-strtold.texi: New file.
58361
58362 2008-01-10  Eric Blake  <ebb9@byu.net>
58363
58364         * lib/relocatable.h: Fix a comment.
58365
58366 2008-01-10  Eric Blake  <ebb9@byu.net>
58367
58368         Share two-way algorithm.
58369         * lib/str-two-way.h: New file, merged from...
58370         * lib/memmem.c: ...here...
58371         * lib/strstr.c: ...and here.
58372         * modules/memmem (Files): Use it.
58373         * modules/strstr (Files): Likewise.
58374
58375         Avoid quadratic strstr implementations.
58376         * lib/strstr.c: New file.
58377         * m4/strstr.m4: Likewise.
58378         * modules/strstr: Likewise.
58379         * modules/strstr-tests: Likewise.
58380         * tests/test-strstr.c: Likewise.
58381         * lib/string.in.h (rpl_strstr): Declare.
58382         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
58383         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
58384         * modules/string (Makefile.am): Likewise.
58385         * MODULES.html.sh (string handling): Mention new module.
58386         * doc/functions/strstr.texi (strstr): Document the bug.
58387
58388 2008-01-10  Bruno Haible  <bruno@clisp.org>
58389
58390         * lib/relocatable.h (relocate): State whether result is freshly
58391         allocated or not.
58392         * lib/relocatable.c (relocate): Return a freshly allocated string
58393         instead of a pointer to a privately held string.
58394         Reported by Sylvain Beucler <beuc@gnu.org>.
58395
58396 2008-01-10  Colin Watson  <cjwatson@debian.org>
58397
58398         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
58399         s/S_ISNLK/S_ISLNK/.
58400
58401 2008-01-09  Bruno Haible  <bruno@clisp.org>
58402
58403         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
58404         and other files.
58405         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
58406         if it's only a guess.
58407         * modules/memmem: Simplify by depending on memmem-simple.
58408
58409 2008-01-09  Bruno Haible  <bruno@clisp.org>
58410
58411         Work around OpenBSD 4.0 tdelete() bug.
58412         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
58413         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
58414         macros and don't redefine the enum values.
58415         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
58416         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
58417         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
58418
58419 2008-01-09  Bruno Haible  <bruno@clisp.org>
58420
58421         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
58422         (main): Don't perform the tests if setlocale did not install a UTF-8
58423         locale. Needed on OpenBSD 4.0.
58424         * modules/wcwidth-tests (Depends-on): Add localcharset.
58425
58426 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58427
58428         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
58429         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
58430         * NEWS: announce this.
58431         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
58432
58433 2008-01-09  Simon Josefsson  <simon@josefsson.org>
58434         and Eric Blake  <ebb9@byu.net>
58435
58436         Add memmem-simple module.
58437         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
58438         (gl_FUNC_MEMMEM): Separate performance from presence checks.
58439         * modules/memmem-simple: New file.
58440         * modules/memmem (Description): Tweak.
58441         * MODULES.html.sh (string handling): Mention new module.
58442         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
58443         addressed by memmem-simple.
58444         * NEWS: Document the difference.
58445
58446 2008-01-09  Eric Blake  <ebb9@byu.net>
58447
58448         Give gcc some memmem optimization hints.
58449         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
58450         (strcasestr): Declare as pure.
58451         * modules/memmem (Maintainer): Claim my implementation.
58452
58453 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58454
58455         Support AIX 6.1 and higher.
58456         * build-aux/config.libpath: Likewise.
58457         * build-aux/config.rpath: Likewise.
58458
58459 2008-01-08  Jim Meyering  <meyering@redhat.com>
58460             Bruno Haible  <bruno@clisp.org>
58461
58462         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
58463         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
58464         Reported by Peter Fales in
58465         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
58466
58467 2008-01-08  Bruno Haible  <bruno@clisp.org>
58468
58469         * modules/unictype/category-of (Depends-on): Add
58470         unictype/category-none.
58471         * modules/unictype/category-and-tests (Depends-on): Add
58472         unictype/category-{L,N,Lu,Nd}.
58473         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
58474         * modules/unictype/category-or-tests (Depends-on): Add
58475         unictype/category-{L,N}.
58476         * modules/unictype/category-name-tests (Depends-on): Add
58477         unictype/category-{Z,Nl}.
58478         Reported by Simon Josefsson.
58479
58480 2008-01-08  Bruno Haible  <bruno@clisp.org>
58481
58482         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
58483         convention better.
58484         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
58485         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
58486         Reported by Peter Miller <millerp@canb.auug.org.au>.
58487
58488 2008-01-08  Eric Blake  <ebb9@byu.net>
58489
58490         Rewrite memmem to guarantee linear complexity without malloc.
58491         * lib/memmem.c (memmem): Use Two-Way rather than
58492         Knuth-Morris-Pratt, to allow O(1) space usage.
58493         (critical_factorization, two_way_short_needle)
58494         (two_way_long_needle): New functions.
58495         (knuth_morris_pratt): Delete.
58496         * modules/memmem (Depends-on): No longer need malloca or stdbool.
58497         Add stdint.
58498         * tests/test-memmem.c (main): Add tests for periodic needle and
58499         sublinear performance.
58500         * doc/functions/memmem.texi (memmem): Document other deficiencies
58501         in cygwin and older glibc.
58502
58503 2008-01-08  Bruno Haible  <bruno@clisp.org>
58504
58505         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
58506         augmentation.
58507
58508 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
58509
58510         Add a configure time option: --disable-acl.
58511         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
58512         AC_ARG_ENABLE(acl).
58513
58514 2008-01-06  Simon Josefsson  <simon@josefsson.org>
58515
58516         * tests/test-localename.c: Don't include obsolete "setenv.h".
58517
58518         * modules/localename-tests (Depends-on): Need unsetenv.
58519
58520 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58521
58522         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
58523
58524 2008-01-06  Colin Watson  <cjwatson@debian.org>
58525
58526         * users.txt: Add man-db.
58527
58528 2008-01-07  Bruno Haible  <bruno@clisp.org>
58529
58530         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
58531         previous section name.
58532
58533 2008-01-07  Bruno Haible  <bruno@clisp.org>
58534
58535         * lib/progname.c (set_program_name): Don't strip off a leading
58536         "lt-" prefix outside a .libs directory.
58537         Suggested by Paul Eggert.
58538
58539 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
58540             Bruno Haible  <bruno@clisp.org>
58541
58542         Improve memory cleanup in 'relocatable' module.
58543         * lib/relocatable.h (compute_curr_prefix): Change return type to
58544         'char *'.
58545         * lib/relocatable.c (compute_curr_prefix): Change return type to
58546         'char *'. Free curr_installdir after use.
58547         (relocate): Free curr_prefix_better after use.
58548         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
58549
58550 2008-01-01  Bruno Haible  <bruno@clisp.org>
58551
58552         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
58553         failure on older glibc systems.
58554         Reported by Peter Fales <psfales@alcatel-lucent.com>.
58555
58556 2008-01-05  Eric Blake  <ebb9@byu.net>
58557
58558         Avoid quadratic system memmem.
58559         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
58560         Reported by Ralf Wildenhues.
58561
58562         Fix memmem test for mingw.
58563         * modules/memmem-tests (configure.ac): Check for alarm.
58564         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
58565         it.
58566         * doc/functions/memmem.texi: New file.
58567         * doc/gnulib.texi (Function Substitutes): Add memmem.
58568         Reported by Bruno Haible.
58569
58570 2008-01-04  Bruno Haible  <bruno@clisp.org>
58571
58572         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
58573         Require gl_HEADER_STRINGS_H_DEFAULTS, not
58574         gl_HEADER_STRING_H_DEFAULTS.
58575
58576 2008-01-04  Eric Blake  <ebb9@byu.net>
58577
58578         Shorten duration of memmem test.
58579         * tests/test-memmem.c (main): Use alarm to declare failure if test
58580         is taking too long.
58581         Reported by Ralf Wildenhues.
58582
58583 2007-12-21  Simon Josefsson  <simon@josefsson.org>
58584
58585         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
58586         string, needed by strerror.
58587
58588 2008-01-03  Colin Watson  <cjwatson@debian.org>
58589             Bruno Haible  <bruno@clisp.org>
58590
58591         * doc/gnulib-tool.texi (Localization): New section.
58592
58593 2008-01-02  Bruno Haible  <bruno@clisp.org>
58594
58595         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
58596         variables to 'unsigned char *' type.
58597         Reported by Paul Eggert.
58598
58599 2008-01-02  Jim Meyering  <jim@meyering.net>
58600
58601         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
58602
58603 2007-12-31  Jim Meyering  <jim@meyering.net>
58604
58605         Avoid use of private FTS type name.
58606         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
58607
58608 2007-12-30  Karl Berry  <karl@gnu.org>
58609
58610         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
58611         work around defect in Texinfo and/or the standalone Info browser.
58612
58613 2007-12-30  Bruno Haible  <bruno@clisp.org>
58614
58615         Unify 5 copies of the KMP code.
58616         * lib/str-kmp.h: New file.
58617         * lib/c-strcasestr.c: Include str-kmp.h.
58618         (knuth_morris_pratt): Remove function.
58619         (c_strcasestr): Update.
58620         * lib/c-strstr.c: Include str-kmp.h.
58621         (knuth_morris_pratt): Remove function.
58622         (c_strcasestr): Update.
58623         * lib/mbscasestr.c: Include str-kmp.h.
58624         (knuth_morris_pratt_unibyte): Remove function.
58625         * lib/mbsstr.c: Include str-kmp.h.
58626         (knuth_morris_pratt_unibyte): Remove function.
58627         * lib/strcasestr.c: Include str-kmp.h.
58628         (knuth_morris_pratt): Remove function.
58629         (strcasestr): Update.
58630         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
58631         * modules/c-strstr (Files): Likewise.
58632         * modules/mbscasestr (Files): Likewise.
58633         * modules/mbsstr (Files): Likewise.
58634         * modules/strcasestr (Files): Likewise.
58635         Suggested by Paul Eggert.
58636
58637 2007-12-30  Bruno Haible  <bruno@clisp.org>
58638
58639         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
58640         defined.
58641
58642 2007-12-30  Bruno Haible  <bruno@clisp.org>
58643
58644         * lib/xmalloca.h: Include xalloc.h.
58645         (xnmalloca): New macro.
58646
58647 2007-12-30  Bruno Haible  <bruno@clisp.org>
58648
58649         * lib/malloca.h (nmalloca): New macro.
58650         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
58651         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
58652         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
58653         knuth_morris_pratt_multibyte): Likewise.
58654         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
58655         knuth_morris_pratt_multibyte): Likewise.
58656         * lib/memmem.c (knuth_morris_pratt): Likewise.
58657         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
58658
58659 2007-12-25  Bruno Haible  <bruno@clisp.org>
58660
58661         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
58662         * lib/glob.c: Don't include openat.h.
58663         (link_exists2_p): Add back the code that deals with the
58664         !GLOB_ALTDIRFUNC case.
58665         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
58666         let it do the filename concatenation.
58667         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
58668         * modules/glob (Depends-on): Remove openat.
58669
58670 2007-12-31  Bruno Haible  <bruno@clisp.org>
58671
58672         * modules/dirfd (License): Change to LGPLv2+.
58673         Approved by Jim Meyering.
58674
58675 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
58676
58677         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
58678         when multiplying M by sizeof (size_t).
58679
58680 2007-12-10  Martin Lambers  <marlam@marlam.de>
58681
58682         Override getpagesize on mingw.
58683         * lib/getpagesize.c: New file.
58684         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
58685         * modules/getpagesize (Files): Add lib/getpagesize.c.
58686         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
58687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
58688         REPLACE_GETPAGESIZE.
58689         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
58690
58691 2007-12-25  Bruno Haible  <bruno@clisp.org>
58692
58693         * modules/localcharset (Notice): New field.
58694         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
58695         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
58696
58697 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
58698             Bruno Haible  <bruno@clisp.org>
58699
58700         Avoid using the syntax symbol() in formatted documentation.
58701         * MODULES.html.sh (func_module): When replacing symbol() with a
58702         hyperlink, remove the parentheses. Show an error if some remain.
58703         Recognize and render the '...' syntax.
58704         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
58705         Rework. Add paragraph about GCC's inlining.
58706         * doc/alloca.texi: Likewise.
58707         * doc/error.texi: Remove parentheses from symbol reference.
58708         * doc/gnulib-intro.texi: Likewise.
58709         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
58710         * modules/fnmatch (Description): Reword to say "the ... function".
58711         * modules/full-read (Description): Likewise.
58712         * modules/full-write (Description): Likewise.
58713         * modules/safe-read (Description): Likewise.
58714         * modules/safe-write (Description): Likewise.
58715         * modules/strchrnul (Description): Likewise.
58716         * modules/trim (Description): Likewise.
58717         * modules/error (Description): Remove parentheses from symbol
58718         references.
58719         * modules/verror (Description): Likewise.
58720         Reported by Karl Berry.
58721
58722 2007-12-25  Bruno Haible  <bruno@clisp.org>
58723
58724         Fixup after 2007-10-16 commit.
58725         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
58726
58727 2007-12-24  Bruno Haible  <bruno@clisp.org>
58728
58729         Make --enable-relocatable work with DESTDIR.
58730         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
58731         to compute installdir from destprog.
58732         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
58733         also set the RELOC_DESTDIR variable.
58734         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58735
58736 2007-12-24  Bruno Haible  <bruno@clisp.org>
58737
58738         Fix link error due to xalloc_die().
58739         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
58740         of xreadlink.
58741         * lib/relocwrapper.c: Update comments.
58742         * build-aux/install-reloc: Remove xreadlink.c from file list.
58743         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
58744         xreadlink.c.
58745         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58746
58747 2007-12-24  Bruno Haible  <bruno@clisp.org>
58748
58749         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
58750         * lib/setenv.h: Remove file.
58751         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
58752         lib/setenv.h.
58753         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
58754         (Depends-on): Add stdlib.
58755         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
58756         gl_FUNC_UNSETENV.
58757         (Include): Replace setenv.h with <stdlib.h>.
58758         * modules/unsetenv: New file.
58759         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
58760         * lib/unsetenv.c: Include <stdlib.h> first.
58761         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
58762         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
58763         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
58764         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
58765         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
58766         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58767         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
58768         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
58769         * doc/functions/unsetenv.texi: Update.
58770         * modules/xsetenv (Depends-on): Add unsetenv.
58771         * modules/getdate (Depends-on): Likewise.
58772         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
58773         * lib/xsetenv.c: Don't include setenv.h.
58774         * lib/getdate.y: Likewise.
58775         * lib/relocwrapper.c: Likewise.
58776         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
58777         (Depends-on): Add stdlib.
58778         * NEWS: Mention the changes.
58779         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
58780
58781 2007-12-23  Bruno Haible  <bruno@clisp.org>
58782
58783         * lib/memmem.c (memmem): Use lowercase variable names. Tab
58784         indentation.
58785
58786 2007-12-23  Bruno Haible  <bruno@clisp.org>
58787
58788         * lib/c-strcasestr.c: Add more comments.
58789         * lib/c-strstr.c: Likewise.
58790         * lib/mbscasestr.c: Likewise.
58791         * lib/mbsstr.c: Likewise.
58792         * lib/strcasestr.c: Likewise.
58793         * lib/memmem.c: Likewise.
58794
58795 2007-12-23  Bruno Haible  <bruno@clisp.org>
58796
58797         * tests/test-memmem.c: Include <string.h> first.
58798
58799 2007-12-22  Bruno Haible  <bruno@clisp.org>
58800
58801         * gnulib-tool (func_create_testdir): Change $auxdir while generating
58802         the contents of $testsbase.
58803         Reported by Ralf Wildenhues.
58804
58805 2007-12-22  Bruno Haible  <bruno@clisp.org>
58806
58807         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
58808         two variables local_ldadd_before, local_ldadd_last.
58809
58810 2007-12-20  Eric Blake  <ebb9@byu.net>
58811
58812         Work around circular library issue when cross-compiling.
58813         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
58814         that progname.o does not need to pull in rpl_memcmp.
58815
58816 2007-12-19  Eric Blake  <ebb9@byu.net>
58817
58818         Fix memmem to avoid O(n^2) worst-case complexity.
58819         * lib/memmem.c (knuth_morris_pratt): New function.
58820         (memmem): Use it if first few naive iterations fail.
58821         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
58822         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
58823         * modules/memchr (License): Likewise.
58824         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
58825         malloca.
58826         * tests/test-memmem.c: Rewrite, borrowing ideas from
58827         test-mbsstr1.c; the old version wouldn't even compile!
58828         * modules/memmem-tests: New file.
58829         * lib/string.in.h (rpl_memmem): Add declaration.
58830         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
58831         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
58832         REPLACE_MEMMEM.
58833
58834 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
58835
58836         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
58837         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
58838         before any system include files, and undef after them all.  This
58839         should fix a problem on VMS reported by John E. Malmberg in
58840         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
58841
58842 2007-12-17  Eric Blake  <ebb9@byu.net>
58843
58844         Revert addition of verify, for BSD/OS.
58845         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
58846         can't handle large files, for the sake of obsolete platforms.
58847         * modules/fseeko (Depends-on): Remove verify.
58848         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
58849         * doc/functions/ftello.texi (ftello): Likewise.
58850         * doc/functions/fgetpos.texi (fgetpos): Likewise.
58851         Reported by Larry Jones.
58852
58853 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
58854
58855         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
58856         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
58857
58858 2007-12-17  Jim Meyering  <meyering@redhat.com>
58859
58860         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
58861         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
58862         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
58863         * modules/getcwd (Depends-on): Add openat.
58864         Reported by Petr Salinger.
58865
58866 2007-12-17  Bruno Haible  <bruno@clisp.org>
58867
58868         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
58869         avoid a segmentation fault of the configure test on x86_64 systems.
58870
58871 2007-12-15  Jim Meyering  <meyering@redhat.com>
58872
58873         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
58874
58875 2007-12-13  Eric Blake  <ebb9@byu.net>
58876
58877         Another fseek test.
58878         * tests/test-fseek.c (main): Also test ungetc handling.
58879         * tests/test-fseeko.c (main): Likewise.
58880         * modules/fseeko (Depends-on): Add verify.
58881         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
58882         large.
58883         Reported by Larry Jones.
58884
58885         Fix fseeko on mingw.
58886         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
58887         seek.
58888
58889         Beef up fseek tests.
58890         * tests/test-fseek.c (main): Also test eof handling.
58891         * tests/test-fseeko.c (main): Likewise.
58892         Reported by Larry Jones.
58893
58894 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
58895
58896         Fix fseeko on BSD-based platforms.
58897         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
58898         successful seek.
58899
58900 2007-12-12  Eric Blake  <ebb9@byu.net>
58901
58902         Allow circular dependency of separate libtests.a
58903         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
58904         when use_libtests.
58905
58906 2007-12-11  Eric Blake  <ebb9@byu.net>
58907
58908         Fix bug with -0.0L in previous patch.
58909         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
58910         * tests/test-isnan.c (main): Also test on zeroes.
58911         * tests/test-isnanf.c (main): Likewise.
58912         * tests/test-isnanl.h (main): Likewise.
58913
58914         Detect pseudo-denormals on x86 even when cross-compiling.
58915         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
58916         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
58917         invalid bit patterns that happen to satisfy ==.
58918
58919         Avoid link failures with separate libtests.a.
58920         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
58921         last, to satisfy circular dependencies.
58922
58923 2007-12-11  Eric Blake  <ebb9@byu.net>
58924         and Bruno Haible  <bruno@clisp.org>
58925
58926         Fix OpenBSD 4.0 <float.h> handling of long double.
58927         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
58928         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
58929         * doc/headers/float.texi (float.h): Document OpenBSD bug.
58930
58931 2007-12-11  Jim Meyering  <meyering@redhat.com>
58932
58933         * users.txt: Add libvirt.
58934
58935         Support versions of autoconf prior to 2.59c.
58936         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
58937         if it is not already defined.
58938
58939 2007-12-09  Bruno Haible  <bruno@clisp.org>
58940
58941         Let 'gnulib-tool --import' collect sources needed for the tests in
58942         tests/ rather than in lib/.
58943         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
58944         argument. If true, add rules to generate libtests.a, and put libtests.a
58945         into $(LDADD). Consider source files in subdirectories and set
58946         uses_subdirs.
58947         (func_emit_initmacro_start, func_emit_initmacro_end,
58948         func_emit_initmacro_done): Pass all arguments explicitly.
58949         (func_import): Determine two module lists main_modules,
58950         testsrelated_modules. Determine use_libtests. Determine two variables
58951         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
58952         instead of just sed_transform_lib_file. Determine two variables
58953         main_files and testsrelated_files. Compute 'files' as the union of
58954         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
58955         func_add_or_update. In the generated gnulib-comp.m4, collect the
58956         object files for tests/ in different variables than those for lib/.
58957         Substitute LIBTESTS_LIBDEPS.
58958         (func_create_testdir): Combine the uses_subdirs results from
58959         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
58960
58961 2007-12-09  Bruno Haible  <bruno@clisp.org>
58962
58963         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
58964         the build-aux directory.
58965
58966 2007-12-09  Bruno Haible  <bruno@clisp.org>
58967
58968         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
58969         introduced on 2006-09-09.
58970
58971 2007-12-07  Jim Meyering  <meyering@redhat.com>
58972
58973         Let these macros work also with autoconf-2.59.
58974         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
58975         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
58976         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
58977
58978 2007-12-06  Jim Meyering  <meyering@redhat.com>
58979
58980         Avoid a configure-time syntax error in gl_FUNC_ACL.
58981         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
58982         function in each branch, before testing the cache variable.
58983
58984 2007-12-04  Eric Blake  <ebb9@byu.net>
58985
58986         Make scripts executable.
58987         * build-aux/config.guess: Add execute permissions.
58988         * build-aux/config.sub: Likewise.
58989         * build-aux/gendocs.sh: Likewise.
58990
58991         Fix frexp on mingw.
58992         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
58993         cross-compiling.
58994         * doc/functions/frexp.texi (frexp): Document the bug.
58995
58996         Make cygwin fseeko check more reliable.
58997         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
58998         version numbers, rather than unrelated feature check.
58999         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
59000         * doc/functions/ftello.texi (ftello): Likewise.
59001         Reported by Bruno Haible.
59002
59003         * m4/strerror.m4: Bump version number.
59004
59005 2007-12-03  Bruno Haible  <bruno@clisp.org>
59006
59007         * doc/functions/mprotect.texi: Mention the mingw problem.
59008
59009 2007-12-03  Eric Blake  <ebb9@byu.net>
59010
59011         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
59012         REPLACE_STRERROR is initialized before this macro.
59013
59014 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
59015
59016         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
59017         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
59018         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
59019         put -lsec in even for programs other than 'ls'.  This fixes a problem
59020         for gettext reported by Bruno Haible in
59021         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
59022         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
59023         Add support for Solaris 10.  This isn't efficient, but should get the
59024         job done for now.
59025
59026 2007-12-03  James Youngman  <jay@gnu.org>
59027
59028         * doc/regexprops-generic.texi: change "an close-group" to "a
59029         close-group" and "illegal" to "not allowed".
59030
59031 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59032
59033         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
59034         pr_byname.h. Needed for the rare case when the maintainer has done
59035         "make maintainer-clean" in the source directory and then attempts a
59036         build outside the source directory.
59037         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
59038         scripts_byname.h.
59039
59040 2007-12-02  Martin Lambers <marlam@marlam.de>
59041             Bruno Haible  <bruno@clisp.org>
59042
59043         * lib/getpagesize.h: Remove file.
59044         * lib/unistd.in.h: Include declaration of getpagesize here.
59045         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
59046         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
59047         HAVE_SYS_PARAM_H.
59048         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
59049         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59050         * modules/getpagesize (Files): Remove lib/getpagesize.h.
59051         (Depends-on): Add unistd.
59052         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59053         (Include): Use <unistd.h> instead of getpagesize.h.
59054         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
59055         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59056         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
59057         gl_GETPAGESIZE invocation, already handled by module dependency.
59058         * lib/pagealign_alloc.c: Don't include getpagesize.h.
59059
59060 2007-12-02  Bruno Haible  <bruno@clisp.org>
59061
59062         * modules/strings-tests: New file.
59063         * tests/test-strings.c: New file.
59064
59065         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
59066         * lib/strings.in.h: New file.
59067         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
59068         * m4/strings_h.m4: New file.
59069         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
59070         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
59071         * modules/strings: New file.
59072         * modules/string (Makefile.am): Update.
59073         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
59074         Reported by Karl Berry.
59075
59076 2007-12-01  Eric Blake  <ebb9@byu.net>
59077
59078         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
59079         accomodate fix in cygwin 1.5.25.
59080
59081 2007-12-01  Jim Meyering  <meyering@redhat.com>
59082
59083         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
59084         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
59085         that would inhibit utf8-optimization of a regexp containing line-
59086         or buffer-anchors, e.g., `^', `$'.
59087
59088 2007-11-30  Bruno Haible  <bruno@clisp.org>
59089
59090         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
59091         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
59092         glthread_recursive_lock_init.
59093         * lib/lock.c (glthread_recursive_lock_init)
59094         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
59095         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59096
59097 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
59098
59099         New function qset_acl, like set_acl but with syscall semantics.
59100         * lib/acl.h (qset_acl): New decl.
59101         * lib/acl.c (qset_acl): New function.
59102         (set_acl): Use new function.  Use more-consistent diagnostics.
59103
59104 2007-11-28  Jim Meyering  <meyering@redhat.com>
59105
59106         * modules/physmem (License): Change from GPL to LGPLv2+.
59107
59108 2007-11-26  Bruno Haible  <bruno@clisp.org>
59109
59110         * lib/vasnprintf.c (decode_long_double): Don't abort if the
59111         'long double' type has excess precision.
59112         Reported by Jim Meyering in
59113         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
59114
59115 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59116
59117         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
59118         Sync from <http://gnu.org/licenses>.
59119         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
59120         with license text from same location.
59121         * doc/maintain.texi, doc/standards.texi:  Sync from
59122         <http://savannah.gnu.org/projects/gnustandards>.
59123
59124 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
59125         and Jim Meyering  <meyering@redhat.com>
59126
59127         Adjust getdate' grammar to accept a slightly more regular language.
59128         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
59129         Before, the former was rejected.
59130         * lib/getdate.y (digits_to_date_time): New function, factored
59131         out of ...
59132         (number): ...here.  Just call digits_to_date_time.
59133         (hybrid): New non-terminal to handle an <unsigned number,
59134         signed relative offset> sequence consistently.
59135
59136 2007-11-18  Jim Meyering  <meyering@redhat.com>
59137
59138         Pull my changes from coreutils:
59139         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
59140         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
59141         use of $gnulib_tool_option_extras, so that it's separated from the
59142         preceding argument.
59143
59144         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
59145         * build-aux/bootstrap (cp_mark_as_generated): Create any required
59146         parent destination directories before copying a file into place.
59147
59148 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59149
59150         bootstrap: work also with 4-argument variant of AC_INIT
59151         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
59152
59153 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59154
59155         Port test-getaddrinfo to Solaris.
59156         Problem reported by Bruno Haible in
59157         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
59158         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
59159         explanation of setting 'hints'.
59160         Don't reject an implementation merely because it returns EAI_SERVICE.
59161         (EAI_SERVICE): Define to 0 if not defined.
59162
59163 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59164
59165         The license of gnu-make and posix-shell is now "GPLed build tool".
59166         * modules/gnu-make (License): Likewise.
59167         * modules/posix-shell (License): Likewise.
59168
59169         New module posix-shell, for determining a POSIX shell
59170         or perhaps something that is close enough to a POSIX shell.
59171         * m4/posix-shell.m4: New file.
59172         * modules/posix-shell: New file.
59173
59174         * MODULES.html.sh: Mention new module.
59175
59176         New module gnu-make, for determining whether we're using GNU Make.
59177         * m4/gnu-make.m4: New file.
59178         * modules/gnu-make: New file.
59179         * MODULES.html.sh: Mention new module.
59180
59181 2007-11-14  Jim Meyering  <meyering@redhat.com>
59182
59183         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
59184         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
59185         use this macro to create a function _definition_.
59186         Remove useless "#undef ARGMATCH_DIE".
59187
59188 2007-11-14  Bruno Haible  <bruno@clisp.org>
59189
59190         * lib/config.charset: Update for OpenBSD 4.1.
59191         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
59192
59193 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
59194
59195         Document 64-bit #if problems in stdint.texi.
59196         * doc/headers/stdint.texi (stdint.h): Mention problems with
59197         64-bit-#if, and how to work around them.
59198
59199         Don't insist on 'long long int' support in the preprocessor.  It
59200         breaks too many things.  For example, PRIdMAX still uses a 'long
59201         long int' format with the latest Sun compiler, even though
59202         HAVE_LONG_LONG_INT isn't defined due to that compiler's
59203         preprocessor problem.  This causes the latest coreutils to dump
59204         core on Solaris 10 sparc with the Sun C compiler.
59205         Instead, fix the 2007-10-16 problem in a different way, by evaluating
59206         the troublesome expressions at configure-time, not at #if-time.
59207         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
59208         preprocessor.
59209         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
59210         compile-time C checks, done at 'configure'-time.
59211         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
59212         * modules/inttypes (Makefile): Substitute the new symbols that
59213         gl_INTTYPES_H now generates.
59214         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
59215
59216 2007-11-12  Bruno Haible  <bruno@clisp.org>
59217
59218         Tests for Unicode character classification functions.
59219
59220         * modules/unictype/bidicategory-byname-tests: New file.
59221         * modules/unictype/bidicategory-name-tests: New file.
59222         * modules/unictype/bidicategory-of-tests: New file.
59223         * modules/unictype/bidicategory-test-tests: New file.
59224         * modules/unictype/block-list-tests: New file.
59225         * modules/unictype/block-of-tests: New file.
59226         * modules/unictype/block-test-tests: New file.
59227         * modules/unictype/category-C-tests: New file.
59228         * modules/unictype/category-Cc-tests: New file.
59229         * modules/unictype/category-Cf-tests: New file.
59230         * modules/unictype/category-Cn-tests: New file.
59231         * modules/unictype/category-Co-tests: New file.
59232         * modules/unictype/category-Cs-tests: New file.
59233         * modules/unictype/category-L-tests: New file.
59234         * modules/unictype/category-Ll-tests: New file.
59235         * modules/unictype/category-Lm-tests: New file.
59236         * modules/unictype/category-Lo-tests: New file.
59237         * modules/unictype/category-Lt-tests: New file.
59238         * modules/unictype/category-Lu-tests: New file.
59239         * modules/unictype/category-M-tests: New file.
59240         * modules/unictype/category-Mc-tests: New file.
59241         * modules/unictype/category-Me-tests: New file.
59242         * modules/unictype/category-Mn-tests: New file.
59243         * modules/unictype/category-N-tests: New file.
59244         * modules/unictype/category-Nd-tests: New file.
59245         * modules/unictype/category-Nl-tests: New file.
59246         * modules/unictype/category-No-tests: New file.
59247         * modules/unictype/category-P-tests: New file.
59248         * modules/unictype/category-Pc-tests: New file.
59249         * modules/unictype/category-Pd-tests: New file.
59250         * modules/unictype/category-Pe-tests: New file.
59251         * modules/unictype/category-Pf-tests: New file.
59252         * modules/unictype/category-Pi-tests: New file.
59253         * modules/unictype/category-Po-tests: New file.
59254         * modules/unictype/category-Ps-tests: New file.
59255         * modules/unictype/category-S-tests: New file.
59256         * modules/unictype/category-Sc-tests: New file.
59257         * modules/unictype/category-Sk-tests: New file.
59258         * modules/unictype/category-Sm-tests: New file.
59259         * modules/unictype/category-So-tests: New file.
59260         * modules/unictype/category-Z-tests: New file.
59261         * modules/unictype/category-Zl-tests: New file.
59262         * modules/unictype/category-Zp-tests: New file.
59263         * modules/unictype/category-Zs-tests: New file.
59264         * modules/unictype/category-and-not-tests: New file.
59265         * modules/unictype/category-and-tests: New file.
59266         * modules/unictype/category-byname-tests: New file.
59267         * modules/unictype/category-name-tests: New file.
59268         * modules/unictype/category-none-tests: New file.
59269         * modules/unictype/category-of-tests: New file.
59270         * modules/unictype/category-or-tests: New file.
59271         * modules/unictype/category-test-withtable-tests: New file.
59272         * modules/unictype/combining-class-tests: New file.
59273         * modules/unictype/ctype-alnum-tests: New file.
59274         * modules/unictype/ctype-alpha-tests: New file.
59275         * modules/unictype/ctype-blank-tests: New file.
59276         * modules/unictype/ctype-cntrl-tests: New file.
59277         * modules/unictype/ctype-digit-tests: New file.
59278         * modules/unictype/ctype-graph-tests: New file.
59279         * modules/unictype/ctype-lower-tests: New file.
59280         * modules/unictype/ctype-print-tests: New file.
59281         * modules/unictype/ctype-punct-tests: New file.
59282         * modules/unictype/ctype-space-tests: New file.
59283         * modules/unictype/ctype-upper-tests: New file.
59284         * modules/unictype/ctype-xdigit-tests: New file.
59285         * modules/unictype/decimal-digit-tests: New file.
59286         * modules/unictype/digit-tests: New file.
59287         * modules/unictype/mirror-tests: New file.
59288         * modules/unictype/numeric-tests: New file.
59289         * modules/unictype/property-alphabetic-tests: New file.
59290         * modules/unictype/property-ascii-hex-digit-tests: New file.
59291         * modules/unictype/property-bidi-arabic-digit-tests: New file.
59292         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
59293         * modules/unictype/property-bidi-block-separator-tests: New file.
59294         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
59295         * modules/unictype/property-bidi-common-separator-tests: New file.
59296         * modules/unictype/property-bidi-control-tests: New file.
59297         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
59298         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
59299         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
59300         * modules/unictype/property-bidi-european-digit-tests: New file.
59301         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
59302         * modules/unictype/property-bidi-left-to-right-tests: New file.
59303         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
59304         * modules/unictype/property-bidi-other-neutral-tests: New file.
59305         * modules/unictype/property-bidi-pdf-tests: New file.
59306         * modules/unictype/property-bidi-segment-separator-tests: New file.
59307         * modules/unictype/property-bidi-whitespace-tests: New file.
59308         * modules/unictype/property-byname-tests: New file.
59309         * modules/unictype/property-combining-tests: New file.
59310         * modules/unictype/property-composite-tests: New file.
59311         * modules/unictype/property-currency-symbol-tests: New file.
59312         * modules/unictype/property-dash-tests: New file.
59313         * modules/unictype/property-decimal-digit-tests: New file.
59314         * modules/unictype/property-default-ignorable-code-point-tests: New file.
59315         * modules/unictype/property-deprecated-tests: New file.
59316         * modules/unictype/property-diacritic-tests: New file.
59317         * modules/unictype/property-extender-tests: New file.
59318         * modules/unictype/property-format-control-tests: New file.
59319         * modules/unictype/property-grapheme-base-tests: New file.
59320         * modules/unictype/property-grapheme-extend-tests: New file.
59321         * modules/unictype/property-grapheme-link-tests: New file.
59322         * modules/unictype/property-hex-digit-tests: New file.
59323         * modules/unictype/property-hyphen-tests: New file.
59324         * modules/unictype/property-id-continue-tests: New file.
59325         * modules/unictype/property-id-start-tests: New file.
59326         * modules/unictype/property-ideographic-tests: New file.
59327         * modules/unictype/property-ids-binary-operator-tests: New file.
59328         * modules/unictype/property-ids-trinary-operator-tests: New file.
59329         * modules/unictype/property-ignorable-control-tests: New file.
59330         * modules/unictype/property-iso-control-tests: New file.
59331         * modules/unictype/property-join-control-tests: New file.
59332         * modules/unictype/property-left-of-pair-tests: New file.
59333         * modules/unictype/property-line-separator-tests: New file.
59334         * modules/unictype/property-logical-order-exception-tests: New file.
59335         * modules/unictype/property-lowercase-tests: New file.
59336         * modules/unictype/property-math-tests: New file.
59337         * modules/unictype/property-non-break-tests: New file.
59338         * modules/unictype/property-not-a-character-tests: New file.
59339         * modules/unictype/property-numeric-tests: New file.
59340         * modules/unictype/property-other-alphabetic-tests: New file.
59341         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
59342         * modules/unictype/property-other-grapheme-extend-tests: New file.
59343         * modules/unictype/property-other-id-continue-tests: New file.
59344         * modules/unictype/property-other-id-start-tests: New file.
59345         * modules/unictype/property-other-lowercase-tests: New file.
59346         * modules/unictype/property-other-math-tests: New file.
59347         * modules/unictype/property-other-uppercase-tests: New file.
59348         * modules/unictype/property-paired-punctuation-tests: New file.
59349         * modules/unictype/property-paragraph-separator-tests: New file.
59350         * modules/unictype/property-pattern-syntax-tests: New file.
59351         * modules/unictype/property-pattern-white-space-tests: New file.
59352         * modules/unictype/property-private-use-tests: New file.
59353         * modules/unictype/property-punctuation-tests: New file.
59354         * modules/unictype/property-quotation-mark-tests: New file.
59355         * modules/unictype/property-radical-tests: New file.
59356         * modules/unictype/property-sentence-terminal-tests: New file.
59357         * modules/unictype/property-soft-dotted-tests: New file.
59358         * modules/unictype/property-space-tests: New file.
59359         * modules/unictype/property-terminal-punctuation-tests: New file.
59360         * modules/unictype/property-test-tests: New file.
59361         * modules/unictype/property-titlecase-tests: New file.
59362         * modules/unictype/property-unassigned-code-value-tests: New file.
59363         * modules/unictype/property-unified-ideograph-tests: New file.
59364         * modules/unictype/property-uppercase-tests: New file.
59365         * modules/unictype/property-variation-selector-tests: New file.
59366         * modules/unictype/property-white-space-tests: New file.
59367         * modules/unictype/property-xid-continue-tests: New file.
59368         * modules/unictype/property-xid-start-tests: New file.
59369         * modules/unictype/property-zero-width-tests: New file.
59370         * modules/unictype/scripts-tests: New file.
59371         * modules/unictype/syntax-c-ident-tests: New file.
59372         * modules/unictype/syntax-c-whitespace-tests: New file.
59373         * modules/unictype/syntax-java-ident-tests: New file.
59374         * modules/unictype/syntax-java-whitespace-tests: New file.
59375         * tests/unictype/test-bidi_byname.c: New file.
59376         * tests/unictype/test-bidi_name.c: New file.
59377         * tests/unictype/test-bidi_of.c: New file.
59378         * tests/unictype/test-bidi_test.c: New file.
59379         * tests/unictype/test-block_list.c: New file.
59380         * tests/unictype/test-block_of.c: New file.
59381         * tests/unictype/test-block_test.c: New file.
59382         * tests/unictype/test-categ_and.c: New file.
59383         * tests/unictype/test-categ_and_not.c: New file.
59384         * tests/unictype/test-categ_byname.c: New file.
59385         * tests/unictype/test-categ_name.c: New file.
59386         * tests/unictype/test-categ_none.c: New file.
59387         * tests/unictype/test-categ_of.c: New file.
59388         * tests/unictype/test-categ_or.c: New file.
59389         * tests/unictype/test-categ_test_withtable.c: New file.
59390         * tests/unictype/test-combining.c: New file.
59391         * tests/unictype/test-decdigit.c: New file.
59392         * tests/unictype/test-digit.c: New file.
59393         * tests/unictype/test-mirror.c: New file.
59394         * tests/unictype/test-numeric.c: New file.
59395         * tests/unictype/test-pr_byname.c: New file.
59396         * tests/unictype/test-pr_test.c: New file.
59397         * tests/unictype/test-predicate-part1.h: New file.
59398         * tests/unictype/test-predicate-part2.h: New file.
59399         * tests/unictype/test-scripts.c: New file.
59400         * tests/unictype/test-sy_c_ident.c: New file.
59401         * tests/unictype/test-sy_java_ident.c: New file.
59402
59403         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
59404         for Unicode 5.0.0.
59405         * tests/unictype/test-categ_Cc.c: Likewise.
59406         * tests/unictype/test-categ_Cf.c: Likewise.
59407         * tests/unictype/test-categ_Cn.c: Likewise.
59408         * tests/unictype/test-categ_Co.c: Likewise.
59409         * tests/unictype/test-categ_Cs.c: Likewise.
59410         * tests/unictype/test-categ_L.c: Likewise.
59411         * tests/unictype/test-categ_Ll.c: Likewise.
59412         * tests/unictype/test-categ_Lm.c: Likewise.
59413         * tests/unictype/test-categ_Lo.c: Likewise.
59414         * tests/unictype/test-categ_Lt.c: Likewise.
59415         * tests/unictype/test-categ_Lu.c: Likewise.
59416         * tests/unictype/test-categ_M.c: Likewise.
59417         * tests/unictype/test-categ_Mc.c: Likewise.
59418         * tests/unictype/test-categ_Me.c: Likewise.
59419         * tests/unictype/test-categ_Mn.c: Likewise.
59420         * tests/unictype/test-categ_N.c: Likewise.
59421         * tests/unictype/test-categ_Nd.c: Likewise.
59422         * tests/unictype/test-categ_Nl.c: Likewise.
59423         * tests/unictype/test-categ_No.c: Likewise.
59424         * tests/unictype/test-categ_P.c: Likewise.
59425         * tests/unictype/test-categ_Pc.c: Likewise.
59426         * tests/unictype/test-categ_Pd.c: Likewise.
59427         * tests/unictype/test-categ_Pe.c: Likewise.
59428         * tests/unictype/test-categ_Pf.c: Likewise.
59429         * tests/unictype/test-categ_Pi.c: Likewise.
59430         * tests/unictype/test-categ_Po.c: Likewise.
59431         * tests/unictype/test-categ_Ps.c: Likewise.
59432         * tests/unictype/test-categ_S.c: Likewise.
59433         * tests/unictype/test-categ_Sc.c: Likewise.
59434         * tests/unictype/test-categ_Sk.c: Likewise.
59435         * tests/unictype/test-categ_Sm.c: Likewise.
59436         * tests/unictype/test-categ_So.c: Likewise.
59437         * tests/unictype/test-categ_Z.c: Likewise.
59438         * tests/unictype/test-categ_Zl.c: Likewise.
59439         * tests/unictype/test-categ_Zp.c: Likewise.
59440         * tests/unictype/test-categ_Zs.c: Likewise.
59441         * tests/unictype/test-ctype_alnum.c: Likewise.
59442         * tests/unictype/test-ctype_alpha.c: Likewise.
59443         * tests/unictype/test-ctype_blank.c: Likewise.
59444         * tests/unictype/test-ctype_cntrl.c: Likewise.
59445         * tests/unictype/test-ctype_digit.c: Likewise.
59446         * tests/unictype/test-ctype_graph.c: Likewise.
59447         * tests/unictype/test-ctype_lower.c: Likewise.
59448         * tests/unictype/test-ctype_print.c: Likewise.
59449         * tests/unictype/test-ctype_punct.c: Likewise.
59450         * tests/unictype/test-ctype_space.c: Likewise.
59451         * tests/unictype/test-ctype_upper.c: Likewise.
59452         * tests/unictype/test-ctype_xdigit.c: Likewise.
59453         * tests/unictype/test-decdigit.h: Likewise.
59454         * tests/unictype/test-digit.h: Likewise.
59455         * tests/unictype/test-numeric.h: Likewise.
59456         * tests/unictype/test-pr_alphabetic.c: Likewise.
59457         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
59458         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
59459         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
59460         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
59461         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
59462         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
59463         * tests/unictype/test-pr_bidi_control.c: Likewise.
59464         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
59465         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
59466         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
59467         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
59468         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
59469         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
59470         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
59471         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
59472         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
59473         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
59474         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
59475         * tests/unictype/test-pr_combining.c: Likewise.
59476         * tests/unictype/test-pr_composite.c: Likewise.
59477         * tests/unictype/test-pr_currency_symbol.c: Likewise.
59478         * tests/unictype/test-pr_dash.c: Likewise.
59479         * tests/unictype/test-pr_decimal_digit.c: Likewise.
59480         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
59481         * tests/unictype/test-pr_deprecated.c: Likewise.
59482         * tests/unictype/test-pr_diacritic.c: Likewise.
59483         * tests/unictype/test-pr_extender.c: Likewise.
59484         * tests/unictype/test-pr_format_control.c: Likewise.
59485         * tests/unictype/test-pr_grapheme_base.c: Likewise.
59486         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
59487         * tests/unictype/test-pr_grapheme_link.c: Likewise.
59488         * tests/unictype/test-pr_hex_digit.c: Likewise.
59489         * tests/unictype/test-pr_hyphen.c: Likewise.
59490         * tests/unictype/test-pr_id_continue.c: Likewise.
59491         * tests/unictype/test-pr_id_start.c: Likewise.
59492         * tests/unictype/test-pr_ideographic.c: Likewise.
59493         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
59494         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
59495         * tests/unictype/test-pr_ignorable_control.c: Likewise.
59496         * tests/unictype/test-pr_iso_control.c: Likewise.
59497         * tests/unictype/test-pr_join_control.c: Likewise.
59498         * tests/unictype/test-pr_left_of_pair.c: Likewise.
59499         * tests/unictype/test-pr_line_separator.c: Likewise.
59500         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
59501         * tests/unictype/test-pr_lowercase.c: Likewise.
59502         * tests/unictype/test-pr_math.c: Likewise.
59503         * tests/unictype/test-pr_non_break.c: Likewise.
59504         * tests/unictype/test-pr_not_a_character.c: Likewise.
59505         * tests/unictype/test-pr_numeric.c: Likewise.
59506         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
59507         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
59508         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
59509         * tests/unictype/test-pr_other_id_continue.c: Likewise.
59510         * tests/unictype/test-pr_other_id_start.c: Likewise.
59511         * tests/unictype/test-pr_other_lowercase.c: Likewise.
59512         * tests/unictype/test-pr_other_math.c: Likewise.
59513         * tests/unictype/test-pr_other_uppercase.c: Likewise.
59514         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
59515         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
59516         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
59517         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
59518         * tests/unictype/test-pr_private_use.c: Likewise.
59519         * tests/unictype/test-pr_punctuation.c: Likewise.
59520         * tests/unictype/test-pr_quotation_mark.c: Likewise.
59521         * tests/unictype/test-pr_radical.c: Likewise.
59522         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
59523         * tests/unictype/test-pr_soft_dotted.c: Likewise.
59524         * tests/unictype/test-pr_space.c: Likewise.
59525         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
59526         * tests/unictype/test-pr_titlecase.c: Likewise.
59527         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
59528         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
59529         * tests/unictype/test-pr_uppercase.c: Likewise.
59530         * tests/unictype/test-pr_variation_selector.c: Likewise.
59531         * tests/unictype/test-pr_white_space.c: Likewise.
59532         * tests/unictype/test-pr_xid_continue.c: Likewise.
59533         * tests/unictype/test-pr_xid_start.c: Likewise.
59534         * tests/unictype/test-pr_zero_width.c: Likewise.
59535         * tests/unictype/test-sy_c_whitespace.c: Likewise.
59536         * tests/unictype/test-sy_java_whitespace.c: Likewise.
59537
59538 2007-11-12  Bruno Haible  <bruno@clisp.org>
59539
59540         Unicode character classification functions.
59541         * lib/unictype.h: New file.
59542         * modules/unictype/base: New file.
59543         * modules/unictype/category-L: New file.
59544         * modules/unictype/category-Lu: New file.
59545         * modules/unictype/category-Ll: New file.
59546         * modules/unictype/category-Lt: New file.
59547         * modules/unictype/category-Lm: New file.
59548         * modules/unictype/category-Lo: New file.
59549         * modules/unictype/category-M: New file.
59550         * modules/unictype/category-Mn: New file.
59551         * modules/unictype/category-Mc: New file.
59552         * modules/unictype/category-Me: New file.
59553         * modules/unictype/category-N: New file.
59554         * modules/unictype/category-Nd: New file.
59555         * modules/unictype/category-Nl: New file.
59556         * modules/unictype/category-No: New file.
59557         * modules/unictype/category-P: New file.
59558         * modules/unictype/category-Pc: New file.
59559         * modules/unictype/category-Pd: New file.
59560         * modules/unictype/category-Ps: New file.
59561         * modules/unictype/category-Pe: New file.
59562         * modules/unictype/category-Pi: New file.
59563         * modules/unictype/category-Pf: New file.
59564         * modules/unictype/category-Po: New file.
59565         * modules/unictype/category-S: New file.
59566         * modules/unictype/category-Sm: New file.
59567         * modules/unictype/category-Sc: New file.
59568         * modules/unictype/category-Sk: New file.
59569         * modules/unictype/category-So: New file.
59570         * modules/unictype/category-Z: New file.
59571         * modules/unictype/category-Zs: New file.
59572         * modules/unictype/category-Zl: New file.
59573         * modules/unictype/category-Zp: New file.
59574         * modules/unictype/category-C: New file.
59575         * modules/unictype/category-Cc: New file.
59576         * modules/unictype/category-Cf: New file.
59577         * modules/unictype/category-Cs: New file.
59578         * modules/unictype/category-Co: New file.
59579         * modules/unictype/category-Cn: New file.
59580         * modules/unictype/category-or: New file.
59581         * modules/unictype/category-of: New file.
59582         * modules/unictype/category-test: New file.
59583         * modules/unictype/category-test-withtable: New file.
59584         * modules/unictype/category-byname: New file.
59585         * modules/unictype/category-none: New file.
59586         * modules/unictype/category-and: New file.
59587         * modules/unictype/category-and-not: New file.
59588         * modules/unictype/category-name: New file.
59589         * modules/unictype/combining-class: New file.
59590         * modules/unictype/category-all: New file.
59591         * modules/unictype/bidicategory-all: New file.
59592         * modules/unictype/bidicategory-byname: New file.
59593         * modules/unictype/bidicategory-name: New file.
59594         * modules/unictype/bidicategory-of: New file.
59595         * modules/unictype/bidicategory-test: New file.
59596         * modules/unictype/decimal-digit: New file.
59597         * modules/unictype/digit: New file.
59598         * modules/unictype/numeric: New file.
59599         * modules/unictype/mirror: New file.
59600         * modules/unictype/property-white-space: New file.
59601         * modules/unictype/property-alphabetic: New file.
59602         * modules/unictype/property-other-alphabetic: New file.
59603         * modules/unictype/property-not-a-character: New file.
59604         * modules/unictype/property-default-ignorable-code-point: New file.
59605         * modules/unictype/property-other-default-ignorable-code-point: New
59606         file.
59607         * modules/unictype/property-deprecated: New file.
59608         * modules/unictype/property-logical-order-exception: New file.
59609         * modules/unictype/property-variation-selector: New file.
59610         * modules/unictype/property-private-use: New file.
59611         * modules/unictype/property-unassigned-code-value: New file.
59612         * modules/unictype/property-uppercase: New file.
59613         * modules/unictype/property-other-uppercase: New file.
59614         * modules/unictype/property-lowercase: New file.
59615         * modules/unictype/property-other-lowercase: New file.
59616         * modules/unictype/property-titlecase: New file.
59617         * modules/unictype/property-soft-dotted: New file.
59618         * modules/unictype/property-id-start: New file.
59619         * modules/unictype/property-other-id-start: New file.
59620         * modules/unictype/property-id-continue: New file.
59621         * modules/unictype/property-other-id-continue: New file.
59622         * modules/unictype/property-xid-start: New file.
59623         * modules/unictype/property-xid-continue: New file.
59624         * modules/unictype/property-pattern-white-space: New file.
59625         * modules/unictype/property-pattern-syntax: New file.
59626         * modules/unictype/property-join-control: New file.
59627         * modules/unictype/property-grapheme-base: New file.
59628         * modules/unictype/property-grapheme-extend: New file.
59629         * modules/unictype/property-other-grapheme-extend: New file.
59630         * modules/unictype/property-grapheme-link: New file.
59631         * modules/unictype/property-bidi-control: New file.
59632         * modules/unictype/property-bidi-left-to-right: New file.
59633         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
59634         * modules/unictype/property-bidi-arabic-right-to-left: New file.
59635         * modules/unictype/property-bidi-european-digit: New file.
59636         * modules/unictype/property-bidi-eur-num-separator: New file.
59637         * modules/unictype/property-bidi-eur-num-terminator: New file.
59638         * modules/unictype/property-bidi-arabic-digit: New file.
59639         * modules/unictype/property-bidi-common-separator: New file.
59640         * modules/unictype/property-bidi-block-separator: New file.
59641         * modules/unictype/property-bidi-segment-separator: New file.
59642         * modules/unictype/property-bidi-whitespace: New file.
59643         * modules/unictype/property-bidi-non-spacing-mark: New file.
59644         * modules/unictype/property-bidi-boundary-neutral: New file.
59645         * modules/unictype/property-bidi-pdf: New file.
59646         * modules/unictype/property-bidi-embedding-or-override: New file.
59647         * modules/unictype/property-bidi-other-neutral: New file.
59648         * modules/unictype/property-hex-digit: New file.
59649         * modules/unictype/property-ascii-hex-digit: New file.
59650         * modules/unictype/property-ideographic: New file.
59651         * modules/unictype/property-unified-ideograph: New file.
59652         * modules/unictype/property-radical: New file.
59653         * modules/unictype/property-ids-binary-operator: New file.
59654         * modules/unictype/property-ids-trinary-operator: New file.
59655         * modules/unictype/property-zero-width: New file.
59656         * modules/unictype/property-space: New file.
59657         * modules/unictype/property-non-break: New file.
59658         * modules/unictype/property-iso-control: New file.
59659         * modules/unictype/property-format-control: New file.
59660         * modules/unictype/property-dash: New file.
59661         * modules/unictype/property-hyphen: New file.
59662         * modules/unictype/property-punctuation: New file.
59663         * modules/unictype/property-line-separator: New file.
59664         * modules/unictype/property-paragraph-separator: New file.
59665         * modules/unictype/property-quotation-mark: New file.
59666         * modules/unictype/property-sentence-terminal: New file.
59667         * modules/unictype/property-terminal-punctuation: New file.
59668         * modules/unictype/property-currency-symbol: New file.
59669         * modules/unictype/property-math: New file.
59670         * modules/unictype/property-other-math: New file.
59671         * modules/unictype/property-paired-punctuation: New file.
59672         * modules/unictype/property-left-of-pair: New file.
59673         * modules/unictype/property-combining: New file.
59674         * modules/unictype/property-composite: New file.
59675         * modules/unictype/property-decimal-digit: New file.
59676         * modules/unictype/property-numeric: New file.
59677         * modules/unictype/property-diacritic: New file.
59678         * modules/unictype/property-extender: New file.
59679         * modules/unictype/property-ignorable-control: New file.
59680         * modules/unictype/property-test: New file.
59681         * modules/unictype/property-byname: New file.
59682         * modules/unictype/property-all: New file.
59683         * modules/unictype/scripts: New file.
59684         * modules/unictype/scripts-all: New file.
59685         * modules/unictype/block-of: New file.
59686         * modules/unictype/block-test: New file.
59687         * modules/unictype/block-list: New file.
59688         * modules/unictype/block-all: New file.
59689         * modules/unictype/syntax-c-whitespace: New file.
59690         * modules/unictype/syntax-java-whitespace: New file.
59691         * modules/unictype/syntax-c-ident: New file.
59692         * modules/unictype/syntax-java-ident: New file.
59693         * modules/unictype/ctype-alnum: New file.
59694         * modules/unictype/ctype-alpha: New file.
59695         * modules/unictype/ctype-cntrl: New file.
59696         * modules/unictype/ctype-digit: New file.
59697         * modules/unictype/ctype-graph: New file.
59698         * modules/unictype/ctype-lower: New file.
59699         * modules/unictype/ctype-print: New file.
59700         * modules/unictype/ctype-punct: New file.
59701         * modules/unictype/ctype-space: New file.
59702         * modules/unictype/ctype-upper: New file.
59703         * modules/unictype/ctype-xdigit: New file.
59704         * modules/unictype/ctype-blank: New file.
59705         * lib/unictype/bidi_byname.c: New file.
59706         * lib/unictype/bidi_name.c: New file.
59707         * lib/unictype/bidi_of.c: New file.
59708         * lib/unictype/bidi_test.c: New file.
59709         * lib/unictype/bitmap.h: New file.
59710         * lib/unictype/block_test.c: New file.
59711         * lib/unictype/blocks.c: New file.
59712         * lib/unictype/categ_C.c: New file.
59713         * lib/unictype/categ_Cc.c: New file.
59714         * lib/unictype/categ_Cf.c: New file.
59715         * lib/unictype/categ_Cn.c: New file.
59716         * lib/unictype/categ_Co.c: New file.
59717         * lib/unictype/categ_Cs.c: New file.
59718         * lib/unictype/categ_L.c: New file.
59719         * lib/unictype/categ_Ll.c: New file.
59720         * lib/unictype/categ_Lm.c: New file.
59721         * lib/unictype/categ_Lo.c: New file.
59722         * lib/unictype/categ_Lt.c: New file.
59723         * lib/unictype/categ_Lu.c: New file.
59724         * lib/unictype/categ_M.c: New file.
59725         * lib/unictype/categ_Mc.c: New file.
59726         * lib/unictype/categ_Me.c: New file.
59727         * lib/unictype/categ_Mn.c: New file.
59728         * lib/unictype/categ_N.c: New file.
59729         * lib/unictype/categ_Nd.c: New file.
59730         * lib/unictype/categ_Nl.c: New file.
59731         * lib/unictype/categ_No.c: New file.
59732         * lib/unictype/categ_P.c: New file.
59733         * lib/unictype/categ_Pc.c: New file.
59734         * lib/unictype/categ_Pd.c: New file.
59735         * lib/unictype/categ_Pe.c: New file.
59736         * lib/unictype/categ_Pf.c: New file.
59737         * lib/unictype/categ_Pi.c: New file.
59738         * lib/unictype/categ_Po.c: New file.
59739         * lib/unictype/categ_Ps.c: New file.
59740         * lib/unictype/categ_S.c: New file.
59741         * lib/unictype/categ_Sc.c: New file.
59742         * lib/unictype/categ_Sk.c: New file.
59743         * lib/unictype/categ_Sm.c: New file.
59744         * lib/unictype/categ_So.c: New file.
59745         * lib/unictype/categ_Z.c: New file.
59746         * lib/unictype/categ_Zl.c: New file.
59747         * lib/unictype/categ_Zp.c: New file.
59748         * lib/unictype/categ_Zs.c: New file.
59749         * lib/unictype/categ_and.c: New file.
59750         * lib/unictype/categ_and_not.c: New file.
59751         * lib/unictype/categ_byname.c: New file.
59752         * lib/unictype/categ_name.c: New file.
59753         * lib/unictype/categ_none.c: New file.
59754         * lib/unictype/categ_of.c: New file.
59755         * lib/unictype/categ_or.c: New file.
59756         * lib/unictype/categ_test.c: New file.
59757         * lib/unictype/combining.c: New file.
59758         * lib/unictype/ctype_alnum.c: New file.
59759         * lib/unictype/ctype_alpha.c: New file.
59760         * lib/unictype/ctype_blank.c: New file.
59761         * lib/unictype/ctype_cntrl.c: New file.
59762         * lib/unictype/ctype_digit.c: New file.
59763         * lib/unictype/ctype_graph.c: New file.
59764         * lib/unictype/ctype_lower.c: New file.
59765         * lib/unictype/ctype_print.c: New file.
59766         * lib/unictype/ctype_punct.c: New file.
59767         * lib/unictype/ctype_space.c: New file.
59768         * lib/unictype/ctype_upper.c: New file.
59769         * lib/unictype/ctype_xdigit.c: New file.
59770         * lib/unictype/decdigit.c: New file.
59771         * lib/unictype/digit.c: New file.
59772         * lib/unictype/identsyntaxmap.h: New file.
59773         * lib/unictype/mirror.c: New file.
59774         * lib/unictype/numeric.c: New file.
59775         * lib/unictype/pr_alphabetic.c: New file.
59776         * lib/unictype/pr_ascii_hex_digit.c: New file.
59777         * lib/unictype/pr_bidi_arabic_digit.c: New file.
59778         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
59779         * lib/unictype/pr_bidi_block_separator.c: New file.
59780         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
59781         * lib/unictype/pr_bidi_common_separator.c: New file.
59782         * lib/unictype/pr_bidi_control.c: New file.
59783         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
59784         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
59785         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
59786         * lib/unictype/pr_bidi_european_digit.c: New file.
59787         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
59788         * lib/unictype/pr_bidi_left_to_right.c: New file.
59789         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
59790         * lib/unictype/pr_bidi_other_neutral.c: New file.
59791         * lib/unictype/pr_bidi_pdf.c: New file.
59792         * lib/unictype/pr_bidi_segment_separator.c: New file.
59793         * lib/unictype/pr_bidi_whitespace.c: New file.
59794         * lib/unictype/pr_byname.c: New file.
59795         * lib/unictype/pr_byname.gperf: New file.
59796         * lib/unictype/pr_combining.c: New file.
59797         * lib/unictype/pr_composite.c: New file.
59798         * lib/unictype/pr_currency_symbol.c: New file.
59799         * lib/unictype/pr_dash.c: New file.
59800         * lib/unictype/pr_decimal_digit.c: New file.
59801         * lib/unictype/pr_default_ignorable_code_point.c: New file.
59802         * lib/unictype/pr_deprecated.c: New file.
59803         * lib/unictype/pr_diacritic.c: New file.
59804         * lib/unictype/pr_extender.c: New file.
59805         * lib/unictype/pr_format_control.c: New file.
59806         * lib/unictype/pr_grapheme_base.c: New file.
59807         * lib/unictype/pr_grapheme_extend.c: New file.
59808         * lib/unictype/pr_grapheme_link.c: New file.
59809         * lib/unictype/pr_hex_digit.c: New file.
59810         * lib/unictype/pr_hyphen.c: New file.
59811         * lib/unictype/pr_id_continue.c: New file.
59812         * lib/unictype/pr_id_start.c: New file.
59813         * lib/unictype/pr_ideographic.c: New file.
59814         * lib/unictype/pr_ids_binary_operator.c: New file.
59815         * lib/unictype/pr_ids_trinary_operator.c: New file.
59816         * lib/unictype/pr_ignorable_control.c: New file.
59817         * lib/unictype/pr_iso_control.c: New file.
59818         * lib/unictype/pr_join_control.c: New file.
59819         * lib/unictype/pr_left_of_pair.c: New file.
59820         * lib/unictype/pr_line_separator.c: New file.
59821         * lib/unictype/pr_logical_order_exception.c: New file.
59822         * lib/unictype/pr_lowercase.c: New file.
59823         * lib/unictype/pr_math.c: New file.
59824         * lib/unictype/pr_non_break.c: New file.
59825         * lib/unictype/pr_not_a_character.c: New file.
59826         * lib/unictype/pr_numeric.c: New file.
59827         * lib/unictype/pr_other_alphabetic.c: New file.
59828         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
59829         * lib/unictype/pr_other_grapheme_extend.c: New file.
59830         * lib/unictype/pr_other_id_continue.c: New file.
59831         * lib/unictype/pr_other_id_start.c: New file.
59832         * lib/unictype/pr_other_lowercase.c: New file.
59833         * lib/unictype/pr_other_math.c: New file.
59834         * lib/unictype/pr_other_uppercase.c: New file.
59835         * lib/unictype/pr_paired_punctuation.c: New file.
59836         * lib/unictype/pr_paragraph_separator.c: New file.
59837         * lib/unictype/pr_pattern_syntax.c: New file.
59838         * lib/unictype/pr_pattern_white_space.c: New file.
59839         * lib/unictype/pr_private_use.c: New file.
59840         * lib/unictype/pr_punctuation.c: New file.
59841         * lib/unictype/pr_quotation_mark.c: New file.
59842         * lib/unictype/pr_radical.c: New file.
59843         * lib/unictype/pr_sentence_terminal.c: New file.
59844         * lib/unictype/pr_soft_dotted.c: New file.
59845         * lib/unictype/pr_space.c: New file.
59846         * lib/unictype/pr_terminal_punctuation.c: New file.
59847         * lib/unictype/pr_test.c: New file.
59848         * lib/unictype/pr_titlecase.c: New file.
59849         * lib/unictype/pr_unassigned_code_value.c: New file.
59850         * lib/unictype/pr_unified_ideograph.c: New file.
59851         * lib/unictype/pr_uppercase.c: New file.
59852         * lib/unictype/pr_variation_selector.c: New file.
59853         * lib/unictype/pr_white_space.c: New file.
59854         * lib/unictype/pr_xid_continue.c: New file.
59855         * lib/unictype/pr_xid_start.c: New file.
59856         * lib/unictype/pr_zero_width.c: New file.
59857         * lib/unictype/scripts.c: New file.
59858         * lib/unictype/sy_c_ident.c: New file.
59859         * lib/unictype/sy_c_whitespace.c: New file.
59860         * lib/unictype/sy_java_ident.c: New file.
59861         * lib/unictype/sy_java_whitespace.c: New file.
59862
59863         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
59864         Unicode 5.0.0.
59865         * lib/unictype/blocks.h: Likewise.
59866         * lib/unictype/categ_C.h: Likewise.
59867         * lib/unictype/categ_Cc.h: Likewise.
59868         * lib/unictype/categ_Cf.h: Likewise.
59869         * lib/unictype/categ_Cn.h: Likewise.
59870         * lib/unictype/categ_Co.h: Likewise.
59871         * lib/unictype/categ_Cs.h: Likewise.
59872         * lib/unictype/categ_L.h: Likewise.
59873         * lib/unictype/categ_Ll.h: Likewise.
59874         * lib/unictype/categ_Lm.h: Likewise.
59875         * lib/unictype/categ_Lo.h: Likewise.
59876         * lib/unictype/categ_Lt.h: Likewise.
59877         * lib/unictype/categ_Lu.h: Likewise.
59878         * lib/unictype/categ_M.h: Likewise.
59879         * lib/unictype/categ_Mc.h: Likewise.
59880         * lib/unictype/categ_Me.h: Likewise.
59881         * lib/unictype/categ_Mn.h: Likewise.
59882         * lib/unictype/categ_N.h: Likewise.
59883         * lib/unictype/categ_Nd.h: Likewise.
59884         * lib/unictype/categ_Nl.h: Likewise.
59885         * lib/unictype/categ_No.h: Likewise.
59886         * lib/unictype/categ_P.h: Likewise.
59887         * lib/unictype/categ_Pc.h: Likewise.
59888         * lib/unictype/categ_Pd.h: Likewise.
59889         * lib/unictype/categ_Pe.h: Likewise.
59890         * lib/unictype/categ_Pf.h: Likewise.
59891         * lib/unictype/categ_Pi.h: Likewise.
59892         * lib/unictype/categ_Po.h: Likewise.
59893         * lib/unictype/categ_Ps.h: Likewise.
59894         * lib/unictype/categ_S.h: Likewise.
59895         * lib/unictype/categ_Sc.h: Likewise.
59896         * lib/unictype/categ_Sk.h: Likewise.
59897         * lib/unictype/categ_Sm.h: Likewise.
59898         * lib/unictype/categ_So.h: Likewise.
59899         * lib/unictype/categ_Z.h: Likewise.
59900         * lib/unictype/categ_Zl.h: Likewise.
59901         * lib/unictype/categ_Zp.h: Likewise.
59902         * lib/unictype/categ_Zs.h: Likewise.
59903         * lib/unictype/categ_of.h: Likewise.
59904         * lib/unictype/combining.h: Likewise.
59905         * lib/unictype/ctype_alnum.h: Likewise.
59906         * lib/unictype/ctype_alpha.h: Likewise.
59907         * lib/unictype/ctype_blank.h: Likewise.
59908         * lib/unictype/ctype_cntrl.h: Likewise.
59909         * lib/unictype/ctype_digit.h: Likewise.
59910         * lib/unictype/ctype_graph.h: Likewise.
59911         * lib/unictype/ctype_lower.h: Likewise.
59912         * lib/unictype/ctype_print.h: Likewise.
59913         * lib/unictype/ctype_punct.h: Likewise.
59914         * lib/unictype/ctype_space.h: Likewise.
59915         * lib/unictype/ctype_upper.h: Likewise.
59916         * lib/unictype/ctype_xdigit.h: Likewise.
59917         * lib/unictype/decdigit.h: Likewise.
59918         * lib/unictype/digit.h: Likewise.
59919         * lib/unictype/mirror.h: Likewise.
59920         * lib/unictype/numeric.h: Likewise.
59921         * lib/unictype/pr_alphabetic.h: Likewise.
59922         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
59923         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
59924         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
59925         * lib/unictype/pr_bidi_block_separator.h: Likewise.
59926         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
59927         * lib/unictype/pr_bidi_common_separator.h: Likewise.
59928         * lib/unictype/pr_bidi_control.h: Likewise.
59929         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
59930         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
59931         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
59932         * lib/unictype/pr_bidi_european_digit.h: Likewise.
59933         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
59934         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
59935         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
59936         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
59937         * lib/unictype/pr_bidi_pdf.h: Likewise.
59938         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
59939         * lib/unictype/pr_bidi_whitespace.h: Likewise.
59940         * lib/unictype/pr_combining.h: Likewise.
59941         * lib/unictype/pr_composite.h: Likewise.
59942         * lib/unictype/pr_currency_symbol.h: Likewise.
59943         * lib/unictype/pr_dash.h: Likewise.
59944         * lib/unictype/pr_decimal_digit.h: Likewise.
59945         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
59946         * lib/unictype/pr_deprecated.h: Likewise.
59947         * lib/unictype/pr_diacritic.h: Likewise.
59948         * lib/unictype/pr_extender.h: Likewise.
59949         * lib/unictype/pr_format_control.h: Likewise.
59950         * lib/unictype/pr_grapheme_base.h: Likewise.
59951         * lib/unictype/pr_grapheme_extend.h: Likewise.
59952         * lib/unictype/pr_grapheme_link.h: Likewise.
59953         * lib/unictype/pr_hex_digit.h: Likewise.
59954         * lib/unictype/pr_hyphen.h: Likewise.
59955         * lib/unictype/pr_id_continue.h: Likewise.
59956         * lib/unictype/pr_id_start.h: Likewise.
59957         * lib/unictype/pr_ideographic.h: Likewise.
59958         * lib/unictype/pr_ids_binary_operator.h: Likewise.
59959         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
59960         * lib/unictype/pr_ignorable_control.h: Likewise.
59961         * lib/unictype/pr_iso_control.h: Likewise.
59962         * lib/unictype/pr_join_control.h: Likewise.
59963         * lib/unictype/pr_left_of_pair.h: Likewise.
59964         * lib/unictype/pr_line_separator.h: Likewise.
59965         * lib/unictype/pr_logical_order_exception.h: Likewise.
59966         * lib/unictype/pr_lowercase.h: Likewise.
59967         * lib/unictype/pr_math.h: Likewise.
59968         * lib/unictype/pr_non_break.h: Likewise.
59969         * lib/unictype/pr_not_a_character.h: Likewise.
59970         * lib/unictype/pr_numeric.h: Likewise.
59971         * lib/unictype/pr_other_alphabetic.h: Likewise.
59972         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
59973         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
59974         * lib/unictype/pr_other_id_continue.h: Likewise.
59975         * lib/unictype/pr_other_id_start.h: Likewise.
59976         * lib/unictype/pr_other_lowercase.h: Likewise.
59977         * lib/unictype/pr_other_math.h: Likewise.
59978         * lib/unictype/pr_other_uppercase.h: Likewise.
59979         * lib/unictype/pr_paired_punctuation.h: Likewise.
59980         * lib/unictype/pr_paragraph_separator.h: Likewise.
59981         * lib/unictype/pr_pattern_syntax.h: Likewise.
59982         * lib/unictype/pr_pattern_white_space.h: Likewise.
59983         * lib/unictype/pr_private_use.h: Likewise.
59984         * lib/unictype/pr_punctuation.h: Likewise.
59985         * lib/unictype/pr_quotation_mark.h: Likewise.
59986         * lib/unictype/pr_radical.h: Likewise.
59987         * lib/unictype/pr_sentence_terminal.h: Likewise.
59988         * lib/unictype/pr_soft_dotted.h: Likewise.
59989         * lib/unictype/pr_space.h: Likewise.
59990         * lib/unictype/pr_terminal_punctuation.h: Likewise.
59991         * lib/unictype/pr_titlecase.h: Likewise.
59992         * lib/unictype/pr_unassigned_code_value.h: Likewise.
59993         * lib/unictype/pr_unified_ideograph.h: Likewise.
59994         * lib/unictype/pr_uppercase.h: Likewise.
59995         * lib/unictype/pr_variation_selector.h: Likewise.
59996         * lib/unictype/pr_white_space.h: Likewise.
59997         * lib/unictype/pr_xid_continue.h: Likewise.
59998         * lib/unictype/pr_xid_start.h: Likewise.
59999         * lib/unictype/pr_zero_width.h: Likewise.
60000         * lib/unictype/scripts.h: Likewise.
60001         * lib/unictype/scripts_byname.gperf: Likewise.
60002         * lib/unictype/sy_c_ident.h: Likewise.
60003         * lib/unictype/sy_c_whitespace.h: Likewise.
60004         * lib/unictype/sy_java_ident.h: Likewise.
60005         * lib/unictype/sy_java_whitespace.h: Likewise.
60006
60007         * lib/unictype/Makefile: New file.
60008         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
60009         glibc.
60010         * lib/unictype/3level.h: New file, copied from glibc.
60011         * lib/unictype/3levelbit.h: New file.
60012
60013 2007-11-11  Bruno Haible  <bruno@clisp.org>
60014
60015         * modules/gperf: New file.
60016         * modules/iconv_open (Depends-on): Add it.
60017         (Makefile.am): Remove the GPERF definition.
60018
60019 2007-11-11  Bruno Haible  <bruno@clisp.org>
60020
60021         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
60022         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
60023
60024 2007-11-11  Bruno Haible  <bruno@clisp.org>
60025
60026         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
60027         (usage): Remove function.
60028
60029 2007-11-11  Bruno Haible  <bruno@clisp.org>
60030
60031         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
60032         gl_FUNC_CEILF_LIBS.
60033         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
60034         gl_FUNC_CEIL_LIBS.
60035         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
60036         gl_FUNC_CEILL_LIBS.
60037         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
60038         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
60039         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
60040
60041 2007-11-11  Bruno Haible  <bruno@clisp.org>
60042
60043         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
60044         roundf were declared but do not exist on functions.
60045         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
60046         roundl were declared but do not exist on functions.
60047         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
60048         HAVE_FLOORL_AND_CEILL, respectively.
60049         Needed for Sun C on Solaris 10.
60050
60051 2007-11-11  Bruno Haible  <bruno@clisp.org>
60052
60053         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
60054         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
60055         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
60056         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
60057         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
60058         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
60059         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
60060         HAVE_DECL_ROUNDF.
60061         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
60062         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
60063         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
60064         of HAVE_DECL_ROUND*.
60065         * modules/math (Makefile.am): Update.
60066
60067 2007-11-10  Bruno Haible  <bruno@clisp.org>
60068
60069         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
60070         ptrdiff_t as m4/intl.m4.
60071
60072 2007-11-10  Jim Meyering  <meyering@redhat.com>
60073
60074         Avoid link failure for the argmatch test.
60075         * tests/test-argmatch.c (usage): Define function to avoid a link
60076         failure: argmatch_die requires a usage function.
60077
60078 2007-11-09  Bruno Haible  <bruno@clisp.org>
60079
60080         * doc/functions/snprintf.texi: Mention BeOS deficiency.
60081         * doc/functions/vsnprintf.texi: Likewise.
60082         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
60083         with a size argument < 2.
60084
60085 2007-11-09  Bruno Haible  <bruno@clisp.org>
60086
60087         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
60088         buffer. Fixes an inefficiency introduced on 2007-11-03.
60089
60090 2007-11-09  Bruno Haible  <bruno@clisp.org>
60091
60092         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
60093         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
60094
60095 2007-11-08  Jim Meyering  <meyering@redhat.com>
60096
60097         Change cache variable name prefix "jm_" to "gl_" everywhere.
60098         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
60099         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
60100         * m4/uptime.m4: s/gl_/jm_/
60101
60102 2007-11-07  Bruno Haible  <bruno@clisp.org>
60103
60104         Update to GNU gettext 0.17.
60105         * m4/intl.m4: Update to GNU gettext 0.17.
60106         * m4/po.m4: Likewise.
60107         * modules/gettext (Files): Remove m4/ulonglong.m4.
60108         (configure.ac): Require gettext infrastructure from version 0.17.
60109
60110 2007-11-06  Bruno Haible  <bruno@clisp.org>
60111
60112         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
60113         symbolic values are not defined in a public header.
60114         * lib/freadable.c (freadable) [QNX]: Likewise.
60115         * lib/freadahead.c (freadahead) [QNX]: Likewise.
60116         * lib/freading.c (freading) [QNX]: Likewise.
60117         * lib/fseterr.c (fseterr) [QNX]: Likewise.
60118         * lib/fwritable.c (fwritable) [QNX]: Likewise.
60119         * lib/fwriting.c (fwriting) [QNX]: Likewise.
60120         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
60121         Reported by Alain Magloire.
60122
60123         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
60124
60125 2007-11-05  Bruno Haible  <bruno@clisp.org>
60126
60127         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
60128         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
60129         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
60130         Reported by Eric Blake.
60131
60132 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60133             Bruno Haible  <bruno@clisp.org>
60134
60135         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
60136         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
60137         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
60138         (malloc): Undefine also before including <stdlib.h>.
60139         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
60140         Needed on OSF/1 4.0.
60141
60142 2007-11-05  Jim Meyering  <meyering@redhat.com>
60143
60144         git-version-gen: sync from coreutils.
60145         * build-aux/git-version-gen: Add comments.
60146         Change the first '-' to '.' in the snapshot version string,
60147         e.g., 6.9-377-08144 -> 6.9.377-08144
60148         Remove first parameter.
60149         Don't declare a version "-dirty" merely because a time
60150         stamp has changed.
60151
60152 2007-11-04  Bruno Haible  <bruno@clisp.org>
60153
60154         * lib/lock.h: Protect all macro definitions containing an 'if'
60155         statement through a "do { ... } while (0)".
60156         * lib/tls.h: Likewise.
60157
60158 2007-11-04  Bruno Haible  <bruno@clisp.org>
60159
60160         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
60161
60162 2007-11-04  Bruno Haible  <bruno@clisp.org>
60163
60164         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
60165         * modules/fprintf-posix (Depends-on): Add nocrash.
60166         * modules/snprintf-posix (Depends-on): Likewise.
60167         * modules/sprintf-posix (Depends-on): Likewise.
60168         * modules/vasnprintf-posix (Depends-on): Likewise.
60169         * modules/vasprintf-posix (Depends-on): Likewise.
60170         * modules/vfprintf-posix (Depends-on): Likewise.
60171         * modules/vsnprintf-posix (Depends-on): Likewise.
60172         * modules/vsprintf-posix (Depends-on): Likewise.
60173         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60174         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60175         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60176         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60177         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60178         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60179         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60180
60181 2007-11-04  Bruno Haible  <bruno@clisp.org>
60182
60183         * modules/nocrash: New file.
60184         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
60185         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
60186
60187 2007-11-04  Bruno Haible  <bruno@clisp.org>
60188
60189         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
60190         precision handling.
60191         * tests/test-vasprintf-posix.c (test_function): Likewise.
60192         * tests/test-snprintf-posix.h (test_function): Likewise.
60193         * tests/test-sprintf-posix.h (test_function): Likewise.
60194
60195         Fix *printf behaviour for large precisions on mingw and BeOS.
60196         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
60197         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
60198         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
60199         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60200         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60201         gl_PRINTF_PRECISION and test its result. Invoke
60202         gl_PREREQ_VASNPRINTF_PRECISION.
60203         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60204         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60205         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60206         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60207         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60208         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60209         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60210         * doc/functions/fprintf.texi: Update.
60211         * doc/functions/printf.texi: Update.
60212         * doc/functions/snprintf.texi: Update.
60213         * doc/functions/sprintf.texi: Update.
60214         * doc/functions/vfprintf.texi: Update.
60215         * doc/functions/vprintf.texi: Update.
60216         * doc/functions/vsnprintf.texi: Update.
60217         * doc/functions/vsprintf.texi: Update.
60218
60219 2007-11-04  Bruno Haible  <bruno@clisp.org>
60220
60221         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
60222
60223 2007-11-04  Bruno Haible  <bruno@clisp.org>
60224
60225         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
60226         Reported by Sylvain Beucler <beuc@gnu.org>.
60227
60228 2007-11-03  Bruno Haible  <bruno@clisp.org>
60229
60230         * tests/test-fprintf-posix2.sh: New file.
60231         * tests/test-fprintf-posix2.c: New file.
60232         * modules/fprintf-posix-tests (Files): Add them.
60233         (TESTS): Add test-fprintf-posix2.sh.
60234         (configure.ac): Check for getrlimit and setrlimit.
60235         (check_PROGRAMS): Add test-fprintf-posix2.
60236
60237         * tests/test-printf-posix2.sh: New file.
60238         * tests/test-printf-posix2.c: New file.
60239         * modules/printf-posix-tests (Files): Add them.
60240         (TESTS): Add test-printf-posix2.sh.
60241         (configure.ac): Check for getrlimit and setrlimit.
60242         (check_PROGRAMS): Add test-printf-posix2.
60243
60244         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
60245         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
60246         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
60247         (decode_double): New function, copied from decode_long_double.
60248         (scale10_round_decimal_decoded): New function, extracted from
60249         scale10_round_decimal_long_double.
60250         (scale10_round_decimal_long_double): Use it.
60251         (scale10_round_decimal_double): New function.
60252         (floorlog10): New function.
60253         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
60254         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
60255         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60256         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60257         gl_PRINTF_ENOMEM and test its result. Invoke
60258         gl_PREREQ_VASNPRINTF_ENOMEM.
60259         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60260         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60261         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60262         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60263         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60264         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60265         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60266         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
60267         * modules/snprintf-posix (Depends-on): Likewise.
60268         * modules/sprintf-posix (Depends-on): Likewise.
60269         * modules/vasnprintf-posix (Depends-on): Likewise.
60270         * modules/vasprintf-posix (Depends-on): Likewise.
60271         * modules/vfprintf-posix (Depends-on): Likewise.
60272         * modules/vsnprintf-posix (Depends-on): Likewise.
60273         * modules/vsprintf-posix (Depends-on): Likewise.
60274         * doc/functions/fprintf.texi: Update.
60275         * doc/functions/printf.texi: Update.
60276         * doc/functions/snprintf.texi: Update.
60277         * doc/functions/sprintf.texi: Update.
60278         * doc/functions/vfprintf.texi: Update.
60279         * doc/functions/vprintf.texi: Update.
60280         * doc/functions/vsnprintf.texi: Update.
60281         * doc/functions/vsprintf.texi: Update.
60282
60283 2007-11-03  Bruno Haible  <bruno@clisp.org>
60284
60285         * modules/frexp-nolibm-tests: New file.
60286
60287         * modules/frexp-nolibm: New file.
60288         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
60289
60290 2007-11-03  Bruno Haible  <bruno@clisp.org>
60291
60292         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
60293         value is C99 compliant.
60294         Needed for OSF/1 5.1.
60295
60296 2007-11-03  Bruno Haible  <bruno@clisp.org>
60297
60298         Fix out-of-memory handling of vasnprintf.
60299         * lib/printf-parse.c: Include <errno.h>.
60300         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
60301         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
60302         is already set.
60303
60304 2007-11-02  Eric Blake  <ebb9@byu.net>
60305
60306         Fix tests on cygwin.
60307         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
60308
60309 2007-11-01  Bruno Haible  <bruno@clisp.org>
60310
60311         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
60312         warning.
60313         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
60314         needed for POSIX compatibility.
60315
60316 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60317
60318         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
60319         for compatibility with GNU.
60320
60321 2007-11-01  Bruno Haible  <bruno@clisp.org>
60322
60323         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
60324         (putenv): Renamed from rpl_putenv. Change argument type from
60325         'const char *' to 'char *'.
60326         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
60327         of defining putenv in config.h, just set REPLACE_PUTENV.
60328         * modules/putenv (Depends-on): Add stdlib.
60329         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60330         (Include): Use <stdlib.h>.
60331         * lib/stdlib.in.h (putenv): New declaration.
60332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
60333         REPLACE_PUTENV.
60334         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
60335         REPLACE_PUTENV.
60336         Needed for MacOS X 10.5.0.
60337         Reported by Peter O'Gorman <peter@pogma.com>.
60338
60339 2007-11-01  Jim Meyering  <meyering@redhat.com>
60340
60341         Treat an empty date string exactly like "0".
60342         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
60343         if the remaining date string (to be parsed) is empty, use "0".
60344         Reported by Mischa Molhoek and discussed in this thread:
60345         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
60346
60347 2007-10-31  Bruno Haible  <bruno@clisp.org>
60348
60349         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
60350         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
60351         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
60352         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
60353         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
60354         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
60355
60356 2007-10-31  Bruno Haible  <bruno@clisp.org>
60357
60358         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
60359         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
60360         (AC_TYPE_LONG_LONG_INT): Use it.
60361         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
60362         it as well.
60363         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
60364         to m4/longlong.m4.
60365         * modules/stdint (Files): Remove m4/ulonglong.m4.
60366         * modules/strtoull (Files): Use m4/longlong.m4 instead of
60367         m4/ulonglong.m4.
60368         * modules/strtoumax (Files): Likewise.
60369
60370 2007-10-30  Bruno Haible  <bruno@clisp.org>
60371
60372         * modules/xvasprintf-posix: New file.
60373         Suggested by Eric Blake.
60374
60375 2007-10-30  Bruno Haible  <bruno@clisp.org>
60376
60377         * modules/xprintf-posix-tests: New file.
60378         * tests/test-xprintf-posix.sh: New file.
60379         * tests/test-xprintf-posix.c: New file.
60380         * tests/test-xfprintf-posix.c: New file.
60381
60382         * modules/xprintf-posix: New file.
60383
60384 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60385
60386         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
60387         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
60388         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
60389
60390 2007-10-29  Bruno Haible  <bruno@clisp.org>
60391
60392         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
60393         contain the special marker '_cv_'.
60394         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
60395         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
60396         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
60397         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
60398         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
60399         Reported by Ralf Wildenhues.
60400
60401 2007-10-29  Bruno Haible  <bruno@clisp.org>
60402
60403         * gnulib-tool (func_import): When --lgpl is not specified, set
60404         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
60405         GPLv3.
60406         Reported by Simon Josefsson.
60407
60408 2007-10-28  Bruno Haible  <bruno@clisp.org>
60409
60410         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
60411         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
60412         HAVE_DECL_ISFINITE.
60413         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60414         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
60415         HAVE_DECL_ISFINITE.
60416
60417 2007-10-28  Bruno Haible  <bruno@clisp.org>
60418
60419         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
60420         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
60421
60422 2007-10-28  Bruno Haible  <bruno@clisp.org>
60423
60424         Fix link errors with Sun C 5.0 on Solaris 10.
60425         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
60426         function is declared but not present in the compiler's libm.
60427         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
60428         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
60429         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
60430         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
60431         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
60432         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
60433         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
60434         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
60435         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
60436         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
60437         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
60438         HAVE_DECL_FLOORL.
60439
60440 2007-10-28  Bruno Haible  <bruno@clisp.org>
60441
60442         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
60443         gl_FUNC_FLOORL. Cache the result.
60444         (gl_FUNC_FLOORL): Use it.
60445         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
60446         gl_FUNC_CEILL. Cache the result.
60447         (gl_FUNC_CEILL): Use it.
60448
60449         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
60450         gl_FUNC_FLOOR. Cache the result.
60451         (gl_FUNC_FLOOR): Use it.
60452         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
60453         gl_FUNC_CEIL. Cache the result.
60454         (gl_FUNC_CEIL): Use it.
60455
60456         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
60457         gl_FUNC_FLOORF. Cache the result.
60458         (gl_FUNC_FLOORF): Use it.
60459         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
60460         gl_FUNC_CEILF. Cache the result.
60461         (gl_FUNC_CEILF): Use it.
60462
60463 2007-10-28  Bruno Haible  <bruno@clisp.org>
60464
60465         * gnulib-tool: Allow specifying the LGPL version number through
60466         --lgpl=2 or --lgpl=3.
60467         (func_usage): Document --lgpl with argument.
60468         Handle --lgpl=... arguments.
60469         (func_import): Recognize also gl_LGPL calls with an argument. When
60470         --lgpl=2 is used and the module's license is just LGPL, report an
60471         error. Set sed_transform_lib_file according to the lgpl variable. In
60472         the generated files, use --lgpl or gl_LGPL invocations with argument,
60473         if necessary.
60474         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
60475         an LGPv2+ license.
60476         * doc/gnulib-tool.texi (Modified imports): Update explanation of
60477         gl_LGPL macro.
60478
60479 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60480             Bruno Haible  <bruno@clisp.org>
60481
60482         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
60483         (u16_uctomb_aux): Likewise.
60484         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
60485         !HAVE_INLINE.
60486         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
60487
60488 2007-10-28  Bruno Haible  <bruno@clisp.org>
60489
60490         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
60491         Invoke AM_GETTEXT_OPTION if it exists.
60492         * modules/vasprintf: Likewise.
60493         * modules/verror: Likewise.
60494         * modules/xprintf: Likewise.
60495         * modules/xvasprintf: Likewise.
60496
60497 2007-10-27  Ben Pfaff  <blp@gnu.org>
60498
60499         * lib/math.in.h: Define isfinite macro and prototypes for
60500         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
60501         implementations.
60502         * m4/math_h.m4: New substitutions for isfinite module.
60503         * lib/isfinite.c: New file.
60504         * m4/isfinite.m4: New file.
60505         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
60506         * modules/isfinite: New file.
60507         * modules/isfinite-tests: New file.
60508         * tests/tests-isfinite.c: New file.
60509         * doc/functions/isfinite.texi: Mention isfinite module.
60510         * MODULES.html.sh: Mention new module.
60511
60512 2007-10-27  Ben Pfaff  <blp@gnu.org>
60513
60514         Ralf Wildenhues reported that Tru64 4.0D declares the round
60515         functions but does not have definitions.
60516         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
60517         cannot be found in any library, set the output variable to
60518         "missing" instead of "".
60519         * m4/round.m4: Also use our substitute if we cannot find round in
60520         any library, even if it is declared.
60521         * m4/roundf.m4: Likewise for roundf.
60522         * m4/roundl.m4: Likewise for roundl.
60523         * lib/math.in.h: Undefine roundf, round, roundl before defining
60524         their replacements, to allow for hypothetical systems where these
60525         may be defined as macros but not available in libraries.
60526
60527 2007-10-27  Bruno Haible  <bruno@clisp.org>
60528
60529         * doc/gnulib.texi: Invoke @firstparagraphindent.
60530         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
60531         changes in gnulib.
60532         (Source changes): New section.
60533
60534 2007-10-26  Bruno Haible  <bruno@clisp.org>
60535
60536         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
60537         borrowed from autoconf.
60538
60539 2007-10-26  Bruno Haible  <bruno@clisp.org>
60540
60541         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
60542         strerror returned the empty string. Needed on HP-UX 11.00.
60543
60544 2007-10-24  Micah Cowan  <micah@cowan.name>
60545
60546         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
60547         * build-aux/bootstrap: Remove support for now-unnecessary option,
60548         --cvs-user, and envvars CVS_USER, CVS_RSH.
60549
60550 2007-10-24  Jim Meyering  <meyering@redhat.com>
60551
60552         Avoid diagnostics from sha1sum when there is no cached checksum.
60553         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
60554         if the po.s1 file hasn't been created yet.
60555
60556         * build-aux/bootstrap: Sync from coreutils:
60557         2007-10-24  Jim Meyering  <meyering@redhat.com>
60558         Get gnulib from the git repository, not from an obsolete cvs one.
60559         * build-aux/bootstrap: Suggestion from Micah Cowan.
60560         2007-10-04  Jim Meyering  <jim@meyering.net>
60561         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
60562         (update_po_files): Work also when there are no .po files in po/.
60563
60564 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60565
60566         * README: Append ".git" to git and cg examples.
60567         Problem reported by Benoit Sigoure.
60568
60569 2007-10-23  Micah Cowan  <micah@cowan.name>
60570
60571         * users.txt: Add wget.
60572
60573 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60574
60575         Fix linking of some unistdio tests on FreeBSD.
60576         * modules/unistdio/u16-vsnprintf-tests
60577         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
60578         * modules/unistdio/u16-vsprintf-tests
60579         (test_u16_vsnprintf1_LDADD): Likewise.
60580         * modules/unistdio/u32-vsnprintf-tests
60581         (test_u32_vsnprintf1_LDADD): Likewise.
60582         * modules/unistdio/u32-vsprintf-tests
60583         (test_u32_vsprintf1_LDADD): Likewise.
60584         * modules/unistdio/u8-vsnprintf-tests
60585         (test_u8_vsnprintf1_LDADD): Likewise.
60586         * modules/unistdio/u8-vsprintf-tests
60587         (test_u8_vsprintf1_LDADD): Likewise.
60588         * modules/unistdio/ulc-vsnprintf-tests
60589         (test_ulc_vsnprintf1_LDADD): Likewise.
60590         * modules/unistdio/ulc-vsprintf-tests
60591         (test_ulc_vsprintf1_LDADD): Likewise.
60592
60593         Fix linking of some uniconv tests on FreeBSD.
60594         * modules/uniconv/u16-conv-from-enc-tests
60595         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
60596         * modules/uniconv/u16-conv-to-enc-tests
60597         (test_u16_conv_to_enc_LDADD): Likewise.
60598         * modules/uniconv/u16-strconv-from-enc-tests
60599         (test_u16_strconv_from_enc_LDADD): Likewise.
60600         * modules/uniconv/u16-strconv-to-enc-tests
60601         (test_u16_strconv_to_enc_LDADD): Likewise.
60602         * modules/uniconv/u32-conv-from-enc-tests
60603         (test_u32_conv_from_enc_LDADD): Likewise.
60604         * modules/uniconv/u32-conv-to-enc-tests
60605         (test_u32_conv_to_enc_LDADD): Likewise.
60606         * modules/uniconv/u32-strconv-from-enc-tests
60607         (test_u32_strconv_from_enc_LDADD): Likewise.
60608         * modules/uniconv/u32-strconv-to-enc-tests
60609         (test_u32_strconv_to_enc_LDADD): Likewise.
60610         * modules/uniconv/u8-conv-from-enc-tests
60611         (test_u8_conv_from_enc_LDADD): Likewise.
60612         * modules/uniconv/u8-conv-to-enc-tests
60613         (test_u8_conv_to_enc_LDADD): Likewise.
60614         * modules/uniconv/u8-strconv-from-enc-tests
60615         (test_u8_strconv_from_enc_LDADD): Likewise.
60616         * modules/uniconv/u8-strconv-to-enc-tests
60617         (test_u8_strconv_to_enc_LDADD): Likewise.
60618
60619 2007-10-22  Bruno Haible  <bruno@clisp.org>
60620
60621         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
60622         size.
60623
60624 2007-10-22  Eric Blake  <ebb9@byu.net>
60625
60626         Tweak x*printf documentation.
60627         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
60628         variable name and comments.
60629         Suggested by Bruno Haible.
60630
60631 2007-10-22  Bruno Haible  <bruno@clisp.org>
60632
60633         * lib/acl.c (copy_acl): Fix file name in comment.
60634
60635 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60636
60637         Fix Tru64 problem with stdbool.h.
60638         * lib/stdbool.in.h (false, true):
60639         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
60640         Don't declare as an enum in this situation; it runs afoul of Tru64.
60641         Problem reported by Steven M. Schweda in
60642         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
60643
60644 2007-10-22  Eric Blake  <ebb9@byu.net>
60645
60646         Also wrap vf?printf.
60647         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
60648         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
60649         (xvprintf, xvfprintf): New functions.
60650
60651 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60652
60653         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
60654         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
60655
60656         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
60657         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
60658
60659 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60660
60661         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
60662         by Bruno Haible.
60663
60664 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60665
60666         * lib/getloadavg.c
60667         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
60668         Undef `sys' after including sys/table.h, for Tru64 4.0D.
60669
60670         * tests/test-i-ring.c: Work for C89.
60671
60672 2007-10-22  Bruno Haible  <bruno@clisp.org>
60673
60674         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
60675         -1u, in preprocessor expression, so that we don't test for the bug
60676         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
60677         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
60678
60679 2007-10-22  Eric Blake  <ebb9@byu.net>
60680
60681         * tests/test-yesno.sh: Silence stderr during test.
60682
60683 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60684
60685         * modules/crypto/gc-camellia: New file.
60686
60687         * m4/gc-camellia.m4: New file.
60688
60689         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
60690
60691         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
60692
60693 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60694
60695         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
60696         --help to stdout.  Reported by sms@antinode.org (Steven
60697         M. Schweda).
60698
60699 2007-10-22  Simon Josefsson  <simon@josefsson.org>
60700
60701         * users.txt: Fix link to libksba.
60702
60703 2007-10-21  Ben Pfaff  <blp@gnu.org>
60704
60705         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
60706         round.c roundf implementation that depends on floorf and ceilf to
60707         be tested unconditionally.
60708
60709 2007-10-21  Ben Pfaff  <blp@gnu.org>
60710
60711         * m4/check-libm-func.m4: Removed.
60712         * m4/check-math-lib.m4: New file.
60713         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
60714         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
60715         definition and lack of AC_LIBOBJ([roundf]).
60716         * m4/roundl.m4: Ditto, and similarly for roundl.
60717         * modules/round: Reference new m4 file.
60718         * modules/roundf: Ditto.
60719         * modules/roundl: Ditto.
60720         * tests/test-round2.c (main): Use ROUND instead of round.
60721         Bug report from Bruno Haible.
60722
60723 2007-10-21  Bruno Haible  <bruno@clisp.org>
60724
60725         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
60726         context.
60727
60728 2007-10-21  Bruno Haible  <bruno@clisp.org>
60729
60730         * tests/test-wcwidth.c (main): Allow negative result for some control
60731         characters.
60732
60733         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
60734         Needed on OSF/1 5.1.
60735
60736 2007-10-21  Bruno Haible  <bruno@clisp.org>
60737
60738         * tests/test-floorf1.c: Include isnanf.h.
60739         (main): Use isnanf() instead of isnan().
60740         * tests/test-ceilf1.c: Include isnanf.h.
60741         (main): Use isnanf() instead of isnan().
60742         * tests/test-truncf1.c: Include isnanf.h.
60743         (main): Use isnanf() instead of isnan().
60744         * tests/test-roundf1.c: Include isnanf.h.
60745         (main): Use isnanf() instead of isnan().
60746
60747 2007-10-21  Eric Blake  <ebb9@byu.net>
60748
60749         * users.txt: Update URL for m4.
60750
60751 2007-10-21  Bruno Haible  <bruno@clisp.org>
60752
60753         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
60754
60755 2007-10-21  Bruno Haible  <bruno@clisp.org>
60756
60757         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
60758         Git's management files if the CVS files are not present.
60759
60760 2007-10-20  Bruno Haible  <bruno@clisp.org>
60761
60762         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
60763         gcc-3.4.x.
60764
60765 2007-10-20  Ben Pfaff  <blp@gnu.org>
60766
60767         * lib/math.in.h: Declare round, roundf, roundl if we are providing
60768         implementations.
60769         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
60770         * lib/round.c: New file.
60771         * lib/roundf.c: New file.
60772         * lib/roundl.c: New file.
60773         * m4/round.m4: New file.
60774         * m4/roundf.m4: New file.
60775         * m4/roundl.m4: New file.
60776         * m4/check-libm-func-m4: New file.
60777         * modules/math: Replace round, roundf, roundl related @VARS@ in
60778         math.in.h.
60779         * modules/round: New file.
60780         * modules/round-tests: New file.
60781         * modules/roundf: New file.
60782         * modules/roundf-tests: New file.
60783         * modules/roundl: New file.
60784         * modules/roundl-tests: New file.
60785         * tests/test-round1.c: New file.
60786         * tests/test-round2.c: New file.
60787         * tests/test-roundf1.c: New file.
60788         * tests/test-roundf2.c: New file.
60789         * tests/test-roundl.c: New file.
60790         * doc/functions/round.texi: Mention round module.
60791         * doc/functions/roundf.texi: Mention roundf module.
60792         * doc/functions/roundl.texi: Mention roundl module.
60793         * MODULES.html.sh: Mention new modules.
60794         Thanks to Bruno Haible for suggestions.
60795
60796 2007-10-20  Jim Meyering  <meyering@redhat.com>
60797
60798         * lib/xprintf.c: Include <config.h> unconditionally.
60799
60800         Change xprintf's license to GPL.
60801         * modules/xprintf (License): s/LGPL/GPL/, since this module
60802         depends on modules (exit and exitfail) which are GPL.
60803         Suggestion from Bruno Haible.
60804
60805         xprintf fixes.
60806         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
60807         Use a clearer diagnostic.
60808         Patch from Bruno Haible.
60809
60810 2007-10-20  Bruno Haible  <bruno@clisp.org>
60811
60812         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
60813         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
60814         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60815
60816 2007-10-20  Bruno Haible  <bruno@clisp.org>
60817
60818         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
60819         precision in the comparison result > x - 1 or similar.
60820         * tests/test-ceilf2.c (correct_result_p): Likewise.
60821         * tests/test-truncf2.c (correct_result_p): Likewise.
60822         * tests/test-trunc2.c (correct_result_p): Likewise.
60823         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60824
60825 2007-10-20  Bruno Haible  <bruno@clisp.org>
60826
60827         * modules/ceil: New file.
60828         * m4/ceil.m4: New file.
60829         * doc/functions/ceil.texi: Mention the 'ceil' module.
60830
60831 2007-10-20  Bruno Haible  <bruno@clisp.org>
60832
60833         * modules/floor: New file.
60834         * m4/floor.m4: New file.
60835         * doc/functions/floor.texi: Mention the 'floor' module.
60836
60837 2007-10-20  Bruno Haible  <bruno@clisp.org>
60838
60839         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
60840         of %a.
60841         * modules/floorf-tests (Depends-on): Likewise.
60842         * modules/truncf-tests (Depends-on): Likewise.
60843         * modules/trunc-tests (Depends-on): Likewise.
60844         Reported by Ben Pfaff.
60845
60846 2007-10-19  Jim Meyering  <meyering@redhat.com>
60847
60848         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
60849         Don't bother testing specific errno values.  Just test ferror.
60850
60851         New module: xprintf
60852         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
60853
60854 2007-10-19  Bruno Haible  <bruno@clisp.org>
60855
60856         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
60857         syntax.
60858         * modules/javaexec (Makefile.am): Likewise.
60859         * modules/relocatable-prog (Makefile.am): Likewise.
60860         Suggested by Jim Meyering.
60861
60862 2007-10-18  Bruno Haible  <bruno@clisp.org>
60863
60864         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
60865         Reported by Jim Meyering.
60866
60867 2007-10-18  Eric Blake  <ebb9@byu.net>
60868
60869         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
60870
60871 2007-10-18  Bruno Haible  <bruno@clisp.org>
60872
60873         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
60874         the format string into writable memory. Needed in Fortify conditions.
60875
60876 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
60877             Bruno Haible  <bruno@clisp.org>
60878
60879         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
60880         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
60881         * modules/trim (Depends-on): Add mbchar.
60882         (configure.ac): Add gl_FUNC_MBRTOWC.
60883         (Makefile.am): Augment lib_SOURCES.
60884
60885 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60886
60887         Modify glob.c to use fstatat and dirfd, to simplify it.
60888         Suggested by Eric Blake.
60889         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
60890         Don't include <stdbool.h>; not used.
60891         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
60892         (link_exists_p): Simplify implementation, since we can now assume
60893         dirfd and fstatat.
60894         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
60895
60896 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60897
60898         * gnulib-tool (func_get_dependencies): Fix sed script to
60899         match only tests.
60900
60901 2007-10-17  Bruno Haible  <bruno@clisp.org>
60902
60903         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
60904         allow locale names without encoding suffix.
60905         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60906         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60907
60908 2007-10-16  Bruno Haible  <bruno@clisp.org>
60909
60910         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
60911         * lib/getgroups.c (getgroups): Likewise.
60912         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
60913
60914 2007-10-16  Bruno Haible  <bruno@clisp.org>
60915
60916         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
60917         * modules/malloc-posix (License): Likewise.
60918         * modules/realloc-posix (License): Likewise.
60919         * modules/calloc-posix (License): Likewise.
60920         * modules/intprops (License): Change from GPL to LGPL, with
60921         Paul Eggert's approval.
60922
60923 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60924
60925         Merge glibc changes into lib/glob.c.
60926
60927         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
60928         2007-10-15 04:59:03 UTC.  Here are the changes:
60929
60930         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
60931
60932         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
60933
60934         * lib/glob.c: Add some branch prediction throughout.
60935
60936         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
60937
60938         [BZ #5103]
60939         * lib/glob.c (glob): Recognize patterns starting \/.
60940
60941         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
60942
60943         [BZ #3996]
60944         * lib/glob.c (attribute_hidden): Define if not defined.
60945         (glob): Unescape dirname, filename or username when needed and not
60946         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
60947         is NULL.  Handle unescaped [ in pattern without closing ].
60948         Don't pass GLOB_CHECK down to recursive glob for directories.
60949         (__glob_pattern_type): New function.
60950         (__glob_pattern_p): Implement using __glob_pattern_type.
60951         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
60952         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
60953         Remove unreachable code.
60954
60955         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
60956
60957         * lib/glob.c (glob_in_dir): Add some comments and asserts to
60958         explain why there are no leaks.
60959
60960         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
60961
60962         [BZ #3253]
60963         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
60964         time, rather allocate increasingly bigger arrays of pointers, if
60965         possible with alloca, if too large with malloc.
60966
60967 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60968
60969         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
60970         Problem reported by H.Merijn Brand in
60971         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
60972         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
60973         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60974
60975 2007-10-15  Bruno Haible  <bruno@clisp.org>
60976
60977         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
60978         with explicit rpl_ prefix.
60979         * lib/fopen.c (fopen): Likewise.
60980         * lib/freopen.c (freopen): Likewise.
60981         * lib/iconv.c (iconv): Likewise.
60982         * lib/iconv_close.c (iconv_close): Likewise.
60983
60984 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60985
60986         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
60987
60988 2007-10-15  Bruno Haible  <bruno@clisp.org>
60989
60990         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
60991         <stddef.h> instead of <stdlib.h> since we only need NULL.
60992         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60993
60994 2007-10-15  Bruno Haible  <bruno@clisp.org>
60995
60996         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
60997         Replace paragraph talking about LIBOBJS.
60998         Reported by Colin Watson <cjwatson@debian.org>.
60999
61000 2007-10-15  Bruno Haible  <bruno@clisp.org>
61001
61002         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
61003         <stdlib.h> before using NULL.
61004
61005 2007-10-15  Simon Josefsson  <simon@josefsson.org>
61006
61007         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
61008         Reported by Albert Chin <china@thewrittenword.com>.
61009
61010 2007-10-14  Bruno Haible  <bruno@clisp.org>
61011
61012         * modules/iconv_open-utf-tests: New file.
61013         * tests/test-iconv-utf.c: New file.
61014
61015         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
61016         * modules/iconv_open-utf: New file.
61017         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
61018         (iconv, iconv_close): New declarations.
61019         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
61020         be defined.
61021         (iconv_open): Add special handling of conversion between UTF-8 and
61022         UTF-{16,32}{BE,LE}.
61023         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
61024         * lib/iconv_close.c: New file.
61025         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
61026         gl_FUNC_ICONV_OPEN.
61027         (gl_FUNC_ICONV_OPEN): Use it.
61028         (gl_FUNC_ICONV_OPEN_UTF): New macro.
61029         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
61030         and REPLACE_ICONV_UTF.
61031         * modules/iconv_open (Depends-on): Add c-strcase.
61032         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
61033         ICONV_CONST.
61034         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
61035
61036 2007-10-13  Albert Chin  <china@thewrittenword.com>
61037             Bruno Haible  <bruno@clisp.org>
61038
61039         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
61040         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
61041
61042 2007-10-13  Bruno Haible  <bruno@clisp.org>
61043
61044         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
61045         defined, use the ISO C99 inline semantics.
61046         * lib/argp.h (ARGP_EI): Likewise.
61047
61048 2007-10-13  Bruno Haible  <bruno@clisp.org>
61049
61050         Handle 'inline' change in gcc 4.3.0.
61051         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
61052         argp_fmtstream_write, argp_fmtstream_set_lmargin,
61053         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
61054         argp_fmtstream_point): Disable 'extern' declaration if the function
61055         definition is going to be provided inline.
61056         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
61057         semantics, not the ISO C99 inline semantics.
61058         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
61059         'extern' declaration if the function definition is going to be provided
61060         inline.
61061         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
61062         the GNU C inline semantics, not the ISO C99 inline semantics. With
61063         GCC 4.2, avoid a warning.
61064
61065 2007-10-13  Bruno Haible  <bruno@clisp.org>
61066
61067         * lib/freading.h (freading): Enable the use of __freading for
61068         glibc >= 2.7.
61069         * lib/freading.c (freading): Likewise.
61070
61071 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61072
61073         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
61074         "warning: C99 inline functions are not supported; using GNU89".
61075
61076 2007-10-12  Bruno Haible  <bruno@clisp.org>
61077
61078         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
61079         of 2.
61080         * tests/test-ceilf2.c: New file.
61081         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
61082
61083         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
61084         * modules/ceilf-tests: Update.
61085
61086 2007-10-12  Bruno Haible  <bruno@clisp.org>
61087
61088         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
61089         of 2.
61090         * tests/test-floorf2.c: New file.
61091         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
61092
61093         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
61094         * modules/floorf-tests: Update.
61095
61096 2007-10-12  Bruno Haible  <bruno@clisp.org>
61097
61098         * tests/test-trunc2.c: New file.
61099         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
61100
61101         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
61102         * modules/trunc-tests: Update.
61103
61104 2007-10-12  Bruno Haible  <bruno@clisp.org>
61105
61106         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
61107         of 2.
61108         * tests/test-truncf2.c: New file.
61109         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
61110
61111         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
61112         * modules/truncf-tests: Update.
61113
61114 2007-10-11  Eric Blake  <ebb9@byu.net>
61115
61116         Don't claim strerror is broken on Interix.
61117         * doc/functions/strerror.texi (strerror): Known broken systems are
61118         now Solaris 8, and not Interix.
61119         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
61120         Interix on cross-compile.
61121         Reported by Martin Koeppe in
61122         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
61123
61124 2007-10-11  Bruno Haible  <bruno@clisp.org>
61125
61126         * modules/i-ring-tests: New file.
61127         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
61128         instead of assert.
61129
61130 2007-10-11  Bruno Haible  <bruno@clisp.org>
61131
61132         * modules/filenamecat-tests: New file.
61133         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
61134         * lib/filenamecat.c: Remove test code.
61135
61136 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61137
61138         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
61139
61140         * lib/strerror.c: Include <string.h> always, to test interface,
61141         and to remove the need for the dummy.
61142         Include intprops.h to compute width instead of doing it ourselves
61143         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
61144         (strerror): Define it to return NULL if there's no system strerror.
61145         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
61146         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
61147         ancient pre-strerror Unix systems well any more.  Saying "unknown
61148         system error" is enough.
61149         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
61150         simpler strerror.c implementation.
61151         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
61152         Simplify the tests to reflect the simpler strerror implementation.
61153         * modules/strerror (Depends-on): Add intprops.
61154
61155 2007-10-09  Eric Blake  <ebb9@byu.net>
61156
61157         Silence test-fpending.
61158         * modules/fpending-tests (Files): Add wrapper script.
61159         * tests/test-fpending.sh: New file.
61160
61161 2007-10-09  Bruno Haible  <bruno@clisp.org>
61162
61163         * MODULES.html.sh (func_module): Don't create a hyperlink for
61164         function names like 'printf_frexp'.
61165         (Misc): Add crc, memxor.
61166         (Characteristics of floating types): New section.
61167         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
61168         isnanf-nolibm, signbit, trunc, truncf, truncl.
61169         (Enhancements for ISO C 99 functions): New subsection Input/output.
61170         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
61171         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
61172         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
61173         (Compatibility checks for POSIX:2001 functions): Add clock-time.
61174         (Enhancements for POSIX:2001 functions): Add chdir-long.
61175         (File system functions): Add areadlink, chdir-safer, read-file.
61176         Remove cycle-check.
61177         (File system as inode set): New section.
61178         (Date and time): Add gethrxtime.
61179         (Multithreading): Add openmp.
61180         (Internationalization functions): Add localename.
61181         (Unicode string functions): Add unistr/u*-mbsnlen.
61182         (Support for maintaining and releasing projects): Add git-version-gen.
61183         (Lone files): Remove directories.
61184
61185 2007-10-08  Ben Pfaff  <blp@gnu.org>
61186
61187         * lib/xmalloca.h: Fix typo in comment.
61188
61189 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61190
61191         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
61192         when avoiding problems with integer overflow.  Use a portable test
61193         instead.
61194
61195 2007-10-08  Simon Josefsson  <simon@josefsson.org>
61196
61197         * modules/dummy (License): Change to LGPLv2+.
61198         * modules/float (License): Likewise
61199         * modules/realloc (License): Likewise
61200         * modules/stdlib (License): Likewise
61201
61202 2007-10-07  Bruno Haible  <bruno@clisp.org>
61203
61204         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
61205         * floor.c (TWO_MANT_DIG): Likewise.
61206         * ceil.c (TWO_MANT_DIG): Likewise.
61207         Reported by Ben Pfaff.
61208
61209 2007-10-07  Bruno Haible  <bruno@clisp.org>
61210
61211         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
61212         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
61213         * lib/frexp.c (FUNC): Likewise.
61214         * lib/printf-frexp.h (printf_frexp): Likewise.
61215         * lib/printf-frexpl.h (printf_frexpl): Likewise.
61216         * lib/printf-frexp.c (FUNC): Likewise.
61217         Suggested by Jim Meyering.
61218
61219 2007-10-07  Jim Meyering  <meyering@redhat.com>
61220
61221         Make xnanosleep's integer overflow test more robust.
61222         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
61223         so that gcc-4.3.0 doesn't optimize away this test for overflow.
61224
61225 2007-10-07  Bruno Haible  <bruno@clisp.org>
61226
61227         * NEWS: Mention the license change.
61228
61229         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
61230         abbreviations in the modules files.
61231
61232         Change copyright notice from GPLv2+ to GPLv3+.
61233         * README: Change copyright notice.
61234         * MODULES.html.sh: Likewise.
61235         * build-aux/bootstrap.conf: Likewise.
61236         * build-aux/config.libpath: Likewise.
61237         * build-aux/csharpcomp.sh.in: Likewise.
61238         * build-aux/csharpexec.sh.in: Likewise.
61239         * build-aux/install-reloc: Likewise.
61240         * build-aux/javacomp.sh.in: Likewise.
61241         * build-aux/javaexec.sh.in: Likewise.
61242         * build-aux/ldd.sh.in: Likewise.
61243         * build-aux/reloc-ldflags: Likewise.
61244         * build-aux/relocatable.sh.in: Likewise.
61245         * build-aux/x-to-1.in: Likewise.
61246         * check-module: Likewise.
61247         * config/srclistvars.sh: Likewise.
61248         * gnulib-tool: Likewise.
61249         * lib/acl-internal.h: Likewise.
61250         * lib/acl.c: Likewise.
61251         * lib/acl.h: Likewise.
61252         * lib/acl_entries.c: Likewise.
61253         * lib/areadlink-with-size.c: Likewise.
61254         * lib/areadlink.c: Likewise.
61255         * lib/areadlink.h: Likewise.
61256         * lib/argmatch.c: Likewise.
61257         * lib/argmatch.h: Likewise.
61258         * lib/argp-ba.c: Likewise.
61259         * lib/argp-eexst.c: Likewise.
61260         * lib/argp-fmtstream.c: Likewise.
61261         * lib/argp-fmtstream.h: Likewise.
61262         * lib/argp-fs-xinl.c: Likewise.
61263         * lib/argp-help.c: Likewise.
61264         * lib/argp-namefrob.h: Likewise.
61265         * lib/argp-parse.c: Likewise.
61266         * lib/argp-pin.c: Likewise.
61267         * lib/argp-pv.c: Likewise.
61268         * lib/argp-pvh.c: Likewise.
61269         * lib/argp-xinl.c: Likewise.
61270         * lib/argp.h: Likewise.
61271         * lib/at-func.c: Likewise.
61272         * lib/atanl.c: Likewise.
61273         * lib/backupfile.c: Likewise.
61274         * lib/backupfile.h: Likewise.
61275         * lib/basename.c: Likewise.
61276         * lib/binary-io.h: Likewise.
61277         * lib/byteswap.in.h: Likewise.
61278         * lib/c-stack.c: Likewise.
61279         * lib/c-stack.h: Likewise.
61280         * lib/c-strcasestr.c: Likewise.
61281         * lib/c-strcasestr.h: Likewise.
61282         * lib/c-strstr.c: Likewise.
61283         * lib/c-strstr.h: Likewise.
61284         * lib/c-strtod.c: Likewise.
61285         * lib/calloc.c: Likewise.
61286         * lib/canon-host.c: Likewise.
61287         * lib/canon-host.h: Likewise.
61288         * lib/canonicalize-lgpl.c: Likewise.
61289         * lib/canonicalize.c: Likewise.
61290         * lib/canonicalize.h: Likewise.
61291         * lib/ceil.c: Likewise.
61292         * lib/ceilf.c: Likewise.
61293         * lib/ceill.c: Likewise.
61294         * lib/chdir-long.c: Likewise.
61295         * lib/chdir-long.h: Likewise.
61296         * lib/chdir-safer.c: Likewise.
61297         * lib/chdir-safer.h: Likewise.
61298         * lib/chown.c: Likewise.
61299         * lib/classpath.c: Likewise.
61300         * lib/classpath.h: Likewise.
61301         * lib/clean-temp.c: Likewise.
61302         * lib/clean-temp.h: Likewise.
61303         * lib/cloexec.c: Likewise.
61304         * lib/close-stream.c: Likewise.
61305         * lib/closein.c: Likewise.
61306         * lib/closein.h: Likewise.
61307         * lib/closeout.c: Likewise.
61308         * lib/closeout.h: Likewise.
61309         * lib/concat-filename.c: Likewise.
61310         * lib/copy-file.c: Likewise.
61311         * lib/copy-file.h: Likewise.
61312         * lib/count-one-bits.h: Likewise.
61313         * lib/crc.c: Likewise.
61314         * lib/crc.h: Likewise.
61315         * lib/creat-safer.c: Likewise.
61316         * lib/csharpcomp.c: Likewise.
61317         * lib/csharpcomp.h: Likewise.
61318         * lib/csharpexec.c: Likewise.
61319         * lib/csharpexec.h: Likewise.
61320         * lib/cycle-check.c: Likewise.
61321         * lib/cycle-check.h: Likewise.
61322         * lib/diacrit.c: Likewise.
61323         * lib/diacrit.h: Likewise.
61324         * lib/diffseq.h: Likewise.
61325         * lib/dirchownmod.c: Likewise.
61326         * lib/dirent.in.h: Likewise.
61327         * lib/dirfd.c: Likewise.
61328         * lib/dirfd.h: Likewise.
61329         * lib/dirname.c: Likewise.
61330         * lib/dirname.h: Likewise.
61331         * lib/dummy.c: Likewise.
61332         * lib/dup-safer.c: Likewise.
61333         * lib/dup2.c: Likewise.
61334         * lib/eealloc.h: Likewise.
61335         * lib/error.c: Likewise.
61336         * lib/error.h: Likewise.
61337         * lib/euidaccess.c: Likewise.
61338         * lib/exclude.c: Likewise.
61339         * lib/exclude.h: Likewise.
61340         * lib/execute.c: Likewise.
61341         * lib/execute.h: Likewise.
61342         * lib/exitfail.c: Likewise.
61343         * lib/exitfail.h: Likewise.
61344         * lib/expl.c: Likewise.
61345         * lib/fatal-signal.c: Likewise.
61346         * lib/fatal-signal.h: Likewise.
61347         * lib/fbufmode.c: Likewise.
61348         * lib/fbufmode.h: Likewise.
61349         * lib/fchdir.c: Likewise.
61350         * lib/fchmodat.c: Likewise.
61351         * lib/fchownat.c: Likewise.
61352         * lib/fcntl--.h: Likewise.
61353         * lib/fcntl-safer.h: Likewise.
61354         * lib/fcntl.in.h: Likewise.
61355         * lib/fd-safer.c: Likewise.
61356         * lib/fflush.c: Likewise.
61357         * lib/file-has-acl.c: Likewise.
61358         * lib/file-set.c: Likewise.
61359         * lib/file-type.c: Likewise.
61360         * lib/file-type.h: Likewise.
61361         * lib/fileblocks.c: Likewise.
61362         * lib/filemode.c: Likewise.
61363         * lib/filemode.h: Likewise.
61364         * lib/filename.h: Likewise.
61365         * lib/filenamecat.c: Likewise.
61366         * lib/filenamecat.h: Likewise.
61367         * lib/findprog.c: Likewise.
61368         * lib/findprog.h: Likewise.
61369         * lib/float.in.h: Likewise.
61370         * lib/floor.c: Likewise.
61371         * lib/floorf.c: Likewise.
61372         * lib/floorl.c: Likewise.
61373         * lib/fopen-safer.c: Likewise.
61374         * lib/fopen.c: Likewise.
61375         * lib/fpending.c: Likewise.
61376         * lib/fpending.h: Likewise.
61377         * lib/fprintf.c: Likewise.
61378         * lib/fprintftime.h: Likewise.
61379         * lib/fpucw.h: Likewise.
61380         * lib/fpurge.c: Likewise.
61381         * lib/fpurge.h: Likewise.
61382         * lib/freadable.c: Likewise.
61383         * lib/freadable.h: Likewise.
61384         * lib/freadahead.c: Likewise.
61385         * lib/freadahead.h: Likewise.
61386         * lib/freading.c: Likewise.
61387         * lib/freading.h: Likewise.
61388         * lib/free.c: Likewise.
61389         * lib/freopen.c: Likewise.
61390         * lib/frexp.c: Likewise.
61391         * lib/frexpl.c: Likewise.
61392         * lib/fseek.c: Likewise.
61393         * lib/fseterr.c: Likewise.
61394         * lib/fseterr.h: Likewise.
61395         * lib/fstatat.c: Likewise.
61396         * lib/fstrcmp.c: Likewise.
61397         * lib/fstrcmp.h: Likewise.
61398         * lib/fsusage.c: Likewise.
61399         * lib/fsusage.h: Likewise.
61400         * lib/ftell.c: Likewise.
61401         * lib/ftello.c: Likewise.
61402         * lib/fts-cycle.c: Likewise.
61403         * lib/fts.c: Likewise.
61404         * lib/fts_.h: Likewise.
61405         * lib/full-read.c: Likewise.
61406         * lib/full-read.h: Likewise.
61407         * lib/full-write.c: Likewise.
61408         * lib/full-write.h: Likewise.
61409         * lib/fwritable.c: Likewise.
61410         * lib/fwritable.h: Likewise.
61411         * lib/fwriteerror.c: Likewise.
61412         * lib/fwriteerror.h: Likewise.
61413         * lib/fwriting.c: Likewise.
61414         * lib/fwriting.h: Likewise.
61415         * lib/gcd.c: Likewise.
61416         * lib/gcd.h: Likewise.
61417         * lib/getcwd.c: Likewise.
61418         * lib/getdate.h: Likewise.
61419         * lib/getdate.y: Likewise.
61420         * lib/getdomainname.c: Likewise.
61421         * lib/getdomainname.h: Likewise.
61422         * lib/getgroups.c: Likewise.
61423         * lib/gethostname.c: Likewise.
61424         * lib/gethrxtime.c: Likewise.
61425         * lib/gethrxtime.h: Likewise.
61426         * lib/getloadavg.c: Likewise.
61427         * lib/getndelim2.c: Likewise.
61428         * lib/getndelim2.h: Likewise.
61429         * lib/getnline.c: Likewise.
61430         * lib/getnline.h: Likewise.
61431         * lib/getopt.c: Likewise.
61432         * lib/getopt.in.h: Likewise.
61433         * lib/getopt1.c: Likewise.
61434         * lib/getopt_int.h: Likewise.
61435         * lib/getpagesize.h: Likewise.
61436         * lib/getsubopt.c: Likewise.
61437         * lib/gettime.c: Likewise.
61438         * lib/getugroups.c: Likewise.
61439         * lib/getugroups.h: Likewise.
61440         * lib/getusershell.c: Likewise.
61441         * lib/gl_anyavltree_list1.h: Likewise.
61442         * lib/gl_anyavltree_list2.h: Likewise.
61443         * lib/gl_anyhash_list1.h: Likewise.
61444         * lib/gl_anyhash_list2.h: Likewise.
61445         * lib/gl_anylinked_list1.h: Likewise.
61446         * lib/gl_anylinked_list2.h: Likewise.
61447         * lib/gl_anyrbtree_list1.h: Likewise.
61448         * lib/gl_anyrbtree_list2.h: Likewise.
61449         * lib/gl_anytree_list1.h: Likewise.
61450         * lib/gl_anytree_list2.h: Likewise.
61451         * lib/gl_anytree_oset.h: Likewise.
61452         * lib/gl_anytreehash_list1.h: Likewise.
61453         * lib/gl_anytreehash_list2.h: Likewise.
61454         * lib/gl_array_list.c: Likewise.
61455         * lib/gl_array_list.h: Likewise.
61456         * lib/gl_array_oset.c: Likewise.
61457         * lib/gl_array_oset.h: Likewise.
61458         * lib/gl_avltree_list.c: Likewise.
61459         * lib/gl_avltree_list.h: Likewise.
61460         * lib/gl_avltree_oset.c: Likewise.
61461         * lib/gl_avltree_oset.h: Likewise.
61462         * lib/gl_avltreehash_list.c: Likewise.
61463         * lib/gl_avltreehash_list.h: Likewise.
61464         * lib/gl_carray_list.c: Likewise.
61465         * lib/gl_carray_list.h: Likewise.
61466         * lib/gl_linked_list.c: Likewise.
61467         * lib/gl_linked_list.h: Likewise.
61468         * lib/gl_linkedhash_list.c: Likewise.
61469         * lib/gl_linkedhash_list.h: Likewise.
61470         * lib/gl_list.c: Likewise.
61471         * lib/gl_list.h: Likewise.
61472         * lib/gl_oset.c: Likewise.
61473         * lib/gl_oset.h: Likewise.
61474         * lib/gl_rbtree_list.c: Likewise.
61475         * lib/gl_rbtree_list.h: Likewise.
61476         * lib/gl_rbtree_oset.c: Likewise.
61477         * lib/gl_rbtree_oset.h: Likewise.
61478         * lib/gl_rbtreehash_list.c: Likewise.
61479         * lib/gl_rbtreehash_list.h: Likewise.
61480         * lib/gl_sublist.c: Likewise.
61481         * lib/gl_sublist.h: Likewise.
61482         * lib/group-member.c: Likewise.
61483         * lib/group-member.h: Likewise.
61484         * lib/hard-locale.c: Likewise.
61485         * lib/hard-locale.h: Likewise.
61486         * lib/hash-pjw.c: Likewise.
61487         * lib/hash-pjw.h: Likewise.
61488         * lib/hash-triple.c: Likewise.
61489         * lib/hash.c: Likewise.
61490         * lib/hash.h: Likewise.
61491         * lib/human.c: Likewise.
61492         * lib/human.h: Likewise.
61493         * lib/i-ring.c: Likewise.
61494         * lib/i-ring.h: Likewise.
61495         * lib/idcache.c: Likewise.
61496         * lib/imaxabs.c: Likewise.
61497         * lib/imaxdiv.c: Likewise.
61498         * lib/inet_pton.c: Likewise.
61499         * lib/inet_pton.h: Likewise.
61500         * lib/intprops.h: Likewise.
61501         * lib/inttostr.c: Likewise.
61502         * lib/inttostr.h: Likewise.
61503         * lib/inttypes.in.h: Likewise.
61504         * lib/isapipe.c: Likewise.
61505         * lib/isdir.c: Likewise.
61506         * lib/isnan.c: Likewise.
61507         * lib/isnan.h: Likewise.
61508         * lib/isnanf.c: Likewise.
61509         * lib/isnanf.h: Likewise.
61510         * lib/isnanl-nolibm.h: Likewise.
61511         * lib/isnanl.c: Likewise.
61512         * lib/isnanl.h: Likewise.
61513         * lib/javacomp.c: Likewise.
61514         * lib/javacomp.h: Likewise.
61515         * lib/javaexec.c: Likewise.
61516         * lib/javaexec.h: Likewise.
61517         * lib/javaversion.c: Likewise.
61518         * lib/javaversion.h: Likewise.
61519         * lib/javaversion.java: Likewise.
61520         * lib/lbrkprop.h: Likewise.
61521         * lib/lchmod.h: Likewise.
61522         * lib/lchown.c: Likewise.
61523         * lib/ldexpl.c: Likewise.
61524         * lib/linebreak.c: Likewise.
61525         * lib/linebreak.h: Likewise.
61526         * lib/linebuffer.c: Likewise.
61527         * lib/linebuffer.h: Likewise.
61528         * lib/locale.in.h: Likewise.
61529         * lib/logl.c: Likewise.
61530         * lib/long-options.c: Likewise.
61531         * lib/long-options.h: Likewise.
61532         * lib/lstat.c: Likewise.
61533         * lib/lstat.h: Likewise.
61534         * lib/math.in.h: Likewise.
61535         * lib/mbchar.c: Likewise.
61536         * lib/mbchar.h: Likewise.
61537         * lib/mbfile.h: Likewise.
61538         * lib/mbiter.h: Likewise.
61539         * lib/mbscasecmp.c: Likewise.
61540         * lib/mbscasestr.c: Likewise.
61541         * lib/mbschr.c: Likewise.
61542         * lib/mbscspn.c: Likewise.
61543         * lib/mbslen.c: Likewise.
61544         * lib/mbsncasecmp.c: Likewise.
61545         * lib/mbsnlen.c: Likewise.
61546         * lib/mbspbrk.c: Likewise.
61547         * lib/mbspcasecmp.c: Likewise.
61548         * lib/mbsrchr.c: Likewise.
61549         * lib/mbssep.c: Likewise.
61550         * lib/mbsspn.c: Likewise.
61551         * lib/mbsstr.c: Likewise.
61552         * lib/mbstok_r.c: Likewise.
61553         * lib/mbswidth.c: Likewise.
61554         * lib/mbswidth.h: Likewise.
61555         * lib/mbuiter.h: Likewise.
61556         * lib/memcasecmp.c: Likewise.
61557         * lib/memcasecmp.h: Likewise.
61558         * lib/memchr.c: Likewise.
61559         * lib/memcmp.c: Likewise.
61560         * lib/memcoll.c: Likewise.
61561         * lib/memcoll.h: Likewise.
61562         * lib/memcpy.c: Likewise.
61563         * lib/memrchr.c: Likewise.
61564         * lib/mkancesdirs.c: Likewise.
61565         * lib/mkdir-p.c: Likewise.
61566         * lib/mkdir-p.h: Likewise.
61567         * lib/mkdir.c: Likewise.
61568         * lib/mkdirat.c: Likewise.
61569         * lib/mkdtemp.c: Likewise.
61570         * lib/mkstemp-safer.c: Likewise.
61571         * lib/mkstemp.c: Likewise.
61572         * lib/modechange.c: Likewise.
61573         * lib/modechange.h: Likewise.
61574         * lib/mountlist.c: Likewise.
61575         * lib/mountlist.h: Likewise.
61576         * lib/mpsort.c: Likewise.
61577         * lib/nanosleep.c: Likewise.
61578         * lib/obstack.c: Likewise.
61579         * lib/obstack.h: Likewise.
61580         * lib/open-safer.c: Likewise.
61581         * lib/open.c: Likewise.
61582         * lib/openat-die.c: Likewise.
61583         * lib/openat-priv.h: Likewise.
61584         * lib/openat-proc.c: Likewise.
61585         * lib/openat.c: Likewise.
61586         * lib/openat.h: Likewise.
61587         * lib/pagealign_alloc.c: Likewise.
61588         * lib/pagealign_alloc.h: Likewise.
61589         * lib/physmem.c: Likewise.
61590         * lib/physmem.h: Likewise.
61591         * lib/pipe-safer.c: Likewise.
61592         * lib/pipe.c: Likewise.
61593         * lib/pipe.h: Likewise.
61594         * lib/posixtm.c: Likewise.
61595         * lib/posixtm.h: Likewise.
61596         * lib/posixver.c: Likewise.
61597         * lib/printf-frexp.c: Likewise.
61598         * lib/printf-frexp.h: Likewise.
61599         * lib/printf-frexpl.c: Likewise.
61600         * lib/printf-frexpl.h: Likewise.
61601         * lib/printf.c: Likewise.
61602         * lib/progname.c: Likewise.
61603         * lib/progname.h: Likewise.
61604         * lib/progreloc.c: Likewise.
61605         * lib/putenv.c: Likewise.
61606         * lib/quote.c: Likewise.
61607         * lib/quote.h: Likewise.
61608         * lib/quotearg.c: Likewise.
61609         * lib/quotearg.h: Likewise.
61610         * lib/raise.c: Likewise.
61611         * lib/readline.c: Likewise.
61612         * lib/readline.h: Likewise.
61613         * lib/readlink.c: Likewise.
61614         * lib/readtokens.c: Likewise.
61615         * lib/readtokens.h: Likewise.
61616         * lib/readtokens0.c: Likewise.
61617         * lib/readtokens0.h: Likewise.
61618         * lib/readutmp.c: Likewise.
61619         * lib/readutmp.h: Likewise.
61620         * lib/realloc.c: Likewise.
61621         * lib/relocwrapper.c: Likewise.
61622         * lib/rename-dest-slash.c: Likewise.
61623         * lib/rename.c: Likewise.
61624         * lib/rmdir.c: Likewise.
61625         * lib/rpmatch.c: Likewise.
61626         * lib/safe-read.c: Likewise.
61627         * lib/safe-read.h: Likewise.
61628         * lib/safe-write.c: Likewise.
61629         * lib/safe-write.h: Likewise.
61630         * lib/same-inode.h: Likewise.
61631         * lib/same.c: Likewise.
61632         * lib/same.h: Likewise.
61633         * lib/save-cwd.c: Likewise.
61634         * lib/save-cwd.h: Likewise.
61635         * lib/savedir.c: Likewise.
61636         * lib/savedir.h: Likewise.
61637         * lib/savewd.c: Likewise.
61638         * lib/savewd.h: Likewise.
61639         * lib/search.in.h: Likewise.
61640         * lib/setenv.c: Likewise.
61641         * lib/setenv.h: Likewise.
61642         * lib/settime.c: Likewise.
61643         * lib/sh-quote.c: Likewise.
61644         * lib/sh-quote.h: Likewise.
61645         * lib/sig2str.c: Likewise.
61646         * lib/sig2str.h: Likewise.
61647         * lib/signal.in.h: Likewise.
61648         * lib/signbitd.c: Likewise.
61649         * lib/signbitf.c: Likewise.
61650         * lib/signbitl.c: Likewise.
61651         * lib/sigprocmask.c: Likewise.
61652         * lib/sincosl.c: Likewise.
61653         * lib/sleep.c: Likewise.
61654         * lib/sprintf.c: Likewise.
61655         * lib/sqrtl.c: Likewise.
61656         * lib/stat-time.h: Likewise.
61657         * lib/stdio--.h: Likewise.
61658         * lib/stdio-safer.h: Likewise.
61659         * lib/stdlib--.h: Likewise.
61660         * lib/stdlib-safer.h: Likewise.
61661         * lib/stdlib.in.h: Likewise.
61662         * lib/stpcpy.c: Likewise.
61663         * lib/stpncpy.c: Likewise.
61664         * lib/strchrnul.c: Likewise.
61665         * lib/strcspn.c: Likewise.
61666         * lib/strerror.c: Likewise.
61667         * lib/strftime.c: Likewise.
61668         * lib/strftime.h: Likewise.
61669         * lib/striconveh.c: Likewise.
61670         * lib/striconveh.h: Likewise.
61671         * lib/striconveha.c: Likewise.
61672         * lib/striconveha.h: Likewise.
61673         * lib/stripslash.c: Likewise.
61674         * lib/strnlen1.c: Likewise.
61675         * lib/strnlen1.h: Likewise.
61676         * lib/strtod.c: Likewise.
61677         * lib/strtoimax.c: Likewise.
61678         * lib/strtok_r.c: Likewise.
61679         * lib/strtol.c: Likewise.
61680         * lib/strtoll.c: Likewise.
61681         * lib/strtoul.c: Likewise.
61682         * lib/strtoull.c: Likewise.
61683         * lib/sysexits.in.h: Likewise.
61684         * lib/tempname.c: Likewise.
61685         * lib/tempname.h: Likewise.
61686         * lib/timespec.h: Likewise.
61687         * lib/tls.c: Likewise.
61688         * lib/tls.h: Likewise.
61689         * lib/tmpdir.c: Likewise.
61690         * lib/tmpdir.h: Likewise.
61691         * lib/tmpfile-safer.c: Likewise.
61692         * lib/tmpfile.c: Likewise.
61693         * lib/trigl.c: Likewise.
61694         * lib/trigl.h: Likewise.
61695         * lib/trim.c: Likewise.
61696         * lib/trim.h: Likewise.
61697         * lib/trunc.c: Likewise.
61698         * lib/truncf.c: Likewise.
61699         * lib/truncl.c: Likewise.
61700         * lib/tsearch.c: Likewise.
61701         * lib/unicodeio.c: Likewise.
61702         * lib/unicodeio.h: Likewise.
61703         * lib/unistd--.h: Likewise.
61704         * lib/unistd-safer.h: Likewise.
61705         * lib/unistdio/ulc-fprintf.c: Likewise.
61706         * lib/unistdio/ulc-vfprintf.c: Likewise.
61707         * lib/unlinkdir.c: Likewise.
61708         * lib/unlinkdir.h: Likewise.
61709         * lib/unlocked-io.h: Likewise.
61710         * lib/unsetenv.c: Likewise.
61711         * lib/userspec.c: Likewise.
61712         * lib/utime.c: Likewise.
61713         * lib/utimecmp.c: Likewise.
61714         * lib/utimecmp.h: Likewise.
61715         * lib/utimens.c: Likewise.
61716         * lib/verify.h: Likewise.
61717         * lib/verror.c: Likewise.
61718         * lib/verror.h: Likewise.
61719         * lib/version-etc-fsf.c: Likewise.
61720         * lib/version-etc.c: Likewise.
61721         * lib/version-etc.h: Likewise.
61722         * lib/vfprintf.c: Likewise.
61723         * lib/vprintf.c: Likewise.
61724         * lib/vsprintf.c: Likewise.
61725         * lib/w32spawn.h: Likewise.
61726         * lib/wait-process.c: Likewise.
61727         * lib/wait-process.h: Likewise.
61728         * lib/wcwidth.c: Likewise.
61729         * lib/write-any-file.c: Likewise.
61730         * lib/xalloc-die.c: Likewise.
61731         * lib/xalloc.h: Likewise.
61732         * lib/xasprintf.c: Likewise.
61733         * lib/xgetcwd.c: Likewise.
61734         * lib/xgetcwd.h: Likewise.
61735         * lib/xgetdomainname.c: Likewise.
61736         * lib/xgetdomainname.h: Likewise.
61737         * lib/xgethostname.c: Likewise.
61738         * lib/xmalloc.c: Likewise.
61739         * lib/xmalloca.c: Likewise.
61740         * lib/xmalloca.h: Likewise.
61741         * lib/xmemcoll.c: Likewise.
61742         * lib/xnanosleep.c: Likewise.
61743         * lib/xreadlink.c: Likewise.
61744         * lib/xreadlink.h: Likewise.
61745         * lib/xsetenv.c: Likewise.
61746         * lib/xsetenv.h: Likewise.
61747         * lib/xstriconv.c: Likewise.
61748         * lib/xstriconv.h: Likewise.
61749         * lib/xstrndup.c: Likewise.
61750         * lib/xstrndup.h: Likewise.
61751         * lib/xstrtod.c: Likewise.
61752         * lib/xstrtod.h: Likewise.
61753         * lib/xstrtol-error.c: Likewise.
61754         * lib/xstrtol.c: Likewise.
61755         * lib/xstrtol.h: Likewise.
61756         * lib/xtime.h: Likewise.
61757         * lib/xvasprintf.c: Likewise.
61758         * lib/xvasprintf.h: Likewise.
61759         * lib/yesno.c: Likewise.
61760         * lib/yesno.h: Likewise.
61761         * posix-modules: Likewise.
61762         * tests/test-alloca-opt.c: Likewise.
61763         * tests/test-arcfour.c: Likewise.
61764         * tests/test-arctwo.c: Likewise.
61765         * tests/test-argmatch.c: Likewise.
61766         * tests/test-argp-2.sh: Likewise.
61767         * tests/test-argp.c: Likewise.
61768         * tests/test-arpa_inet.c: Likewise.
61769         * tests/test-array_list.c: Likewise.
61770         * tests/test-array_oset.c: Likewise.
61771         * tests/test-atexit.c: Likewise.
61772         * tests/test-avltree_list.c: Likewise.
61773         * tests/test-avltree_oset.c: Likewise.
61774         * tests/test-avltreehash_list.c: Likewise.
61775         * tests/test-base64.c: Likewise.
61776         * tests/test-binary-io.c: Likewise.
61777         * tests/test-byteswap.c: Likewise.
61778         * tests/test-c-ctype.c: Likewise.
61779         * tests/test-c-strcasecmp.c: Likewise.
61780         * tests/test-c-strcasestr.c: Likewise.
61781         * tests/test-c-strncasecmp.c: Likewise.
61782         * tests/test-c-strstr.c: Likewise.
61783         * tests/test-canonicalize-lgpl.c: Likewise.
61784         * tests/test-canonicalize.c: Likewise.
61785         * tests/test-carray_list.c: Likewise.
61786         * tests/test-ceilf.c: Likewise.
61787         * tests/test-ceill.c: Likewise.
61788         * tests/test-count-one-bits.c: Likewise.
61789         * tests/test-crc.c: Likewise.
61790         * tests/test-dirname.c: Likewise.
61791         * tests/test-fbufmode.c: Likewise.
61792         * tests/test-fcntl.c: Likewise.
61793         * tests/test-fflush.c: Likewise.
61794         * tests/test-floorf.c: Likewise.
61795         * tests/test-floorl.c: Likewise.
61796         * tests/test-fopen.c: Likewise.
61797         * tests/test-fprintf-posix.c: Likewise.
61798         * tests/test-fprintf-posix.h: Likewise.
61799         * tests/test-fpurge.c: Likewise.
61800         * tests/test-freadable.c: Likewise.
61801         * tests/test-freadahead.c: Likewise.
61802         * tests/test-freading.c: Likewise.
61803         * tests/test-freopen.c: Likewise.
61804         * tests/test-frexp.c: Likewise.
61805         * tests/test-frexpl.c: Likewise.
61806         * tests/test-fseek.c: Likewise.
61807         * tests/test-fseeko.c: Likewise.
61808         * tests/test-fseterr.c: Likewise.
61809         * tests/test-fstrcmp.c: Likewise.
61810         * tests/test-ftell.c: Likewise.
61811         * tests/test-ftello.c: Likewise.
61812         * tests/test-fwritable.c: Likewise.
61813         * tests/test-fwriting.c: Likewise.
61814         * tests/test-getaddrinfo.c: Likewise.
61815         * tests/test-getpass.c: Likewise.
61816         * tests/test-gettimeofday.c: Likewise.
61817         * tests/test-hmac-md5.c: Likewise.
61818         * tests/test-hmac-sha1.c: Likewise.
61819         * tests/test-iconv.c: Likewise.
61820         * tests/test-iconvme.c: Likewise.
61821         * tests/test-inttypes.c: Likewise.
61822         * tests/test-isnan.c: Likewise.
61823         * tests/test-isnanf.c: Likewise.
61824         * tests/test-isnanl-nolibm.c: Likewise.
61825         * tests/test-isnanl.c: Likewise.
61826         * tests/test-isnanl.h: Likewise.
61827         * tests/test-ldexpl.c: Likewise.
61828         * tests/test-linked_list.c: Likewise.
61829         * tests/test-linkedhash_list.c: Likewise.
61830         * tests/test-locale.c: Likewise.
61831         * tests/test-localename.c: Likewise.
61832         * tests/test-lock.c: Likewise.
61833         * tests/test-lseek.c: Likewise.
61834         * tests/test-malloca.c: Likewise.
61835         * tests/test-math.c: Likewise.
61836         * tests/test-mbscasecmp.c: Likewise.
61837         * tests/test-mbscasestr1.c: Likewise.
61838         * tests/test-mbscasestr2.c: Likewise.
61839         * tests/test-mbscasestr3.c: Likewise.
61840         * tests/test-mbscasestr4.c: Likewise.
61841         * tests/test-mbschr.c: Likewise.
61842         * tests/test-mbscspn.c: Likewise.
61843         * tests/test-mbsncasecmp.c: Likewise.
61844         * tests/test-mbspbrk.c: Likewise.
61845         * tests/test-mbspcasecmp.c: Likewise.
61846         * tests/test-mbsrchr.c: Likewise.
61847         * tests/test-mbsspn.c: Likewise.
61848         * tests/test-mbsstr1.c: Likewise.
61849         * tests/test-mbsstr2.c: Likewise.
61850         * tests/test-mbsstr3.c: Likewise.
61851         * tests/test-md5.c: Likewise.
61852         * tests/test-memmem.c: Likewise.
61853         * tests/test-netinet_in.c: Likewise.
61854         * tests/test-open.c: Likewise.
61855         * tests/test-printf-frexp.c: Likewise.
61856         * tests/test-printf-frexpl.c: Likewise.
61857         * tests/test-printf-posix.c: Likewise.
61858         * tests/test-printf-posix.h: Likewise.
61859         * tests/test-rbtree_list.c: Likewise.
61860         * tests/test-rbtree_oset.c: Likewise.
61861         * tests/test-rbtreehash_list.c: Likewise.
61862         * tests/test-read-file.c: Likewise.
61863         * tests/test-rijndael.c: Likewise.
61864         * tests/test-search.c: Likewise.
61865         * tests/test-signbit.c: Likewise.
61866         * tests/test-sleep.c: Likewise.
61867         * tests/test-snprintf-posix.c: Likewise.
61868         * tests/test-snprintf-posix.h: Likewise.
61869         * tests/test-snprintf.c: Likewise.
61870         * tests/test-sprintf-posix.c: Likewise.
61871         * tests/test-sprintf-posix.h: Likewise.
61872         * tests/test-stat-time.c: Likewise.
61873         * tests/test-stdbool.c: Likewise.
61874         * tests/test-stdint.c: Likewise.
61875         * tests/test-stdio.c: Likewise.
61876         * tests/test-stdlib.c: Likewise.
61877         * tests/test-stpncpy.c: Likewise.
61878         * tests/test-strcasestr.c: Likewise.
61879         * tests/test-striconv.c: Likewise.
61880         * tests/test-striconveh.c: Likewise.
61881         * tests/test-striconveha.c: Likewise.
61882         * tests/test-string.c: Likewise.
61883         * tests/test-sys_select.c: Likewise.
61884         * tests/test-sys_socket.c: Likewise.
61885         * tests/test-sys_stat.c: Likewise.
61886         * tests/test-sys_time.c: Likewise.
61887         * tests/test-sysexits.c: Likewise.
61888         * tests/test-time.c: Likewise.
61889         * tests/test-tls.c: Likewise.
61890         * tests/test-trunc.c: Likewise.
61891         * tests/test-truncf.c: Likewise.
61892         * tests/test-truncl.c: Likewise.
61893         * tests/test-unistd.c: Likewise.
61894         * tests/test-vasnprintf-posix.c: Likewise.
61895         * tests/test-vasnprintf-posix2.c: Likewise.
61896         * tests/test-vasnprintf.c: Likewise.
61897         * tests/test-vasprintf-posix.c: Likewise.
61898         * tests/test-vasprintf.c: Likewise.
61899         * tests/test-verify.c: Likewise.
61900         * tests/test-vfprintf-posix.c: Likewise.
61901         * tests/test-vprintf-posix.c: Likewise.
61902         * tests/test-vsnprintf-posix.c: Likewise.
61903         * tests/test-vsnprintf.c: Likewise.
61904         * tests/test-vsprintf-posix.c: Likewise.
61905         * tests/test-wchar.c: Likewise.
61906         * tests/test-wctype.c: Likewise.
61907         * tests/test-wcwidth.c: Likewise.
61908         * tests/test-xstrtol.c: Likewise.
61909         * tests/test-xvasprintf.c: Likewise.
61910         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
61911         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
61912         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
61913         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
61914         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
61915         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
61916         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
61917         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
61918         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
61919         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
61920         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
61921         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
61922         * tests/uniname/test-uninames.c: Likewise.
61923         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
61924         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
61925         * tests/unistdio/test-u16-printf1.h: Likewise.
61926         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
61927         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
61928         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
61929         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
61930         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
61931         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
61932         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
61933         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
61934         * tests/unistdio/test-u32-printf1.h: Likewise.
61935         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
61936         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
61937         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
61938         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
61939         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
61940         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
61941         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
61942         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
61943         * tests/unistdio/test-u8-printf1.h: Likewise.
61944         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
61945         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
61946         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
61947         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
61948         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
61949         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
61950         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
61951         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
61952         * tests/unistdio/test-ulc-printf1.h: Likewise.
61953         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
61954         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
61955         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
61956         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
61957         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
61958         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
61959         * tests/uniwidth/test-u16-strwidth.c: Likewise.
61960         * tests/uniwidth/test-u16-width.c: Likewise.
61961         * tests/uniwidth/test-u32-strwidth.c: Likewise.
61962         * tests/uniwidth/test-u32-width.c: Likewise.
61963         * tests/uniwidth/test-u8-strwidth.c: Likewise.
61964         * tests/uniwidth/test-u8-width.c: Likewise.
61965         * tests/uniwidth/test-uc_width.c: Likewise.
61966         * config/srclist-update: Likewise.
61967         (fixlicense): Update to GPLv3+.
61968
61969         Change copyright notice from LGPLv2.1+ to LGPLv3+.
61970         * tests/test-tsearch.c: Change copyright notice.
61971
61972         Change copyright notice from LGPLv2.0+ to LGPLv3+.
61973         * lib/c-strcaseeq.h: Change copyright notice.
61974         * lib/streq.h: Likewise.
61975         * lib/uniconv.h: Likewise.
61976         * lib/uniconv/u-conv-from-enc.h: Likewise.
61977         * lib/uniconv/u-conv-to-enc.h: Likewise.
61978         * lib/uniconv/u-strconv-from-enc.h: Likewise.
61979         * lib/uniconv/u-strconv-to-enc.h: Likewise.
61980         * lib/uniconv/u16-conv-from-enc.c: Likewise.
61981         * lib/uniconv/u16-conv-to-enc.c: Likewise.
61982         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
61983         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
61984         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
61985         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
61986         * lib/uniconv/u32-conv-from-enc.c: Likewise.
61987         * lib/uniconv/u32-conv-to-enc.c: Likewise.
61988         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
61989         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
61990         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
61991         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
61992         * lib/uniconv/u8-conv-from-enc.c: Likewise.
61993         * lib/uniconv/u8-conv-to-enc.c: Likewise.
61994         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
61995         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
61996         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
61997         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
61998         * lib/uniname.h: Likewise.
61999         * lib/uniname/uniname.c: Likewise.
62000         * lib/unistdio.h: Likewise.
62001         * lib/unistdio/u-asnprintf.h: Likewise.
62002         * lib/unistdio/u-asprintf.h: Likewise.
62003         * lib/unistdio/u-printf-args.c: Likewise.
62004         * lib/unistdio/u-printf-args.h: Likewise.
62005         * lib/unistdio/u-printf-parse.h: Likewise.
62006         * lib/unistdio/u-snprintf.h: Likewise.
62007         * lib/unistdio/u-sprintf.h: Likewise.
62008         * lib/unistdio/u-vasprintf.h: Likewise.
62009         * lib/unistdio/u-vsnprintf.h: Likewise.
62010         * lib/unistdio/u-vsprintf.h: Likewise.
62011         * lib/unistdio/u16-asnprintf.c: Likewise.
62012         * lib/unistdio/u16-asprintf.c: Likewise.
62013         * lib/unistdio/u16-printf-parse.c: Likewise.
62014         * lib/unistdio/u16-snprintf.c: Likewise.
62015         * lib/unistdio/u16-sprintf.c: Likewise.
62016         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
62017         * lib/unistdio/u16-u16-asprintf.c: Likewise.
62018         * lib/unistdio/u16-u16-snprintf.c: Likewise.
62019         * lib/unistdio/u16-u16-sprintf.c: Likewise.
62020         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
62021         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
62022         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
62023         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
62024         * lib/unistdio/u16-vasnprintf.c: Likewise.
62025         * lib/unistdio/u16-vasprintf.c: Likewise.
62026         * lib/unistdio/u16-vsnprintf.c: Likewise.
62027         * lib/unistdio/u16-vsprintf.c: Likewise.
62028         * lib/unistdio/u32-asnprintf.c: Likewise.
62029         * lib/unistdio/u32-asprintf.c: Likewise.
62030         * lib/unistdio/u32-printf-parse.c: Likewise.
62031         * lib/unistdio/u32-snprintf.c: Likewise.
62032         * lib/unistdio/u32-sprintf.c: Likewise.
62033         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
62034         * lib/unistdio/u32-u32-asprintf.c: Likewise.
62035         * lib/unistdio/u32-u32-snprintf.c: Likewise.
62036         * lib/unistdio/u32-u32-sprintf.c: Likewise.
62037         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
62038         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
62039         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
62040         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
62041         * lib/unistdio/u32-vasnprintf.c: Likewise.
62042         * lib/unistdio/u32-vasprintf.c: Likewise.
62043         * lib/unistdio/u32-vsnprintf.c: Likewise.
62044         * lib/unistdio/u32-vsprintf.c: Likewise.
62045         * lib/unistdio/u8-asnprintf.c: Likewise.
62046         * lib/unistdio/u8-asprintf.c: Likewise.
62047         * lib/unistdio/u8-printf-parse.c: Likewise.
62048         * lib/unistdio/u8-snprintf.c: Likewise.
62049         * lib/unistdio/u8-sprintf.c: Likewise.
62050         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
62051         * lib/unistdio/u8-u8-asprintf.c: Likewise.
62052         * lib/unistdio/u8-u8-snprintf.c: Likewise.
62053         * lib/unistdio/u8-u8-sprintf.c: Likewise.
62054         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
62055         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
62056         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
62057         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
62058         * lib/unistdio/u8-vasnprintf.c: Likewise.
62059         * lib/unistdio/u8-vasprintf.c: Likewise.
62060         * lib/unistdio/u8-vsnprintf.c: Likewise.
62061         * lib/unistdio/u8-vsprintf.c: Likewise.
62062         * lib/unistdio/ulc-asnprintf.c: Likewise.
62063         * lib/unistdio/ulc-asprintf.c: Likewise.
62064         * lib/unistdio/ulc-printf-parse.c: Likewise.
62065         * lib/unistdio/ulc-snprintf.c: Likewise.
62066         * lib/unistdio/ulc-sprintf.c: Likewise.
62067         * lib/unistdio/ulc-vasnprintf.c: Likewise.
62068         * lib/unistdio/ulc-vasprintf.c: Likewise.
62069         * lib/unistdio/ulc-vsnprintf.c: Likewise.
62070         * lib/unistdio/ulc-vsprintf.c: Likewise.
62071         * lib/unistr.h: Likewise.
62072         * lib/unistr/u-cpy-alloc.h: Likewise.
62073         * lib/unistr/u-cpy.h: Likewise.
62074         * lib/unistr/u-endswith.h: Likewise.
62075         * lib/unistr/u-move.h: Likewise.
62076         * lib/unistr/u-set.h: Likewise.
62077         * lib/unistr/u-startswith.h: Likewise.
62078         * lib/unistr/u-stpcpy.h: Likewise.
62079         * lib/unistr/u-stpncpy.h: Likewise.
62080         * lib/unistr/u-strcat.h: Likewise.
62081         * lib/unistr/u-strcpy.h: Likewise.
62082         * lib/unistr/u-strcspn.h: Likewise.
62083         * lib/unistr/u-strdup.h: Likewise.
62084         * lib/unistr/u-strlen.h: Likewise.
62085         * lib/unistr/u-strncat.h: Likewise.
62086         * lib/unistr/u-strncpy.h: Likewise.
62087         * lib/unistr/u-strnlen.h: Likewise.
62088         * lib/unistr/u-strpbrk.h: Likewise.
62089         * lib/unistr/u-strspn.h: Likewise.
62090         * lib/unistr/u-strstr.h: Likewise.
62091         * lib/unistr/u-strtok.h: Likewise.
62092         * lib/unistr/u16-check.c: Likewise.
62093         * lib/unistr/u16-chr.c: Likewise.
62094         * lib/unistr/u16-cmp.c: Likewise.
62095         * lib/unistr/u16-cpy-alloc.c: Likewise.
62096         * lib/unistr/u16-cpy.c: Likewise.
62097         * lib/unistr/u16-endswith.c: Likewise.
62098         * lib/unistr/u16-mblen.c: Likewise.
62099         * lib/unistr/u16-mbsnlen.c: Likewise.
62100         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62101         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62102         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62103         * lib/unistr/u16-mbtouc.c: Likewise.
62104         * lib/unistr/u16-mbtoucr.c: Likewise.
62105         * lib/unistr/u16-move.c: Likewise.
62106         * lib/unistr/u16-next.c: Likewise.
62107         * lib/unistr/u16-prev.c: Likewise.
62108         * lib/unistr/u16-set.c: Likewise.
62109         * lib/unistr/u16-startswith.c: Likewise.
62110         * lib/unistr/u16-stpcpy.c: Likewise.
62111         * lib/unistr/u16-stpncpy.c: Likewise.
62112         * lib/unistr/u16-strcat.c: Likewise.
62113         * lib/unistr/u16-strchr.c: Likewise.
62114         * lib/unistr/u16-strcmp.c: Likewise.
62115         * lib/unistr/u16-strcpy.c: Likewise.
62116         * lib/unistr/u16-strcspn.c: Likewise.
62117         * lib/unistr/u16-strdup.c: Likewise.
62118         * lib/unistr/u16-strlen.c: Likewise.
62119         * lib/unistr/u16-strmblen.c: Likewise.
62120         * lib/unistr/u16-strmbtouc.c: Likewise.
62121         * lib/unistr/u16-strncat.c: Likewise.
62122         * lib/unistr/u16-strncmp.c: Likewise.
62123         * lib/unistr/u16-strncpy.c: Likewise.
62124         * lib/unistr/u16-strnlen.c: Likewise.
62125         * lib/unistr/u16-strpbrk.c: Likewise.
62126         * lib/unistr/u16-strrchr.c: Likewise.
62127         * lib/unistr/u16-strspn.c: Likewise.
62128         * lib/unistr/u16-strstr.c: Likewise.
62129         * lib/unistr/u16-strtok.c: Likewise.
62130         * lib/unistr/u16-to-u32.c: Likewise.
62131         * lib/unistr/u16-to-u8.c: Likewise.
62132         * lib/unistr/u16-uctomb-aux.c: Likewise.
62133         * lib/unistr/u16-uctomb.c: Likewise.
62134         * lib/unistr/u32-check.c: Likewise.
62135         * lib/unistr/u32-chr.c: Likewise.
62136         * lib/unistr/u32-cmp.c: Likewise.
62137         * lib/unistr/u32-cpy-alloc.c: Likewise.
62138         * lib/unistr/u32-cpy.c: Likewise.
62139         * lib/unistr/u32-endswith.c: Likewise.
62140         * lib/unistr/u32-mblen.c: Likewise.
62141         * lib/unistr/u32-mbsnlen.c: Likewise.
62142         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62143         * lib/unistr/u32-mbtouc.c: Likewise.
62144         * lib/unistr/u32-mbtoucr.c: Likewise.
62145         * lib/unistr/u32-move.c: Likewise.
62146         * lib/unistr/u32-next.c: Likewise.
62147         * lib/unistr/u32-prev.c: Likewise.
62148         * lib/unistr/u32-set.c: Likewise.
62149         * lib/unistr/u32-startswith.c: Likewise.
62150         * lib/unistr/u32-stpcpy.c: Likewise.
62151         * lib/unistr/u32-stpncpy.c: Likewise.
62152         * lib/unistr/u32-strcat.c: Likewise.
62153         * lib/unistr/u32-strchr.c: Likewise.
62154         * lib/unistr/u32-strcmp.c: Likewise.
62155         * lib/unistr/u32-strcpy.c: Likewise.
62156         * lib/unistr/u32-strcspn.c: Likewise.
62157         * lib/unistr/u32-strdup.c: Likewise.
62158         * lib/unistr/u32-strlen.c: Likewise.
62159         * lib/unistr/u32-strmblen.c: Likewise.
62160         * lib/unistr/u32-strmbtouc.c: Likewise.
62161         * lib/unistr/u32-strncat.c: Likewise.
62162         * lib/unistr/u32-strncmp.c: Likewise.
62163         * lib/unistr/u32-strncpy.c: Likewise.
62164         * lib/unistr/u32-strnlen.c: Likewise.
62165         * lib/unistr/u32-strpbrk.c: Likewise.
62166         * lib/unistr/u32-strrchr.c: Likewise.
62167         * lib/unistr/u32-strspn.c: Likewise.
62168         * lib/unistr/u32-strstr.c: Likewise.
62169         * lib/unistr/u32-strtok.c: Likewise.
62170         * lib/unistr/u32-to-u16.c: Likewise.
62171         * lib/unistr/u32-to-u8.c: Likewise.
62172         * lib/unistr/u32-uctomb.c: Likewise.
62173         * lib/unistr/u8-check.c: Likewise.
62174         * lib/unistr/u8-chr.c: Likewise.
62175         * lib/unistr/u8-cmp.c: Likewise.
62176         * lib/unistr/u8-cpy-alloc.c: Likewise.
62177         * lib/unistr/u8-cpy.c: Likewise.
62178         * lib/unistr/u8-endswith.c: Likewise.
62179         * lib/unistr/u8-mblen.c: Likewise.
62180         * lib/unistr/u8-mbsnlen.c: Likewise.
62181         * lib/unistr/u8-mbtouc-aux.c: Likewise.
62182         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62183         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62184         * lib/unistr/u8-mbtouc.c: Likewise.
62185         * lib/unistr/u8-mbtoucr.c: Likewise.
62186         * lib/unistr/u8-move.c: Likewise.
62187         * lib/unistr/u8-next.c: Likewise.
62188         * lib/unistr/u8-prev.c: Likewise.
62189         * lib/unistr/u8-set.c: Likewise.
62190         * lib/unistr/u8-startswith.c: Likewise.
62191         * lib/unistr/u8-stpcpy.c: Likewise.
62192         * lib/unistr/u8-stpncpy.c: Likewise.
62193         * lib/unistr/u8-strcat.c: Likewise.
62194         * lib/unistr/u8-strchr.c: Likewise.
62195         * lib/unistr/u8-strcmp.c: Likewise.
62196         * lib/unistr/u8-strcpy.c: Likewise.
62197         * lib/unistr/u8-strcspn.c: Likewise.
62198         * lib/unistr/u8-strdup.c: Likewise.
62199         * lib/unistr/u8-strlen.c: Likewise.
62200         * lib/unistr/u8-strmblen.c: Likewise.
62201         * lib/unistr/u8-strmbtouc.c: Likewise.
62202         * lib/unistr/u8-strncat.c: Likewise.
62203         * lib/unistr/u8-strncmp.c: Likewise.
62204         * lib/unistr/u8-strncpy.c: Likewise.
62205         * lib/unistr/u8-strnlen.c: Likewise.
62206         * lib/unistr/u8-strpbrk.c: Likewise.
62207         * lib/unistr/u8-strrchr.c: Likewise.
62208         * lib/unistr/u8-strspn.c: Likewise.
62209         * lib/unistr/u8-strstr.c: Likewise.
62210         * lib/unistr/u8-strtok.c: Likewise.
62211         * lib/unistr/u8-to-u16.c: Likewise.
62212         * lib/unistr/u8-to-u32.c: Likewise.
62213         * lib/unistr/u8-uctomb-aux.c: Likewise.
62214         * lib/unistr/u8-uctomb.c: Likewise.
62215         * lib/unitypes.h: Likewise.
62216         * lib/uniwidth.h: Likewise.
62217         * lib/uniwidth/cjk.h: Likewise.
62218         * lib/uniwidth/u16-strwidth.c: Likewise.
62219         * lib/uniwidth/u16-width.c: Likewise.
62220         * lib/uniwidth/u32-strwidth.c: Likewise.
62221         * lib/uniwidth/u32-width.c: Likewise.
62222         * lib/uniwidth/u8-strwidth.c: Likewise.
62223         * lib/uniwidth/u8-width.c: Likewise.
62224         * lib/uniwidth/width.c: Likewise.
62225
62226 2007-10-07  Bruno Haible  <bruno@clisp.org>
62227
62228         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
62229         The file is still under LGPL (see modules/inttypes).
62230
62231 2007-10-06  Bruno Haible  <bruno@clisp.org>
62232
62233         * modules/trunc (Dependencies): Add 'extensions'.
62234         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
62235         Reported by Ben Pfaff <blp@gnu.org>.
62236
62237 2007-10-06  Bruno Haible  <bruno@clisp.org>
62238
62239         * modules/freopen-tests: New file.
62240         * tests/test-freopen.c: New file.
62241
62242         * modules/fopen-tests: New file.
62243         * tests/test-fopen.c: New file.
62244
62245         * modules/fopen: New file.
62246         * lib/fopen.c: New file.
62247         * m4/fopen.m4: New file.
62248         * modules/freopen: New file.
62249         * lib/freopen.c: New file.
62250         * m4/freopen.m4: New file.
62251         * lib/stdio.in.h (fopen, freopen): New declarations.
62252         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
62253         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62254         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
62255         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
62256         * doc/functions/fopen.texi: Mention the 'fopen' module.
62257         * doc/functions/freopen.texi: Mention the 'freopen' module.
62258
62259 2007-10-06  Bruno Haible  <bruno@clisp.org>
62260
62261         * modules/open-tests: New file.
62262         * tests/test-open.c: New file.
62263
62264         * modules/open: New file.
62265         * lib/open.c: New file.
62266         * m4/open.m4: New file.
62267         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
62268         lib/open.c does.
62269         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
62270         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
62271         macros.
62272         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
62273         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
62274         REPLACE_OPEN.
62275         * doc/functions/open.texi: Mention the 'open' module.
62276
62277 2007-10-04  Bruno Haible  <bruno@clisp.org>
62278
62279         * modules/ceill-tests: New file.
62280         * tests/test-ceill.c: New file.
62281
62282         * modules/ceill: New file.
62283         * lib/ceill.c: Replace entire file.
62284         * m4/ceill.m4: New file.
62285         * lib/math.in.h (ceill): Replace declaration.
62286         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
62287         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
62288         * doc/functions/ceill.texi: Mention the 'ceill' module.
62289         * modules/mathl (Files): Remove lib/ceill.c.
62290         (Depends-on): Add ceill.
62291
62292 2007-10-04  Bruno Haible  <bruno@clisp.org>
62293
62294         * modules/ceilf-tests: New file.
62295         * tests/test-ceilf.c: New file.
62296
62297         * modules/ceilf: New file.
62298         * lib/ceil.c: New file.
62299         * lib/ceilf.c: New file.
62300         * m4/ceilf.m4: New file.
62301         * lib/math.in.h (ceilf): New declaration.
62302         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
62303         HAVE_DECL_CEILF.
62304         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
62305         HAVE_DECL_CEILF.
62306         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
62307
62308 2007-10-04  Bruno Haible  <bruno@clisp.org>
62309
62310         * modules/floorl-tests: New file.
62311         * tests/test-floorl.c: New file.
62312
62313         * modules/floorl: New file.
62314         * lib/floorl.c: Replace entire file.
62315         * m4/floorl.m4: New file.
62316         * lib/math.in.h (floorl): Replace declaration.
62317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
62318         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
62319         * doc/functions/floorl.texi: Mention the 'floorl' module.
62320         * modules/mathl (Files): Remove lib/floorl.c.
62321         (Depends-on): Add floorl.
62322
62323 2007-10-04  Bruno Haible  <bruno@clisp.org>
62324
62325         * modules/floorf-tests: New file.
62326         * tests/test-floorf.c: New file.
62327
62328         * modules/floorf: New file.
62329         * lib/floor.c: New file.
62330         * lib/floorf.c: New file.
62331         * m4/floorf.m4: New file.
62332         * lib/math.in.h (floorf): New declaration.
62333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
62334         HAVE_DECL_FLOORF.
62335         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
62336         HAVE_DECL_FLOORF.
62337         * doc/functions/floorf.texi: Mention the 'floorf' module.
62338
62339 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
62340             Bruno Haible  <bruno@clisp.org>
62341
62342         Advertise for the Git server instead of the CVS server.
62343         * doc/gnulib-intro.texi (Steady Development): Mention the Git
62344         repository instead of the CVS one.
62345         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
62346         about all VCS systems generically.
62347         * doc/gnulib.texi (Introduction): Capitalize `Git'.
62348
62349 2007-10-04  Bruno Haible  <bruno@clisp.org>
62350
62351         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
62352         means.
62353         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
62354
62355 2007-10-04  Bruno Haible  <bruno@clisp.org>
62356
62357         * modules/truncl-tests: New file.
62358         * tests/test-truncl.c: New file.
62359
62360         * modules/truncl: New file.
62361         * lib/truncl.c: New file.
62362         * m4/truncl.m4: New file.
62363         * lib/math.in.h (truncl): New declaration.
62364         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
62365         HAVE_DECL_TRUNCL.
62366         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
62367         HAVE_DECL_TRUNCL.
62368         * doc/functions/truncl.texi: Mention the 'truncl' module.
62369
62370 2007-10-04  Bruno Haible  <bruno@clisp.org>
62371
62372         * modules/truncf-tests: New file.
62373         * tests/test-truncf.c: New file.
62374
62375         * modules/truncf: New file.
62376         * lib/trunc.c: Make paramerizable through USE_* macros.
62377         * lib/truncf.c: New file.
62378         * m4/truncf.m4: New file.
62379         * lib/math.in.h (truncf): New declaration.
62380         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
62381         HAVE_DECL_TRUNCF.
62382         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
62383         HAVE_DECL_TRUNCF.
62384         * doc/functions/truncf.texi: Mention the 'truncf' module.
62385
62386 2007-10-03  Bruno Haible  <bruno@clisp.org>
62387
62388         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
62389         augmentation also for tests modules.
62390         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
62391         * modules/atexit-tests (Makefile.am): Likewise.
62392         * modules/binary-io-tests (Makefile.am): Likewise.
62393         * modules/c-strcase-tests (Makefile.am): Likewise.
62394         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
62395         * modules/canonicalize-tests (Makefile.am): Likewise.
62396         * modules/closein-tests (Makefile.am): Likewise.
62397         * modules/fprintf-posix-tests (Makefile.am): Likewise.
62398         * modules/freadahead-tests (Makefile.am): Likewise.
62399         * modules/fseek-tests (Makefile.am): Likewise.
62400         * modules/fseeko-tests (Makefile.am): Likewise.
62401         * modules/ftell-tests (Makefile.am): Likewise.
62402         * modules/ftello-tests (Makefile.am): Likewise.
62403         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
62404         * modules/isnanl-tests (Makefile.am): Likewise.
62405         * modules/lseek-tests (Makefile.am): Likewise.
62406         * modules/mbscasecmp-tests (Makefile.am): Likewise.
62407         * modules/mbscasestr-tests (Makefile.am): Likewise.
62408         * modules/mbschr-tests (Makefile.am): Likewise.
62409         * modules/mbscspn-tests (Makefile.am): Likewise.
62410         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
62411         * modules/mbspbrk-tests (Makefile.am): Likewise.
62412         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
62413         * modules/mbsrchr-tests (Makefile.am): Likewise.
62414         * modules/mbsspn-tests (Makefile.am): Likewise.
62415         * modules/mbsstr-tests (Makefile.am): Likewise.
62416         * modules/printf-posix-tests (Makefile.am): Likewise.
62417         * modules/snprintf-posix-tests (Makefile.am): Likewise.
62418         * modules/sprintf-posix-tests (Makefile.am): Likewise.
62419         * modules/tsearch-tests (Makefile.am): Likewise.
62420         * modules/uniname/uniname-tests (Makefile.am): Likewise.
62421         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
62422         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
62423         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
62424         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
62425         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
62426         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
62427         * modules/vprintf-posix-tests (Makefile.am): Likewise.
62428         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
62429         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
62430         * modules/xstrtoimax-tests (Makefile.am): Likewise.
62431         * modules/xstrtol-tests (Makefile.am): Likewise.
62432         * modules/xstrtoumax-tests (Makefile.am): Likewise.
62433         * modules/yesno-tests (Makefile.am): Likewise.
62434
62435 2007-10-03  Bruno Haible  <bruno@clisp.org>
62436
62437         * modules/trunc-tests: New file.
62438         * tests/test-trunc.c: New file.
62439
62440         * modules/trunc: New file.
62441         * lib/trunc.c: New file.
62442         * m4/trunc.m4: New file.
62443         * lib/math.in.h (trunc): New declaration.
62444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
62445         HAVE_DECL_TRUNC.
62446         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
62447         HAVE_DECL_TRUNC.
62448         * doc/functions/trunc.texi: Mention the 'trunc' module.
62449
62450 2007-10-03  Bruno Haible  <bruno@clisp.org>
62451
62452         * tests/test-fpending.c: New file, mostly copied
62453         from coreutils/lib/t-fpending.c.
62454         * modules/fpending-tests: New file.
62455
62456 2007-10-03  Bruno Haible  <bruno@clisp.org>
62457
62458         Port the stdio extensions to QNX (untested).
62459         * lib/fseterr.c (fseterr): Add support for QNX.
62460         * lib/fbufmode.c (fbufmode): Likewise.
62461         * lib/freadable.c (freadable): Likewise.
62462         * lib/fwritable.c (fwritable): Likewise.
62463         * lib/freading.c (freading): Likewise.
62464         * lib/fwriting.c (fwriting): Likewise.
62465         * lib/freadahead.c (freadahed): Likewise.
62466         * lib/fpurge.c (fpurge): Likewise.
62467         * lib/fseeko.c (rpl_fseeko): Likewise.
62468
62469 2007-10-03  Bruno Haible  <bruno@clisp.org>
62470             Jim Meyering  <jim@meyering.net>
62471             Eric Blake  <ebb9@byu.net>
62472
62473         * doc/relocatable.texi: Use @command instead of @program.
62474
62475 2007-10-02  Jim Meyering  <jim@meyering.net>
62476
62477         Perform one more "_.h" -> ".in.h" substitution.
62478         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
62479         instead of unistd_.h here, too.
62480
62481 2007-10-01  Bruno Haible  <bruno@clisp.org>
62482
62483         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
62484         Needed for the alloca-opt module.
62485
62486 2007-09-30  Bruno Haible  <bruno@clisp.org>
62487
62488         * lib/alloca.in.h: Renamed from lib/alloca_.h.
62489         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
62490         alloca_.h.
62491         * lib/argz.in.h: Renamed from lib/argz_.h.
62492         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
62493         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
62494         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
62495         byteswap_.h.
62496         * lib/dirent.in.h: Renamed from lib/dirent_.h.
62497         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
62498         dirent_.h.
62499         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
62500         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
62501         fcntl_.h.
62502         * lib/float.in.h: Renamed from lib/float_.h.
62503         * modules/float (Files, Makefile.am): Use float.in.h instead of
62504         float_.h.
62505         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
62506         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
62507         fnmatch_.h.
62508         * lib/getopt.in.h: Renamed from lib/getopt_.h.
62509         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
62510         getopt_.h.
62511         * lib/glob.in.h: Renamed from lib/glob_.h.
62512         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
62513         * lib/iconv.in.h: Renamed from lib/iconv_.h.
62514         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
62515         iconv_.h.
62516         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
62517         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
62518         inttypes_.h.
62519         * lib/locale.in.h: Renamed from lib/locale_.h.
62520         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
62521         locale_.h.
62522         * lib/math.in.h: Renamed from lib/math_.h.
62523         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
62524         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
62525         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
62526         of netinet_in_.h. Add dependency.
62527         * lib/poll.in.h: Renamed from lib/poll_.h.
62528         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
62529         * lib/search.in.h: Renamed from lib/search_.h.
62530         * modules/search (Files, Makefile.am): Use search.in.h instead of
62531         search_.h.
62532         * lib/signal.in.h: Renamed from lib/signal_.h.
62533         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
62534         _signal.h.
62535         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
62536         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
62537         stdbool_.h.
62538         * lib/stdint.in.h: Renamed from lib/stdint_.h.
62539         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
62540         stdint_.h.
62541         * lib/stdio.in.h: Renamed from lib/stdio_.h.
62542         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
62543         stdio_.h.
62544         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
62545         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
62546         stdlib_.h.
62547         * lib/string.in.h: Renamed from lib/string_.h.
62548         * modules/string (Files, Makefile.am): Use string.in.h instead of
62549         string_.h.
62550         * doc/gnulib-tool.texi (Initial import): Update.
62551         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
62552         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
62553         of sys_select_.h. Add dependency.
62554         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
62555         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
62556         of sys_socket_.h.
62557         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
62558         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
62559         sys_stat_.h.
62560         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
62561         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
62562         sys_time_.h.
62563         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
62564         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
62565         sysexits_.h.
62566         * lib/time.in.h: Renamed from lib/time_.h.
62567         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
62568         * lib/unistd.in.h: Renamed from lib/unistd_.h.
62569         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
62570         unistd_.h.
62571         * lib/wchar.in.h: Renamed from lib/wchar_.h.
62572         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
62573         wchar_.h.
62574         * lib/wctype.in.h: Renamed from lib/wctype_.h.
62575         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
62576         wctype_.h.
62577         * build-aux/bootstrap (slurp): Update.
62578         * lib/.cppi-disable: Update.
62579
62580 2007-09-30  Bruno Haible  <bruno@clisp.org>
62581
62582         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
62583         Needed on BeOS.
62584
62585 2007-09-30  Bruno Haible  <bruno@clisp.org>
62586
62587         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
62588
62589 2007-09-29  Bruno Haible  <bruno@clisp.org>
62590
62591         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
62592
62593 2007-09-29  Bruno Haible  <bruno@clisp.org>
62594
62595         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
62596         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
62597         * build-aux/install-reloc: Compile also areadlink.c.
62598         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
62599
62600 2007-09-29  Bruno Haible  <bruno@clisp.org>
62601
62602         * gnulib-tool (func_emit_initmacro_done): Indentation.
62603
62604 2007-09-29  Bruno Haible  <bruno@clisp.org>
62605
62606         * README: Add CVS checkout update instructions.
62607         Info from Bob Proulx <bob@proulx.com>.
62608
62609 2007-09-28  Eric Blake  <ebb9@byu.net>
62610
62611         Provide move-if-change.
62612         * build-aux/move-if-change: New file, based on best practice
62613         rather than any canonical upstream location.
62614
62615 2007-09-28  Jim Meyering  <jim@meyering.net>
62616
62617         Fix canonicalize loop-detection corner case.
62618         Do not attempt to stat the symlink values stored via seen_triple.
62619         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
62620         on linux-2.6.18, (but not 2.6.22).
62621         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
62622         triple_compare.  The former compares dev,ino,filename, while the latter
62623         would actually stat dirname(filename) when dev and ino were equal.
62624         * lib/hash-triple.c: Install <string.h>.
62625         (STREQ): Define.
62626         (triple_compare_ino_str): New function.
62627         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
62628
62629 2007-09-28  Eric Blake  <ebb9@byu.net>
62630
62631         Enforce that AC_REPLACE_FUNCS files exist.
62632         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
62633         override check for typos.
62634
62635         Fix test-closein on Solaris 10.
62636         * tests/test-closein.c (main): Don't assume stdin can be inherited
62637         closed on all systems.
62638         * tests/test-closein.sh: Likewise.
62639         Reported by Piotr Tarnowski.
62640
62641 2007-09-28  Jim Meyering  <jim@meyering.net>
62642
62643         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
62644
62645 2007-09-27  Jim Meyering  <jim@meyering.net>
62646
62647         canonicalize: Avoid a false-positive cycle failure.
62648         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
62649         Sort.  Remove cycle-check.
62650         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
62651         not cycle-check.h.
62652         (seen_triple): New function.
62653         (canonicalize_filename_mode): Use it instead of cycle-check.
62654         * tests/test-canonicalize.c: Add a test for this bug.
62655         * tests/test-canonicalize.sh: Set up and run the test.
62656
62657         New module, file-set, from coreutils.
62658         * modules/file-set: Define it.
62659         * lib/file-set.c, lib/file-set.h: Implement.
62660
62661         New module, hash-triple, from coreutils.
62662         * modules/hash-triple: Define it.
62663         * lib/hash-triple.c, lib/hash-triple.h: Implement.
62664
62665 2007-09-25  Eric Blake  <ebb9@byu.net>
62666
62667         Fix strerror on Interix.
62668         * lib/string_.h (strerror): Declare replacement.
62669         * doc/functions/strerror.texi (strerror): Document the Interix
62670         shortcoming.
62671         * modules/string (Makefile.am): Support new hooks.
62672         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
62673         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
62674         gl_FUNC_STRERROR_SEPARATE.
62675         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
62676         * lib/strerror.c (rpl_strerror): Provide replacement.
62677         * modules/strerror (Depends-on): Add string.
62678         (configure.ac): Detect use of module.
62679         * tests/test-strerror.c: New file.
62680         * modules/strerror-tests: New test module.
62681         * modules/argp (Depends-on): Add strerror.
62682         * modules/error (Depends-on): Likewise.
62683         Reported by Martin Koeppe.
62684
62685 2007-09-24  Bruno Haible  <bruno@clisp.org>
62686
62687         * README: Update git instructions.
62688
62689 2007-09-24  Eric Blake  <ebb9@byu.net>
62690
62691         Revert fpending breakage from 2007-09-08.
62692         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
62693         __fpending.c.
62694
62695 2007-09-24  Jim Meyering  <jim@meyering.net>
62696
62697         filenamecat.c: Add a test.
62698         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
62699         showing how the function works when DIR is the empty string.
62700
62701 2007-09-21  Simon Josefsson  <simon@josefsson.org>
62702
62703         * tests/test-canonicalize.sh: Turn on executable bit.
62704
62705 2007-09-19  Eric Blake  <ebb9@byu.net>
62706
62707         * README: Update CVS instructions.
62708
62709 2007-09-18  Bruno Haible  <bruno@clisp.org>
62710
62711         * modules/areadlink: New file.
62712         * lib/areadlink.h (areadlink): New declaration.
62713         * lib/areadlink.c: New file, based on lib/xreadlink.c.
62714
62715 2007-09-17  Jim Meyering  <jim@meyering.net>
62716
62717         * lib/savewd.c (ESTALE) [!defined]: Define.
62718         Reported to be required on Interix by Martin Koeppe.
62719
62720 2007-09-17  Bruno Haible  <bruno@clisp.org>
62721
62722         * gnulib-tool (func_version): Use $version.
62723
62724 2007-09-16  Bruno Haible  <bruno@clisp.org>
62725
62726         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
62727         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
62728         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
62729         Reported by Greg Schafer <gschafer@zip.com.au>.
62730
62731 2007-09-15  Bruno Haible  <bruno@clisp.org>
62732
62733         * gnulib-tool (sed): Try a little harder to make bash understand the
62734         alias.
62735         Reported by Bruce Korb <bruce.korb@gmail.com>.
62736
62737 2007-09-13  Eric Blake  <ebb9@byu.net>
62738
62739         * ChangeLog: Remove conflict markers.
62740
62741 2007-09-13  Simon Josefsson  <simon@josefsson.org>
62742
62743         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
62744         Reported by Bruno Haible <bruno@clisp.org>.
62745
62746 2007-09-12  Bruno Haible  <bruno@clisp.org>
62747
62748         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
62749         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
62750         is not defined.
62751
62752 2007-09-12  Eric Blake  <ebb9@byu.net>
62753
62754         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
62755         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
62756         Autoconf definition.
62757         * modules/euidaccess (Depends-on): Add extensions, for
62758         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
62759         * modules/fnmatch (Depends-on): Likewise.
62760         * modules/getaddrinfo (Depends-on): Likewise.
62761         * modules/getdelim (Depends-on): Likewise.
62762         * modules/getline (Depends-on): Likewise.
62763         * modules/getsubopt (Depends-on): Likewise.
62764         * modules/gettext (Depends-on): Likewise.
62765         * modules/group-member (Depends-on): Likewise.
62766         * modules/mbchar (Depends-on): Likewise.
62767         * modules/memmem (Depends-on): Likewise.
62768         * modules/mempcpy (Depends-on): Likewise.
62769         * modules/memrchr (Depends-on): Likewise.
62770         * modules/pagealign_alloc (Depends-on): Likewise.
62771         * modules/readutmp (Depends-on): Likewise.
62772         * modules/stpcpy (Depends-on): Likewise.
62773         * modules/stpncpy (Depends-on): Likewise.
62774         * modules/strchrnul (Depends-on): Likewise.
62775         * modules/strndup (Depends-on): Likewise.
62776         * modules/strsep (Depends-on): Likewise.
62777         * modules/strverscmp (Depends-on): Likewise.
62778         * modules/vasprintf (Depends-on): Likewise.
62779         * modules/wcwidth (Depends-on): Likewise.
62780         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
62781         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
62782         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
62783         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
62784         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62785         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62786         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
62787         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
62788         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
62789         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
62790         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62791         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
62792         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
62793         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
62794         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
62795         * m4/readutmp.m4 (gl_READUTMP): Likewise.
62796         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62797         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
62798         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62799         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
62800         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
62801         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
62802         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
62803         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
62804         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
62805         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62806         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
62807         so that lock.m4 can be used in gettext without extensions module.
62808
62809 2007-09-11  Bruno Haible  <bruno@clisp.org>
62810
62811         * m4/isc-posix.m4: Remove file.
62812         Suggested by Eric Blake.
62813
62814 2007-09-11  Eric Blake  <ebb9@byu.net>
62815
62816         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
62817
62818 2007-09-10  Bruno Haible  <bruno@clisp.org>
62819
62820         * posix-modules: Fix typo in error message.
62821         Reported by Matt <mkraai@beckman.com>.
62822
62823 2007-09-09  Bruno Haible  <bruno@clisp.org>
62824
62825         * doc/functions/getdelim.texi: Update list of platforms lacking the
62826         function.
62827         * doc/functions/getline.texi: Likewise.
62828
62829 2007-09-09  Jim Meyering  <jim@meyering.net>
62830
62831         * lib/hash.c (hash_initialize): Detect calloc failure.
62832         Reported by Bruno Haible.
62833
62834 2007-09-09  Bruno Haible  <bruno@clisp.org>
62835
62836         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
62837         malloc or realloc fails.
62838
62839 2007-09-09  Bruno Haible  <bruno@clisp.org>
62840
62841         * modules/getcwd (Depends-on): Add malloc-posix.
62842         * modules/glob (Depends-on): Likewise.
62843         * modules/putenv (Depends-on): Likewise.
62844         * modules/strdup (Depends-on): Likewise.
62845         * modules/getdelim (Depends-on): Add realloc-posix.
62846         * modules/read-file (Depends-on): Likewise.
62847
62848 2007-09-09  Bruno Haible  <bruno@clisp.org>
62849
62850         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
62851         (gl_FUNC_MALLOC_POSIX): Require it.
62852         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
62853         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
62854         * modules/realloc (Files): Add m4/malloc.m4.
62855         * modules/calloc (Files): Likewise.
62856
62857 2007-09-09  Bruno Haible  <bruno@clisp.org>
62858
62859         * modules/malloc-posix: New file.
62860         * modules/malloc (Depends-on): Add malloc-posix.
62861         * lib/malloc.c: Include errno.h.
62862         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
62863         and a POSIX-compatible malloc into a single function. Set ENOMEM
62864         when returning NULL.
62865         * m4/malloc.m4: New file.
62866         * doc/functions/malloc.texi: Mention the malloc-posix module.
62867         * lib/stdlib_.h (malloc): New declaration.
62868         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62869         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
62870         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
62871         and HAVE_MALLOC_POSIX.
62872
62873 2007-09-09  Bruno Haible  <bruno@clisp.org>
62874
62875         * modules/realloc-posix: New file.
62876         * modules/realloc (Depends-on): Add realloc-posix.
62877         * lib/realloc.c: Include errno.h.
62878         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
62879         and a POSIX-compatible realloc into a single function. Set ENOMEM
62880         when returning NULL.
62881         * m4/realloc.m4: New file.
62882         * doc/functions/realloc.texi: Mention the realloc-posix module.
62883         * lib/stdlib_.h (realloc): New declaration.
62884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62885         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
62886         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
62887         and HAVE_REALLOC_POSIX.
62888
62889 2007-09-09  Bruno Haible  <bruno@clisp.org>
62890
62891         * modules/calloc-posix: New file.
62892         * modules/calloc (Depends-on): Add calloc-posix.
62893         * lib/calloc.c: Include errno.h.
62894         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
62895         and a POSIX-compatible calloc into a single function. Set ENOMEM
62896         when returning NULL.
62897         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
62898         * doc/functions/calloc.texi: Mention the calloc-posix module.
62899         * lib/stdlib_.h (calloc): New declaration.
62900         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
62901         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
62902         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
62903         and HAVE_CALLOC_POSIX.
62904
62905 2007-09-09  Bruno Haible  <bruno@clisp.org>
62906
62907         Allow for modules to show an arbitrary notice.
62908         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
62909         * gnulib-tool: New option --extract-notice.
62910         (func_usage): Document it.
62911         (sed_extract_prog): Update.
62912         (func_get_notice): New function.
62913         (func_modules_notice): New function.
62914         (func_import, func_create_testdir): Invoke it.
62915         Suggested by Jim Meyering.
62916
62917 2007-09-09  Bruno Haible  <bruno@clisp.org>
62918
62919         * gnulib-tool: New options --verbose, --quiet.
62920         (func_usage): Document them.
62921         (verbose): New variable.
62922         (func_execute_command): New function.
62923         (func_import): Don't show the module list and the file list if
62924         $verbose < 0.
62925         (func_create_testdir): Likewise. Use func_execute_command.
62926         (func_create_megatestdir): Use func_execute_command.
62927
62928 2007-09-08  Bruno Haible  <bruno@clisp.org>
62929
62930         * gnulib-tool (func_import): Prefer rsync over wget when available,
62931         for fetching the PO files.
62932
62933 2007-09-08  Bruno Haible  <bruno@clisp.org>
62934
62935         * posix-modules: New file. Portions copied from gnulib-tool.
62936         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
62937
62938 2007-09-08  Jim Meyering  <jim@meyering.net>
62939
62940         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
62941         * lib/fpending.h: Rename from __fpending.h.
62942         * lib/fpending.c: Rename from __fpending.c.
62943         Include "fpending.h", not "__fpending.h".
62944         * lib/__fpending.h, lib/__fpending.c: Remove files.
62945         * modules/fpending (Files): Reflect new file names.
62946         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
62947
62948 2007-09-08  Bruno Haible  <bruno@clisp.org>
62949
62950         * m4/inttypes-h.m4: Remove stub file.
62951
62952 2007-09-07  Simon Josefsson  <simon@josefsson.org>
62953
62954         * doc/headers/stdint.texi: Discuss #include_next issue.
62955
62956 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62957
62958         * build-aux/bootstrap: Remove obsolete comment about wget --help.
62959
62960 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62961
62962         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
62963         in variable name.
62964
62965 2007-09-03  Jim Meyering  <jim@meyering.net>
62966
62967         New module: git-version-gen.
62968         * modules/git-version-gen: New file.
62969
62970         Import changes from coreutils for bootstrap script.
62971
62972         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
62973
62974         bootstrap: uses rsync to download the .po files
62975         * build-aux/bootstrap (po_download_command_format): New global.
62976         (download_po_files): Use rsync.
62977         (update_po_files): Don't remove .po files after download,
62978         so future rsync runs can take advantage of the copies.
62979
62980         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
62981
62982         Solve the unnecessary-.po-file-regeneration problem once and for all.
62983         * build-aux/bootstrap (download_po_files): New function, renamed from
62984         get_translations.  Now, downloads, but doesn't update LINGUAS.
62985         (update_po_files): New function.
62986
62987         bootstrap: Ignore more.
62988         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
62989         uniwidth to e.g., lib/.gitignore.
62990         (slurp): Handle the sys_stat_.h -> sys mapping, too.
62991
62992         * build-aux/bootstrap: New setting: vc_ignore.
62993         (insert_sorted_if_absent): Create $file if absent.
62994         Adapt to new, possibly empty, list: $vc_ignore.
62995
62996         bootstrap: generate more ignorable names
62997         * build-aux/bootstrap (slurp): When generating ignorable names,
62998         also map .sin to .sed, .gperf to .c, and .y to .c.
62999
63000 2007-09-03  Jim Meyering  <jim@meyering.net>
63001
63002         * build-aux/git-version-gen: New file, from coreutils.  For details, see
63003         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
63004
63005 2007-09-02  Bruno Haible  <bruno@clisp.org>
63006
63007         Fix mis-recognition of 'mcs' on QNX 6.
63008         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
63009         output contains the string "Mono".
63010         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
63011         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
63012
63013 2007-09-01  Bruno Haible  <bruno@clisp.org>
63014
63015         Fix collision between uniwidth/* and linebreak modules.
63016         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
63017         u32_width): Remove declarations.
63018         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
63019         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
63020         streq3, streq2, streq1, streq0): Remove functions.
63021         (STREQ): Remove macro.
63022         (is_cjk_encoding): Remove function.
63023         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
63024         (uc_width, u8_width, u16_width, u32_width): Remove functions.
63025         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
63026         * NEWS: Document the change.
63027
63028 2007-09-01  Bruno Haible  <bruno@clisp.org>
63029
63030         * lib/streq.h: Add double-inclusion guard.
63031
63032 2007-09-01  Karl Berry  <karl@gnu.org>
63033
63034         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
63035
63036 2007-08-28  Jim Meyering  <jim@meyering.net>
63037
63038         Rename mreadlink_with_size to areadlink_with_size.
63039         * NEWS: Document the change.
63040         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
63041         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
63042         * lib/mreadlink.h: Rename this to...
63043         * lib/areadlink.h: ...this.
63044         * modules/mreadlink-with-size: Rename this to...
63045         * modules/areadlink-with-size: ...this.
63046         * lib/canonicalize.c: Reflect the renaming.
63047         * modules/canonicalize: Likewise.
63048
63049 2007-08-26  Bruno Haible  <bruno@clisp.org>
63050
63051         * gnulib-tool (func_import): When deciding which files to remove,
63052         consider also dangling symbolic links.
63053         Reported by Eric Blake.
63054
63055 2007-08-26  Bruno Haible  <bruno@clisp.org>
63056
63057         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
63058
63059 2007-08-23  Simon Josefsson  <simon@josefsson.org>
63060
63061         * lib/readline.c: Don't include getline.h, the prototype is now
63062         found in stdio.h.
63063
63064 2007-08-23  Jim Meyering  <jim@meyering.net>
63065
63066         Getdelim touchup.
63067         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
63068         around the funlockfile call, since funlockfile never sets errno.
63069         Don't set errno upon failed realloc.
63070
63071 2007-08-22  Eric Blake  <ebb9@byu.net>
63072
63073         Getline touchups.
63074         * lib/getdelim.c (getdelim): Revert regression that required *n to
63075         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
63076         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
63077         getdelim, rather than whether implementation is missing.
63078         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
63079         * lib/stdio_.h (getline): Also declare if replacement is
63080         required.
63081         * doc/functions/getdelim.texi: New file.
63082         * doc/functions/getline.texi: Likewise.
63083         * doc/gnulib.texi (Function Substitutes): Add new files.
63084         Reported by Bruno Haible.
63085
63086 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
63087
63088         * users.txt: Add Guile.
63089
63090 2007-08-22  Eric Blake  <ebb9@byu.net>
63091
63092         * tests/test-getdelim.c (main): Use remove, not unlink.
63093         * tests/test-getline.c (main): Likewise.
63094
63095         Move getline and getdelim into stdio.h, per POSIX 200x.
63096         * modules/getline (Files): Remove getline.h.
63097         (Depends-on): Add stdio.
63098         (configure.ac): Add module indicator.
63099         * modules/getdelim (Files): Remove getdelim.h.
63100         (Depends-on): Add stdio.
63101         (configure.ac): Add module indicator.
63102         * modules/stdio (Makefile.am): Work with new indicators.
63103         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63104         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
63105         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63106         * lib/getdelim.h: Delete.
63107         * lib/getline.h: Delete.
63108         * lib/stdio_.h (getdelim, getline): Declare.
63109         * modules/getdelim-tests: New module.
63110         * modules/getline-tests: Likewise.
63111         * tests/test-getdelim.c: New file.
63112         * tests/test-getline.c: Likewise.
63113         * NEWS: Document the change.
63114         * lib/getline.c: Update choice of header.
63115         * lib/csharpcomp.c: Likewise.
63116         * lib/getpass.c: Likewise.
63117         * lib/javacomp.c: Likewise.
63118         * lib/javaversion.c: Likewise.
63119         * lib/yesno.c: Likewise.
63120         * lib/getdelim.c: Likewise.
63121         (getdelim): Set errno on failure, and avoid memory leak.
63122
63123 2007-08-19  Bruno Haible  <bruno@clisp.org>
63124
63125         * modules/closein (Depends-on): Add freadahead.
63126         * lib/closein.c: Include freadahead.h.
63127         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
63128         is zero.
63129
63130 2007-08-19  Bruno Haible  <bruno@clisp.org>
63131
63132         * modules/freadahead-tests: New file.
63133         * tests/test-freadahead.sh: New file.
63134         * tests/test-freadahead.c: New file.
63135
63136         * modules/freadahead: New file.
63137         * lib/freadahead.h: New file.
63138         * lib/freadahead.c: New file.
63139         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
63140         fbufmode, fpurge, freadable, fwritable.
63141
63142 2007-08-19  Eric Blake  <ebb9@byu.net>
63143
63144         Test yesno in combination with closein.
63145         * lib/yesno.c (yesno): Document use of stdin.
63146         * modules/yesno-tests (Files): New module.
63147         * tests/test-yesno.c (main): New file.
63148         * tests/test-yesno.sh: Likewise.
63149
63150 2007-08-19  Bruno Haible  <bruno@clisp.org>
63151
63152         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
63153         * lib/fseeko.c (rpl_fseeko): Likewise.
63154         * lib/fseterr.c (fseterr): Likewise.
63155
63156 2007-08-19  Bruno Haible  <bruno@clisp.org>
63157
63158         * tests/test-lseek.c (main): Disable a test for BeOS.
63159         * doc/functions/lseek.texi: Document the BeOS bug.
63160
63161 2007-08-19  Bruno Haible  <bruno@clisp.org>
63162             Eric Blake  <ebb9@byu.net>
63163
63164         * lib/lseek.c: Include <sys/stat.h>.
63165         (rpl_lseek): Add workaround code also for Unix platforms.
63166         Needed for BeOS.
63167         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
63168         * doc/functions/lseek.texi: Document BeOS definiency.
63169
63170 2007-08-18  Bruno Haible  <bruno@clisp.org>
63171
63172         * modules/fstrcmp-tests: New file.
63173         * tests/test-fstrcmp.c: New file.
63174
63175 2007-08-18  Bruno Haible  <bruno@clisp.org>
63176
63177         * modules/fstrcmp: New file, from GNU gettext with modifications.
63178         * lib/fstrcmp.h: New file, from GNU gettext.
63179         * lib/fstrcmp.c: New file, from GNU gettext.
63180         * MODULES.html.sh (String handling): Add fstrcmp.
63181
63182 2007-08-18  Bruno Haible  <bruno@clisp.org>
63183
63184         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
63185         'bool'.
63186         (diag, compareseq): Remove const from the ctxt argument.
63187         (USE_HEURISTIC): Undefine at the end.
63188
63189 2007-08-18  Jim Meyering  <jim@meyering.net>
63190
63191         New file: lib/idcache.h
63192         * NEWS: Mention the addition.
63193         * modules/idcache (Files): Add lib/idcache.h
63194         * lib/idcache.c: Include "idcache.h".
63195         Don't include <sys/types.h>.
63196         Add a FIXME comment.
63197         Move file-scoped "static" declarations to the top.
63198         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
63199
63200 2007-08-17  Bruno Haible  <bruno@clisp.org>
63201         and Paul Eggert  <eggert@cs.ucla.edu>
63202
63203         * MODULES.html.sh: Add diffseq.
63204         * modules/diffseq: New file.
63205         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
63206         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
63207
63208 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63209
63210         Import changes from coreutils for bootstrap script.
63211
63212         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
63213
63214         * build-aux/bootstrap (slurp): Work even in environments where
63215         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
63216         current code does not slurp files whose names start with ".", and
63217         this looks like it might be a troublesome area.
63218
63219         2007-07-11  Jim Meyering  <jim@meyering.net>
63220
63221         If there's a GPL vN copyright comment, require that N == 3.
63222
63223         2007-07-08  Jim Meyering  <jim@meyering.net>
63224
63225         Run the coreutils-specific code only if tests/Makefile.am.in exists.
63226         * build-aux/bootstrap (mam_template): Move definition out of loop.
63227
63228         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
63229
63230         * build-aux/bootstrap (symlink_to_dir): Rename function from
63231         symlink_to_gnulib.  Add a directory parameter.  Update all
63232         callers.
63233         (cp_mark_as_generated): Also check for -- and link to -- files in
63234         gl/.
63235
63236         2007-07-08  Jim Meyering  <jim@meyering.net>
63237
63238         Adapt to deeper hierarchy in gnulib.
63239         * build-aux/bootstrap (symlink_to_dir): If the destination
63240         directory doesn't exist, create it. This is required at least for
63241         "lib/uniwidth/cjk.h".
63242
63243         2007-05-15  Jim Meyering  <jim@meyering.net>
63244
63245         * build-aux/bootstrap: Now that generated Makefile.am files
63246         are no longer under version control, they must be created at
63247         bootstrap time.
63248
63249 2007-08-14  Ben Pfaff  <blp@gnu.org>
63250
63251         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
63252
63253 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63254
63255         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
63256         given the changes below.
63257         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
63258         even on hosts that have padding bits beyond the supported 64.
63259
63260 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63261
63262         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
63263         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
63264         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
63265         depends on it.
63266         (xstrtol_error): Remove.
63267         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
63268         but with a different signature.
63269         (ATTRIBUTE_NORETURN, __attribute__): New macros.
63270         * lib/xstrtol-error.c: Include exitfail.h.
63271         (xstrtol_fatal): New function, with a different signature from the
63272         old xstrtol_error, so that the caller need not worry about passing
63273         in an exit status, or about storage management of the option argument.
63274         (xstrtol_error): Now a static function.  Redo signature to
63275         implement xstrtol_fatal.  Output the correct number of hyphens in
63276         front of the option so that the caller need not worry about
63277         storage management.
63278         (N_): New macro.
63279         (_): Remove; not used now.
63280         * modules/xstrtol: Depend on getopt.
63281         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
63282         of old STRTOL_FATAL_ERROR macro.
63283         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
63284         of test program.
63285         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
63286         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
63287
63288 2007-08-08  Eric Blake  <ebb9@byu.net>
63289
63290         * lib/xstrtol-error.c: Add missing include.
63291
63292         Move xstrtol messages into gnulib domain, when --pobase is used.
63293         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
63294         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
63295         * modules/xstrtol (Files): Distribute new file.
63296         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
63297         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
63298         * tests/test-xstrtol.c: ...into new file.
63299         * tests/test-xstrtoul.c: Also test xstrtoul.
63300         * tests/test-xstrtoimax.c: Also test xstrtoimax.
63301         * tests/test-xstrtoumax.c: Also test xstrtoumax.
63302         * tests/test-xstrtol.sh: Drive the tests.
63303         * tests/test-xstrtoimax.sh: Likewise.
63304         * tests/test-xstrtoumax.sh: Likewise.
63305         * modules/xstrtol-tests: New module.
63306         * modules/xstrtoimax-tests: Likewise.
63307         * modules/xstrtoumax-tests: Likewise.
63308
63309 2007-08-08  Jim Meyering  <jim@meyering.net>
63310
63311         New function: mfile_name_concat.
63312         * lib/filenamecat.c (mfile_name_concat): New function, just like
63313         file_name_concat, but return NULL upon failure rather than exiting
63314         with a diagnostic.
63315         * lib/filenamecat.h: Declare it.
63316
63317 2007-08-07  Bruno Haible  <bruno@clisp.org>
63318
63319         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
63320         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
63321         warning from gcc.
63322         Reported by Eric Blake.
63323
63324 2007-08-07  Simon Josefsson  <simon@josefsson.org>
63325
63326         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
63327         * modules/crypto/arcfour (License): Likewise.
63328         * modules/crypto/des-tests (License): Likewise.
63329         * modules/crypto/gc-arctwo-tests (License): Likewise.
63330         * modules/crypto/gc-des-tests (License): Likewise.
63331         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
63332         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
63333         * modules/crypto/gc-md2-tests (License): Likewise.
63334         * modules/crypto/gc-md4-tests (License): Likewise.
63335         * modules/crypto/gc-md5-tests (License): Likewise.
63336         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
63337         * modules/crypto/gc-rijndael-tests (License): Likewise.
63338         * modules/crypto/gc-sha1-tests (License): Likewise.
63339         * modules/crypto/gc-tests (License): Likewise.
63340         * modules/crypto/hmac-md5 (License): Likewise.
63341         * modules/crypto/hmac-sha1 (License): Likewise.
63342         * modules/crypto/md2-tests (License): Likewise.
63343         * modules/crypto/md4-tests (License): Likewise.
63344         * modules/crypto/md5 (License): Likewise.
63345         * modules/crypto/rijndael (License): Likewise.
63346         * modules/crypto/sha1 (License): Likewise.
63347         * modules/memxor (License): Likewise.
63348
63349 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63350         and Bruno Haible  <bruno@clisp.org>
63351
63352         * NEWS: Describe interface changes to human, xstrtol.
63353         * lib/human.h: Include <xstrtol.h>.
63354         (human_options): Return enum strtol_error, not int.  Remove
63355         bool arg; take int * instead.
63356         * lib/human.c: Don't include "gettext.h".
63357         (_): Remove; no longer used.
63358         Don't include <xstrtol.h>, since human.h does it.
63359         (human_options): Adjust to abovementioned interface changes.
63360         Do not report error to stderr; that's now the caller's
63361         responsibility.
63362         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
63363         interface change.
63364         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
63365         Str, Argument_type_string.  All uses changed.  Put " argument"
63366         in diagnostics to make them clearer.  Change wording of suffix
63367         message for clarity.
63368         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
63369         Argument_type_string.
63370         (STRTOL_FATAL_WARN): Remove; no longer used.
63371         * modules/human (Depends-on): Remove gettext-h.
63372
63373 2007-08-06  Simon Josefsson  <simon@josefsson.org>
63374
63375         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
63376
63377 2007-07-31  Bruno Haible  <bruno@clisp.org>
63378
63379         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
63380         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
63381         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
63382
63383 2007-07-31  Bruno Haible  <bruno@clisp.org>
63384
63385         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
63386         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
63387
63388 2007-07-30  Bruno Haible  <bruno@clisp.org>
63389
63390         * modules/base64 (License): Use the synonymous term "LGPLv2+".
63391         * modules/c-ctype (License): Likewise.
63392         * modules/c-strcase (License): Likewise.
63393         * modules/check-version (License): Likewise.
63394         * modules/iconv (License): Likewise.
63395         * modules/iconv_open (License): Likewise.
63396         * modules/read-file (License): Likewise.
63397         * modules/striconv (License): Likewise.
63398         * modules/strverscmp (License): Likewise.
63399         * modules/vasprintf (License): Likewise.
63400         * modules/crypto/des (License): Likewise.
63401         * modules/crypto/gc (License): Likewise.
63402         * modules/crypto/gc-arcfour (License): Likewise.
63403         * modules/crypto/gc-arctwo (License): Likewise.
63404         * modules/crypto/gc-des (License): Likewise.
63405         * modules/crypto/gc-hmac-md5 (License): Likewise.
63406         * modules/crypto/gc-hmac-sha1 (License): Likewise.
63407         * modules/crypto/gc-md2 (License): Likewise.
63408         * modules/crypto/gc-md4 (License): Likewise.
63409         * modules/crypto/gc-md5 (License): Likewise.
63410         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
63411         * modules/crypto/gc-random (License): Likewise.
63412         * modules/crypto/gc-rijndael (License): Likewise.
63413         * modules/crypto/gc-sha1 (License): Likewise.
63414         * modules/crypto/md2 (License): Likewise.
63415         * modules/crypto/md4 (License): Likewise.
63416
63417 2007-07-30  Jim Meyering  <jim@meyering.net>
63418
63419         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
63420         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
63421         it has valid stat data.  This bug would cause du not to count the
63422         sizes of inaccessible directories.
63423         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
63424         in <http://bugzilla.redhat.com/250077>.
63425
63426 2007-07-25  Peter O'Gorman  <peter@pogma.com>
63427             Bruno Haible  <bruno@clisp.org>
63428
63429         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
63430         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
63431         #include_next, gives a diagnostic about it, but reports no error in
63432         the exit code.
63433         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
63434
63435 2007-07-24  Ben Pfaff  <blp@gnu.org>
63436
63437         Improve name: "count-one-bits" is better than "popcount".
63438         * MODULES.html.sh: Update name.
63439         * lib/popcount.h: Renamed lib/count-one-bits.h.
63440         (popcount): Renamed count_one_bits.
63441         (popcountl): Renamed count_one_bits_l.
63442         (popcountll): Renamed count_one_bits_ll.
63443         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
63444         * modules/popcount: Renamed module/count-one-bits.
63445         * modules/popcount-tests: Renamed module/count-one-bits-tests.
63446         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
63447
63448 2007-07-23  Ben Pfaff  <blp@gnu.org>
63449
63450         * lib/popcount.h (popcount32): Reduce size of constants, to allow
63451         better code generation, and add U to large constants to avoid
63452         warnings, in non-GCC case.
63453         Suggested by Bruno Haible.
63454
63455 2007-07-23  Ben Pfaff  <blp@gnu.org>
63456
63457         * lib/popcount.h: Use verify_true instead of if...abort.
63458         * modules/popcount: Depend on verify module.
63459         Suggested by Jim Meyering.
63460
63461 2007-07-23  Bruno Haible  <bruno@clisp.org>
63462
63463         * gnulib-tool (func_import): Create a .cvsignore file also when the
63464         directory is not yet in CVS but the toplevel directory is. When
63465         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
63466         Reported by Karl Berry.
63467
63468 2007-07-22  Ben Pfaff  <blp@gnu.org>
63469
63470         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
63471         case.
63472         Suggested by Eric Blake.
63473
63474 2007-07-22  Ben Pfaff  <blp@gnu.org>
63475
63476         New module: popcount.
63477         * MODULES.html.sh: Add popcount.
63478         * modules/popcount: New file.
63479         * modules/popcount-tests: New file.
63480         * tests/test-popcount.c: New file.
63481         * lib/popcount.h: New file.
63482         * m4/popcount.m4: New file.
63483
63484 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
63485
63486         * build-aux/announce-gen: Update to GPLv3.
63487
63488         * build-aux/config.guess: Update from config.
63489
63490 2007-07-21  Bruno Haible  <bruno@clisp.org>
63491
63492         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
63493         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
63494
63495 2007-07-20  Jim Meyering  <jim@meyering.net>
63496
63497         * check-module: Diagnose a self-dependency.
63498
63499 2007-07-19  Bruno Haible  <bruno@clisp.org>
63500
63501         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
63502         empty.
63503         Reported by Eric Blake.
63504
63505 2007-07-18  Bruno Haible  <bruno@clisp.org>
63506
63507         * gnulib-tool: New options --po-base, --po-domain.
63508         (func_usage): Document them.
63509         (pobase, po_domain): New variables.
63510         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
63511         DEFAULT_TEXT_DOMAIN.
63512         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
63513         (func_import): Consider pobase and po_domain. Create a po/ directory.
63514         (func_create_testdir): Set pobase and po_domain to empty.
63515         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
63516         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
63517
63518 2007-07-18  Bruno Haible  <bruno@clisp.org>
63519
63520         * gnulib-tool (func_get_automake_snippet): Synthesize also an
63521         EXTRA_DIST augmentation for files in build-aux/.
63522
63523 2007-07-16  Bruno Haible  <bruno@clisp.org>
63524
63525         * modules/lseek (License): Use the synonymous term "LGPLv2+".
63526         * modules/getdelim (License): Likewise.
63527
63528 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63529
63530         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
63531         * modules/d-type (License): Likewise.
63532         * modules/extensions (License): Likewise.
63533         * modules/fnmatch (License): Likewise.
63534         * modules/fseeko (License): Likewise.
63535         * modules/getaddrinfo (License): Likewise.
63536         * modules/getline (License): Likewise.
63537         * modules/getlogin_r (License): Likewise.
63538         * modules/getpass (License): Likewise.
63539         * modules/gettimeofday (License): Likewise.
63540         * modules/glob (License): Likewise.
63541         * modules/inet_ntop (License): Likewise.
63542         * modules/malloc (License): Likewise.
63543         * modules/malloca (License): Likewise.
63544         * modules/memmem (License): Likewise.
63545         * modules/mempcpy (License): Likewise.
63546         * modules/memset (License): Likewise.
63547         * modules/minmax (License): Likewise.
63548         * modules/mktime (License): Likewise.
63549         * modules/netinet_in (License): Likewise.
63550         * modules/pathmax (License): Likewise.
63551         * modules/poll (License): Likewise.
63552         * modules/regex (License): Likewise.
63553         * modules/snprintf (License): Likewise.
63554         * modules/stdbool (License): Likewise.
63555         * modules/stdint (License): Likewise.
63556         * modules/stdio (License): Likewise.
63557         * modules/strcase (License): Likewise.
63558         * modules/strcasestr (License): Likewise.
63559         * modules/strdup (License): Likewise.
63560         * modules/string (License): Likewise.
63561         * modules/strndup (License): Likewise.
63562         * modules/strnlen (License): Likewise.
63563         * modules/strpbrk (License): Likewise.
63564         * modules/strptime (License): Likewise.
63565         * modules/strsep (License): Likewise.
63566         * modules/sys_select (License): Likewise.
63567         * modules/sys_socket (License): Likewise.
63568         * modules/sys_stat (License): Likewise.
63569         * modules/sys_time (License): Likewise.
63570         * modules/time (License): Likewise.
63571         * modules/time_r (License): Likewise.
63572         * modules/timegm (License): Likewise.
63573         * modules/unistd (License): Likewise.
63574         * modules/vsnprintf (License): Likewise.
63575         * modules/wctype (License): Likewise.
63576
63577 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63578
63579         * modules/argz (License): LGPLv2+.
63580
63581 2007-07-15  Karl Berry  <karl@gnu.org>
63582
63583         * doc/gnulib.texi: revise node structure per new fdl.texi.
63584
63585 2007-07-14  Bruno Haible  <bruno@clisp.org>
63586
63587         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
63588         the output file.
63589         * lib/uniname/uninames.h: Regenerated.
63590
63591 2007-07-14  Karl Berry  <karl@gnu.org>
63592
63593         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
63594         omitting sectioning and index commands.
63595
63596 2007-07-13  Bruno Haible  <bruno@clisp.org>
63597
63598         New gnulib-tool option --more-symlinks.
63599         * gnulib-tool (func_usage): Document --more-symlinks.
63600         (do_copyrights): New variable.
63601         Recognize option --more-symlinks.
63602         (func_import): Don't add a copyright notice transform to
63603         sed_transform_lib_file if do_copyrights is empty.
63604
63605 2007-07-13  Bruno Haible  <bruno@clisp.org>
63606
63607         * lib/vasnprintf.c (decimal_point_char): Define also if
63608         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
63609         && !NEED_PRINTF_DIRECTIVE_A.
63610         Reported by Clemens Koller <clemens.koller@anagramm.de> via
63611         Gary V. Vaughan <gary@gnu.org>.
63612
63613 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
63614
63615         * lib/inttypes_.h: Undo previous change, since it was fixed
63616         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
63617
63618 2007-07-13  Bruno Haible  <bruno@clisp.org>
63619
63620         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
63621         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
63622
63623 2007-07-13  Jim Meyering  <jim@meyering.net>
63624
63625         df: Don't fail for Tru64's "file-on-file mount".
63626         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
63627         so we fall through and use statfs instead.  Details here:
63628         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
63629         Reported by Albert Chin.
63630
63631 2007-07-13  Bruno Haible  <bruno@clisp.org>
63632
63633         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
63634         * modules/configmake (License): Likewise.
63635         * modules/gettext (License): Likewise.
63636         * modules/gettext-h (License): Likewise.
63637         * modules/include_next (License): Likewise.
63638         * modules/link-warning (License): Likewise.
63639         * modules/localcharset (License): Likewise.
63640         * modules/localename (License): Likewise.
63641         * modules/lock (License): Likewise.
63642         * modules/relocatable-lib-lgpl (License): Likewise.
63643         * modules/size_max (License): Likewise.
63644         * modules/vasnprintf (License): Likewise.
63645         * modules/wchar (License): Likewise.
63646         * modules/xsize (License): Likewise.
63647
63648 2007-07-13  Bruno Haible  <bruno@clisp.org>
63649
63650         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
63651         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
63652
63653 2007-07-12  Bruno Haible  <bruno@clisp.org>
63654
63655         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
63656         in the modules files.
63657
63658 2007-07-11  Karl Berry  <karl@gnu.org>
63659
63660         * MODULES.html.sh (func_module): use
63661          sed -e '\|^'"${includefile}"'$|d'
63662          instead of /.../d, to avoid errors on $includefile's containing /.
63663
63664 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63665
63666         * gnulib-tool (func_import): Avoid duplication of --avoid
63667         statements
63668         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
63669         names to `_' in variable names.
63670
63671 2007-07-10  Eric Blake  <ebb9@byu.net>
63672
63673         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
63674         * NEWS: Document this change.
63675
63676 2007-07-08  Bruno Haible  <bruno@clisp.org>
63677
63678         Update to Unicode 5.0.
63679         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
63680         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
63681         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
63682         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
63683         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
63684         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
63685         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
63686         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
63687         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
63688         U+10A3F, U+1D242..U+1D244.
63689         (nonspacing_table_ind): Update.
63690         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
63691         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
63692
63693 2007-07-08  Bruno Haible  <bruno@clisp.org>
63694
63695         Update to Unicode 5.0.
63696         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
63697         code transform. Extend the name index field of unicode_name_to_code and
63698         unicode_code_to_name from 16 to 24 bits.
63699         * lib/uniname/uniname.c (unicode_character_name,
63700         unicode_name_character): Add the range 0x12xxx to the code transform.
63701         * lib/uniname/uninames.h: Regenerated.
63702         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
63703
63704 2007-07-07  Bruno Haible  <bruno@clisp.org>
63705
63706         * modules/wcwidth-tests: New file.
63707         * tests/test-wcwidth.c: New file.
63708
63709         Work around MacOS X wcwidth() bug.
63710         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
63711         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
63712         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
63713         original wcwidth in non-UTF-8 locales.
63714         * modules/wcwidth (Depends-on): Add localcharset, streq,
63715         uniwidth/width.
63716         * doc/functions/wcwidth.texi: Update.
63717
63718 2007-07-07  Bruno Haible  <bruno@clisp.org>
63719
63720         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
63721         (wcwidth): New declaration.
63722         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
63723         macros.
63724         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
63725         here. Prepare for creating <wchar.h> unconditionally.
63726         * modules/wchar (Depends-on): Add link-warning.
63727         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
63728         REPLACE_WCWIDTH, and GL_LINK_WARNING.
63729         * lib/wcwidth.h: Remove file.
63730         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
63731         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
63732         * modules/wcwidth (Files): Remove lib/wcwidth.h.
63733         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
63734         (Include): Replace wcwidth.h with <wchar.h>.
63735         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
63736         * lib/mbchar.h: Don't include wcwidth.h.
63737         * lib/mbswidth.c: Likewise.
63738         * NEWS: Mention the change.
63739
63740 2007-07-07  Bruno Haible  <bruno@clisp.org>
63741
63742         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
63743         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
63744         definition with an external declaration.
63745         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
63746         defined as a function. Remove AC_C_INLINE requirement.
63747         * modules/wcwidth (Files): Add lib/wcwidth.c.
63748         (Makefile.am): Remove redundant statement.
63749
63750 2007-07-07  Bruno Haible  <bruno@clisp.org>
63751
63752         * MODULES.html.sh (Unicode string functions): Add the new modules.
63753
63754         * tests/uniwidth/test-u32-strwidth.c: New file.
63755         * modules/uniwidth/u32-strwidth-tests: New file.
63756
63757         * lib/uniwidth/u32-strwidth.c: New file.
63758         * modules/uniwidth/u32-strwidth: New file.
63759
63760         * tests/uniwidth/test-u16-strwidth.c: New file.
63761         * modules/uniwidth/u16-strwidth-tests: New file.
63762
63763         * lib/uniwidth/u16-strwidth.c: New file.
63764         * modules/uniwidth/u16-strwidth: New file.
63765
63766         * tests/uniwidth/test-u8-strwidth.c: New file.
63767         * modules/uniwidth/u8-strwidth-tests: New file.
63768
63769         * lib/uniwidth/u8-strwidth.c: New file.
63770         * modules/uniwidth/u8-strwidth: New file.
63771
63772         * tests/uniwidth/test-u32-width.c: New file.
63773         * modules/uniwidth/u32-width-tests: New file.
63774
63775         * lib/uniwidth/u32-width.c: New file.
63776         * modules/uniwidth/u32-width: New file.
63777
63778         * tests/uniwidth/test-u16-width.c: New file.
63779         * modules/uniwidth/u16-width-tests: New file.
63780
63781         * lib/uniwidth/u16-width.c: New file.
63782         * modules/uniwidth/u16-width: New file.
63783
63784         * tests/uniwidth/test-u8-width.c: New file.
63785         * modules/uniwidth/u8-width-tests: New file.
63786
63787         * lib/uniwidth/u8-width.c: New file.
63788         * modules/uniwidth/u8-width: New file.
63789
63790         * tests/uniwidth/test-uc_width.c: New file.
63791         * modules/uniwidth/width-tests: New file.
63792
63793         * lib/uniwidth/width.c: New file, from GNU libiconv.
63794         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
63795         * modules/uniwidth/width: New file.
63796
63797         * lib/uniwidth.h: New file, from GNU libiconv.
63798         * modules/uniwidth/base: New file.
63799
63800 2007-07-07  Bruno Haible  <bruno@clisp.org>
63801
63802         * lib/uniname.h: New file, from GNU gettext.
63803         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
63804         * lib/uniname/uninames.h: New file, from GNU gettext.
63805         * lib/uniname/uniname.c: New file, from GNU gettext.
63806         * tests/uniname/test-uninames.sh: New file.
63807         * tests/uniname/test-uninames.c: New file, from GNU gettext.
63808         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
63809         * modules/uniname/base: New file.
63810         * modules/uniname/uniname: New file.
63811         * modules/uniname/uniname-tests: New file.
63812         * MODULES.html.sh (Unicode string functions): Add the new modules.
63813
63814 2007-07-06  Bruno Haible  <bruno@clisp.org>
63815
63816         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
63817
63818 2007-07-06  Bruno Haible  <bruno@clisp.org>
63819
63820         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
63821         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
63822         includes <cygwin/sys_time.h> which includes <sys/select.h> which
63823         include <sys/time.h>.
63824         Reported by Eric Blake.
63825
63826 2007-07-06  Eric Blake  <ebb9@byu.net>
63827
63828         Fix testing canonicalize on cygwin.
63829         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
63830         Revert patch from 2007-06-19.
63831         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
63832         canonicalize module is also in use.
63833         * tests/test-canonicalize.c: New file.
63834         * tests/test-canonicalize.sh: Likewise.
63835         * modules/canonicalize-tests: Likewise.
63836
63837 2007-07-06  Jim Meyering  <jim@meyering.net>
63838
63839         * lib/getugroups.c (getugroups): Detect getgrent failure.
63840         Adjust comment to reflect reality: this function may return -1.
63841
63842 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
63843
63844         * build-aux/bootstrap (TP_URL,get_translations): Update to use
63845         the new TP address.
63846         (usage): Fix typo
63847         (gnulib_mk): New variable.
63848
63849 2007-07-05  Jim Meyering  <jim@meyering.net>
63850
63851         Don't let endgrent clobber errno, no matter how improbable.
63852         * lib/getugroups.c (getugroups): Save and restore errno around
63853         endgrent call.
63854
63855         Close the group DB even when failing with 2^31 or more members.
63856         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
63857
63858 2007-07-04  Jim Meyering  <jim@meyering.net>
63859
63860         * lib/getugroups.h: New file.
63861         * lib/getugroups.c: Include "getugroups.h".
63862         Remove uses of "register" keyword.
63863         Move local variable, "cp", down into scope where used.
63864         Give "username" parameter the "const" attribute.
63865         * modules/getugroups (Files): Add lib/getugroups.h
63866
63867 2007-07-04  Karl Berry  <karl@gnu.org>
63868
63869         * MODULES.html.sh (func_all_modules): Complete rename of
63870         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
63871
63872 2007-07-02  Bruno Haible  <bruno@clisp.org>
63873
63874         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
63875         mode, when inttypes.h comes from gnulib.
63876         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
63877
63878 2007-07-02  Simon Josefsson  <simon@josefsson.org>
63879
63880         * NEWS: Mention lgpl module name change.
63881
63882         * modules/lgpl-2.1: Renamed from lgpl.
63883
63884         * NEWS: Mention gpl module name change.
63885
63886         * modules/gpl-3.0: New file, based on gpl-2.0.
63887
63888         * modules/gpl-2.0: Renamed from gpl.
63889
63890         * modules/gpl: Fix filename, doc/gpl.texi is now found at
63891         doc/gpl-2.0.texi.
63892
63893 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
63894
63895         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
63896         #define __STDC_LIMIT_MACROS temporarily while including
63897         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
63898         Problem reported by Joel E. Denny in
63899         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
63900
63901 2007-07-01  Bruno Haible  <bruno@clisp.org>
63902
63903         * lib/unistdio.h: New file.
63904         * lib/unistdio/u-asnprintf.h: New file.
63905         * lib/unistdio/u-asprintf.h: New file.
63906         * lib/unistdio/u-printf-args.c: New file.
63907         * lib/unistdio/u-printf-args.h: New file.
63908         * lib/unistdio/u-printf-parse.h: New file.
63909         * lib/unistdio/u-snprintf.h: New file.
63910         * lib/unistdio/u-sprintf.h: New file.
63911         * lib/unistdio/u-vasprintf.h: New file.
63912         * lib/unistdio/u-vsnprintf.h: New file.
63913         * lib/unistdio/u-vsprintf.h: New file.
63914         * lib/unistdio/ulc-asnprintf.c: New file.
63915         * lib/unistdio/ulc-asprintf.c: New file.
63916         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
63917         * lib/unistdio/ulc-printf-parse.c: New file.
63918         * lib/unistdio/ulc-snprintf.c: New file.
63919         * lib/unistdio/ulc-sprintf.c: New file.
63920         * lib/unistdio/ulc-vasnprintf.c: New file.
63921         * lib/unistdio/ulc-vasprintf.c: New file.
63922         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
63923         * lib/unistdio/ulc-vsnprintf.c: New file.
63924         * lib/unistdio/ulc-vsprintf.c: New file.
63925         * lib/unistdio/u8-asnprintf.c: New file.
63926         * lib/unistdio/u8-asprintf.c: New file.
63927         * lib/unistdio/u8-printf-parse.c: New file.
63928         * lib/unistdio/u8-snprintf.c: New file.
63929         * lib/unistdio/u8-sprintf.c: New file.
63930         * lib/unistdio/u8-vasnprintf.c: New file.
63931         * lib/unistdio/u8-vasprintf.c: New file.
63932         * lib/unistdio/u8-vsnprintf.c: New file.
63933         * lib/unistdio/u8-vsprintf.c: New file.
63934         * lib/unistdio/u8-u8-asnprintf.c: New file.
63935         * lib/unistdio/u8-u8-asprintf.c: New file.
63936         * lib/unistdio/u8-u8-snprintf.c: New file.
63937         * lib/unistdio/u8-u8-sprintf.c: New file.
63938         * lib/unistdio/u8-u8-vasnprintf.c: New file.
63939         * lib/unistdio/u8-u8-vasprintf.c: New file.
63940         * lib/unistdio/u8-u8-vsnprintf.c: New file.
63941         * lib/unistdio/u8-u8-vsprintf.c: New file.
63942         * lib/unistdio/u16-asnprintf.c: New file.
63943         * lib/unistdio/u16-asprintf.c: New file.
63944         * lib/unistdio/u16-printf-parse.c: New file.
63945         * lib/unistdio/u16-snprintf.c: New file.
63946         * lib/unistdio/u16-sprintf.c: New file.
63947         * lib/unistdio/u16-vasnprintf.c: New file.
63948         * lib/unistdio/u16-vasprintf.c: New file.
63949         * lib/unistdio/u16-vsnprintf.c: New file.
63950         * lib/unistdio/u16-vsprintf.c: New file.
63951         * lib/unistdio/u16-u16-asnprintf.c: New file.
63952         * lib/unistdio/u16-u16-asprintf.c: New file.
63953         * lib/unistdio/u16-u16-snprintf.c: New file.
63954         * lib/unistdio/u16-u16-sprintf.c: New file.
63955         * lib/unistdio/u16-u16-vasnprintf.c: New file.
63956         * lib/unistdio/u16-u16-vasprintf.c: New file.
63957         * lib/unistdio/u16-u16-vsnprintf.c: New file.
63958         * lib/unistdio/u16-u16-vsprintf.c: New file.
63959         * lib/unistdio/u32-asnprintf.c: New file.
63960         * lib/unistdio/u32-asprintf.c: New file.
63961         * lib/unistdio/u32-printf-parse.c: New file.
63962         * lib/unistdio/u32-snprintf.c: New file.
63963         * lib/unistdio/u32-sprintf.c: New file.
63964         * lib/unistdio/u32-vasnprintf.c: New file.
63965         * lib/unistdio/u32-vasprintf.c: New file.
63966         * lib/unistdio/u32-vsnprintf.c: New file.
63967         * lib/unistdio/u32-vsprintf.c: New file.
63968         * lib/unistdio/u32-u32-asnprintf.c: New file.
63969         * lib/unistdio/u32-u32-asprintf.c: New file.
63970         * lib/unistdio/u32-u32-snprintf.c: New file.
63971         * lib/unistdio/u32-u32-sprintf.c: New file.
63972         * lib/unistdio/u32-u32-vasnprintf.c: New file.
63973         * lib/unistdio/u32-u32-vasprintf.c: New file.
63974         * lib/unistdio/u32-u32-vsnprintf.c: New file.
63975         * lib/unistdio/u32-u32-vsprintf.c: New file.
63976         * tests/unistdio/test-ulc-asnprintf1.c: New file.
63977         * tests/unistdio/test-ulc-asnprintf1.h: New file.
63978         * tests/unistdio/test-ulc-printf1.h: New file.
63979         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
63980         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
63981         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
63982         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
63983         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
63984         * tests/unistdio/test-ulc-vasprintf1.c: New file.
63985         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
63986         * tests/unistdio/test-ulc-vsprintf1.c: New file.
63987         * tests/unistdio/test-u8-asnprintf1.c: New file.
63988         * tests/unistdio/test-u8-asnprintf1.h: New file.
63989         * tests/unistdio/test-u8-printf1.h: New file.
63990         * tests/unistdio/test-u8-vasnprintf1.c: New file.
63991         * tests/unistdio/test-u8-vasnprintf2.c: New file.
63992         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
63993         * tests/unistdio/test-u8-vasnprintf3.c: New file.
63994         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
63995         * tests/unistdio/test-u8-vasprintf1.c: New file.
63996         * tests/unistdio/test-u8-vsnprintf1.c: New file.
63997         * tests/unistdio/test-u8-vsprintf1.c: New file.
63998         * tests/unistdio/test-u16-asnprintf1.c: New file.
63999         * tests/unistdio/test-u16-asnprintf1.h: New file.
64000         * tests/unistdio/test-u16-printf1.h: New file.
64001         * tests/unistdio/test-u16-vasnprintf1.c: New file.
64002         * tests/unistdio/test-u16-vasnprintf2.c: New file.
64003         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
64004         * tests/unistdio/test-u16-vasnprintf3.c: New file.
64005         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
64006         * tests/unistdio/test-u16-vasprintf1.c: New file.
64007         * tests/unistdio/test-u16-vsnprintf1.c: New file.
64008         * tests/unistdio/test-u16-vsprintf1.c: New file.
64009         * tests/unistdio/test-u32-asnprintf1.c: New file.
64010         * tests/unistdio/test-u32-asnprintf1.h: New file.
64011         * tests/unistdio/test-u32-printf1.h: New file.
64012         * tests/unistdio/test-u32-vasnprintf1.c: New file.
64013         * tests/unistdio/test-u32-vasnprintf2.c: New file.
64014         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
64015         * tests/unistdio/test-u32-vasnprintf3.c: New file.
64016         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
64017         * tests/unistdio/test-u32-vasprintf1.c: New file.
64018         * tests/unistdio/test-u32-vsnprintf1.c: New file.
64019         * tests/unistdio/test-u32-vsprintf1.c: New file.
64020         * modules/unistdio/base: New file.
64021         * modules/unistdio/u-printf-args: New file.
64022         * modules/unistdio/ulc-asnprintf: New file.
64023         * modules/unistdio/ulc-asprintf: New file.
64024         * modules/unistdio/ulc-fprintf: New file.
64025         * modules/unistdio/ulc-printf-parse: New file.
64026         * modules/unistdio/ulc-snprintf: New file.
64027         * modules/unistdio/ulc-sprintf: New file.
64028         * modules/unistdio/ulc-vasnprintf: New file.
64029         * modules/unistdio/ulc-vasprintf: New file.
64030         * modules/unistdio/ulc-vfprintf: New file.
64031         * modules/unistdio/ulc-vsnprintf: New file.
64032         * modules/unistdio/ulc-vsprintf: New file.
64033         * modules/unistdio/u8-asnprintf: New file.
64034         * modules/unistdio/u8-asprintf: New file.
64035         * modules/unistdio/u8-printf-parse: New file.
64036         * modules/unistdio/u8-snprintf: New file.
64037         * modules/unistdio/u8-sprintf: New file.
64038         * modules/unistdio/u8-vasnprintf: New file.
64039         * modules/unistdio/u8-vasprintf: New file.
64040         * modules/unistdio/u8-vsnprintf: New file.
64041         * modules/unistdio/u8-vsprintf: New file.
64042         * modules/unistdio/u8-u8-asnprintf: New file.
64043         * modules/unistdio/u8-u8-asprintf: New file.
64044         * modules/unistdio/u8-u8-snprintf: New file.
64045         * modules/unistdio/u8-u8-sprintf: New file.
64046         * modules/unistdio/u8-u8-vasnprintf: New file.
64047         * modules/unistdio/u8-u8-vasprintf: New file.
64048         * modules/unistdio/u8-u8-vsnprintf: New file.
64049         * modules/unistdio/u8-u8-vsprintf: New file.
64050         * modules/unistdio/u16-asnprintf: New file.
64051         * modules/unistdio/u16-asprintf: New file.
64052         * modules/unistdio/u16-printf-parse: New file.
64053         * modules/unistdio/u16-snprintf: New file.
64054         * modules/unistdio/u16-sprintf: New file.
64055         * modules/unistdio/u16-vasnprintf: New file.
64056         * modules/unistdio/u16-vasprintf: New file.
64057         * modules/unistdio/u16-vsnprintf: New file.
64058         * modules/unistdio/u16-vsprintf: New file.
64059         * modules/unistdio/u16-u16-asnprintf: New file.
64060         * modules/unistdio/u16-u16-asprintf: New file.
64061         * modules/unistdio/u16-u16-snprintf: New file.
64062         * modules/unistdio/u16-u16-sprintf: New file.
64063         * modules/unistdio/u16-u16-vasnprintf: New file.
64064         * modules/unistdio/u16-u16-vasprintf: New file.
64065         * modules/unistdio/u16-u16-vsnprintf: New file.
64066         * modules/unistdio/u16-u16-vsprintf: New file.
64067         * modules/unistdio/u32-asnprintf: New file.
64068         * modules/unistdio/u32-asprintf: New file.
64069         * modules/unistdio/u32-printf-parse: New file.
64070         * modules/unistdio/u32-snprintf: New file.
64071         * modules/unistdio/u32-sprintf: New file.
64072         * modules/unistdio/u32-vasnprintf: New file.
64073         * modules/unistdio/u32-vasprintf: New file.
64074         * modules/unistdio/u32-vsnprintf: New file.
64075         * modules/unistdio/u32-vsprintf: New file.
64076         * modules/unistdio/u32-u32-asnprintf: New file.
64077         * modules/unistdio/u32-u32-asprintf: New file.
64078         * modules/unistdio/u32-u32-snprintf: New file.
64079         * modules/unistdio/u32-u32-sprintf: New file.
64080         * modules/unistdio/u32-u32-vasnprintf: New file.
64081         * modules/unistdio/u32-u32-vasprintf: New file.
64082         * modules/unistdio/u32-u32-vsnprintf: New file.
64083         * modules/unistdio/u32-u32-vsprintf: New file.
64084         * modules/unistdio/ulc-asnprintf-tests: New file.
64085         * modules/unistdio/ulc-vasnprintf-tests: New file.
64086         * modules/unistdio/ulc-vasprintf-tests: New file.
64087         * modules/unistdio/ulc-vsnprintf-tests: New file.
64088         * modules/unistdio/ulc-vsprintf-tests: New file.
64089         * modules/unistdio/u8-asnprintf-tests: New file.
64090         * modules/unistdio/u8-vasnprintf-tests: New file.
64091         * modules/unistdio/u8-vasprintf-tests: New file.
64092         * modules/unistdio/u8-vsnprintf-tests: New file.
64093         * modules/unistdio/u8-vsprintf-tests: New file.
64094         * modules/unistdio/u16-asnprintf-tests: New file.
64095         * modules/unistdio/u16-vasnprintf-tests: New file.
64096         * modules/unistdio/u16-vasprintf-tests: New file.
64097         * modules/unistdio/u16-vsnprintf-tests: New file.
64098         * modules/unistdio/u16-vsprintf-tests: New file.
64099         * modules/unistdio/u32-asnprintf-tests: New file.
64100         * modules/unistdio/u32-vasnprintf-tests: New file.
64101         * modules/unistdio/u32-vasprintf-tests: New file.
64102         * modules/unistdio/u32-vsnprintf-tests: New file.
64103         * modules/unistdio/u32-vsprintf-tests: New file.
64104         * MODULES.html.sh (Unicode string functions): Add the new modules.
64105
64106 2007-07-01  Bruno Haible  <bruno@clisp.org>
64107
64108         * lib/sprintf.c (sprintf): Limit the available length estimation,
64109         to avoid address wraparound.
64110         * lib/vsprintf.c (vsprintf): Likewise.
64111         * modules/sprintf-posix (Dependencies): Add stdint.
64112         * modules/vsprintf-posix (Dependencies): Likewise.
64113
64114 2007-07-01  Bruno Haible  <bruno@clisp.org>
64115
64116         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
64117         Windows PATH as well. Conservative double-quoting. Comments.
64118
64119 2007-07-01  Bruno Haible  <bruno@clisp.org>
64120             Eric Blake  <ebb9@byu.net>
64121             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64122
64123         * gnulib-tool (self_abspathname): Fix algorithm to cope with
64124         empty components in $PATH, denoting '.'.
64125
64126 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64127
64128         * gnulib-tool: Fix indentation.
64129         (func_create_megatestdir): Likewise.
64130         Report by Bruno Haible.
64131
64132 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64133
64134         Sync from Automake.
64135         * build-aux/gnupload: Fix shell portability issues with for loops.
64136         Report by Karl Berry.
64137
64138 2007-06-29  Simon Josefsson  <simon@josefsson.org>
64139
64140         * build-aux/maint.mk (POURL): Use translationproject.org.
64141
64142 2007-06-27  Simon Josefsson  <simon@josefsson.org>
64143             Bruno Haible  <bruno@clisp.org>
64144
64145         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
64146         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
64147         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
64148         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
64149         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
64150
64151 2007-06-27  Bruno Haible  <bruno@clisp.org>
64152
64153         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
64154         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
64155
64156 2007-06-26  Karl Berry  <karl@gnu.org>
64157
64158         * MODULES.html.sh: remove xreadlink-with-size.
64159
64160 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64161
64162         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
64163         method that I hope also handles the double-include problem noted
64164         by Bruno Haible in
64165         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
64166
64167 2007-06-23  Bruno Haible  <bruno@clisp.org>
64168
64169         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64170         Don't let the 'mostlyclean' target fail if the last subdirectory could
64171         not be removed.
64172         Reported by Karl Berry.
64173
64174 2007-06-23  Bruno Haible  <bruno@clisp.org>
64175
64176         * gnulib-tool (echo): Add a speedier workaround for ksh.
64177         * tests/test-echo.sh: Likewise.
64178
64179 2007-06-23  Bruno Haible  <bruno@clisp.org>
64180
64181         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
64182         * tests/test-echo.sh: Likewise.
64183
64184 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64185
64186         * gnulib-tool (IFS): Initialize early, so we don't set it to
64187         empty later.
64188         (self_abspathname): Rewrite algorithm to set it, reindent.
64189         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
64190         (func_create_megatestdir): Merge some sed scripts.
64191
64192 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64193
64194         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
64195         exposed by Sun Studio 11 cc on Solaris 8.
64196
64197 2007-06-22  Bruno Haible  <bruno@clisp.org>
64198
64199         * gnulib-tool (echo): Ensure the echo primitive does not interpret
64200         backslashes.
64201         * tests/test-echo.sh: New file.
64202
64203 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64204
64205         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
64206         simplify `sed_replace_build_aux' scripts, they are portable but
64207         echoing them with `echo' is not.
64208         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
64209
64210 2007-06-21  Karl Berry  <karl@gnu.org>
64211
64212         * config/srclist.txt: guess we can't handle the licenses via
64213         srclist at the moment.
64214
64215 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
64216
64217         * MODULES.html.sh: Add include_next.
64218         * modules/include_next: New file.
64219
64220 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
64221
64222         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
64223         INCLUDE_NEXT.
64224         (gl_CHECK_NEXT_HEADERS): New macro.
64225         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
64226         the obsolescent gl_ABSOLUTE_HEADER.
64227         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
64228         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
64229         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
64230         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
64231         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
64232         * m4/math_h.m4 (gl_MATH_H): Likewise.
64233         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
64234         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
64235         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
64236         * m4/stdint.m4 (gl_STDINT_H): Likewise.
64237         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
64238         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
64239         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
64240         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
64241         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
64242         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
64243         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
64244         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
64245         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
64246         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
64247         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
64248         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64249         * m4/inttypes.m4 (gl_INTTYPES_H): Define
64250         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
64251         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
64252         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
64253         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
64254         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
64255         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
64256         * lib/float_.h: Likewise.
64257         * lib/inttypes_.h: Likewise.
64258         * lib/math_.h: Likewise.
64259         * lib/search_.h: Likewise.
64260         * lib/signal_.h: Likewise.
64261         * lib/stdint_.h: Likewise.
64262         * lib/stdio_.h: Likewise.
64263         * lib/stdlib_.h: Likewise.
64264         * lib/string_.h: Likewise.
64265         * lib/sys_stat_.h: Likewise.
64266         * lib/sys_time_.h: Likewise.
64267         * lib/time_.h: Likewise.
64268         * lib/unistd_.h: Likewise.
64269         * lib/wchar_.h: Likewise.
64270         * lib/wctype_.h: Likewise.
64271         * lib/dirent_.h: Likewise.
64272         * lib/iconv_.h: Likewise.
64273         * lib/locale_.h: Likewise.
64274         * lib/netinet_in_.h: Likewise.
64275         * lib/sys_select_.h: Likewise.
64276         * lib/sys_socket_.h: Likewise.
64277         * lib/sysexits_.h: Likewise.
64278         * modules/fcntl (Depends-on): Depend on include_next, not
64279         absolute_header.
64280         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
64281         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
64282         * modules/fchdir: Likewise.
64283         * modules/float: Likewise.
64284         * modules/iconv_open: Likewise.
64285         * modules/inttypes: Likewise.
64286         * modules/locale: Likewise.
64287         * modules/math: Likewise.
64288         * modules/netinet_in: Likewise.
64289         * modules/search: Likewise.
64290         * modules/signal: Likewise.
64291         * modules/stdint: Likewise.
64292         * modules/stdio: Likewise.
64293         * modules/stdlib: Likewise.
64294         * modules/string: Likewise.
64295         * modules/sys_select: Likewise.
64296         * modules/sys_socket: Likewise.
64297         * modules/sys_stat: Likewise.
64298         * modules/sys_time: Likewise.
64299         * modules/sysexits: Likewise.
64300         * modules/time: Likewise.
64301         * modules/unistd: Likewise.
64302         * modules/wchar: Likewise.
64303         * modules/wctype: Likewise.
64304         * modules/sys_stat: Change maintainer to "all".
64305         * modules/unistd: Likewise.
64306
64307 2007-06-20  Karl Berry  <karl@gnu.org>
64308
64309         * config/srclist.txt: track www changes in license files.
64310
64311 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
64312
64313         * build-aux/bootstrap: Remove stray dot.
64314         Make sure build_aux settings are honored when linking
64315         gnulib_extra_files.
64316
64317 2007-06-19  Eric Blake  <ebb9@byu.net>
64318
64319         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64320         Allow compilation on cygwin.
64321
64322 2007-06-19  Jim Meyering  <jim@meyering.net>
64323
64324         xreadlink-with-size: Remove module.  No longer used.
64325         Ex-callers now use xreadlink or mreadlink-with-size.
64326         * modules/xreadlink-with-size: Remove module.
64327         * lib/xreadlink-with-size.c: Remove file.
64328         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
64329         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
64330         just before the function definition *is* accurate.
64331
64332         Eliminate one way canonicalize_filename_mode could exit.
64333         * lib/canonicalize.c (canonicalize_filename_mode):
64334         Use mreadlink_with_size, not xreadlink_with_size.
64335
64336 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
64337
64338         Detect porting problems to FreeBSD/arm, which has time_t wider than
64339         long int.  Original problem reported for GNU diff by Xin Li in
64340         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
64341         * modules/getdate (Depends-on): Add intprops, verify.
64342         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
64343         is an integer type no wider than long int.
64344
64345 2007-06-18  Jim Meyering  <jim@meyering.net>
64346
64347         New module: mreadlink-with-size.
64348         * MODULES.html.sh: Add mreadlink-with-size.
64349         * modules/mreadlink-with-size: New module
64350         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
64351         not xreadlink-with-size.
64352         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
64353
64354 2007-06-16  Bruno Haible  <bruno@clisp.org>
64355
64356         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
64357         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
64358         Reported by Gary V. Vaughan <gary@gnu.org>.
64359
64360 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
64361
64362         Revamp lchown so that it lives in unistd.h where it belongs.
64363         * lib/lchown.h: Remove.
64364         * lib/dirchownmod.c: Don't include lib/lchown.h.
64365         * lib/fchownat.c: Likewise.
64366         * lib/openat.c: Likewise.
64367         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
64368         does not follow symlinks.
64369         (EOPNOTSUPP): Define if not defined.
64370         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
64371         is defined to 0.
64372         (lchown): New decl.
64373         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
64374         Do not check for lchown decl.
64375         Set REPLACE_LCHOWN.
64376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
64377         REPLACE_LCHOWN.
64378         * modules/chown: Make it clear it follows symlinks.
64379         * modules/lchown: Make it clear it doesn't follow symlinks.
64380         (Files): Remove lib/lchown.h
64381         (Depends-on): Add unistd.
64382         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
64383         (Include): Include <unistd.h>, not "lchown.h".
64384         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
64385         REPLACE_LCHOWN.
64386
64387 2007-06-15  Jim Meyering  <jim@meyering.net>
64388
64389         Change license (GPL to LGPL) of fsusage and dependents.
64390         * modules/fsusage (License): Change to LGPL.
64391         * modules/full-read (License): Likewise.
64392         * modules/full-write (License): Likewise.
64393         * modules/safe-read (License): Likewise.
64394         * modules/safe-write (License): Likewise.
64395
64396 2007-06-14  Ben Pfaff  <blp@gnu.org>
64397
64398         Missing part of allocsa -> malloca transition.
64399         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
64400         gl_MALLOCA.
64401
64402 2007-06-12  Bruno Haible  <bruno@clisp.org>
64403
64404         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
64405         to ia64, x86_64, i386.
64406         Reported by Eric Blake.
64407
64408 2007-06-12  Bruno Haible  <bruno@clisp.org>
64409
64410         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
64411         cross-compiling to x86_64.
64412
64413 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
64414
64415         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
64416         glitch reported by Ralf Wildenhues in
64417         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
64418
64419         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
64420         Vin Shelton.
64421
64422 2007-06-11  Bruno Haible  <bruno@clisp.org>
64423
64424         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
64425         replacement string.
64426         Reported by Eric Blake.
64427
64428 2007-06-10  Bruno Haible  <bruno@clisp.org>
64429
64430         Prepare vasnprintf code for use with Unicode strings.
64431         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
64432         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
64433         TYPE_U32_STRING.
64434         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
64435         a_u32_string variants.
64436         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64437         * lib/printf-args.c: Don't include config.h and the specification
64438         header if PRINTF_FETCHARGS is already defined.
64439         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
64440         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
64441         TYPE_U16_STRING, TYPE_U32_STRING.
64442         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
64443         u16_directive, u16_directives, u32_directive, u32_directives): New
64444         types.
64445         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
64446         New declarations.
64447         * lib/printf-parse.c: Don't include config.h and the specification
64448         header if PRINTF_PARSE is already defined. Eliminate the set of
64449         parameters for WIDE_CHAR_VERSION; the user of this file must provide
64450         them now. Include c-ctype.h.
64451         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
64452         directive and CHAR_T_ONLY_ASCII.
64453         * lib/vasnprintf.c: Don't include config.h and the specification header
64454         if VASNPRINTF is already defined.
64455         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
64456         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
64457         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
64458         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
64459         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
64460         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
64461         code accordingly.
64462         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
64463         pad_ourselves also in this case, with the 'c' and 's' directives, and
64464         with a different notion of "width".
64465         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
64466
64467 2007-06-10  Bruno Haible  <bruno@clisp.org>
64468
64469         * modules/unistr/u32-mbsnlen: New file.
64470         * lib/unistr/u32-mbsnlen.c: New file.
64471
64472         * modules/unistr/u16-mbsnlen: New file.
64473         * lib/unistr/u16-mbsnlen.c: New file.
64474
64475         * modules/unistr/u8-mbsnlen: New file.
64476         * lib/unistr/u8-mbsnlen.c: New file.
64477
64478         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
64479         declarations.
64480
64481 2007-06-10  Bruno Haible  <bruno@clisp.org>
64482
64483         * lib/string_.h (mbsnlen): New declaration.
64484         * lib/mbsnlen.c: New file.
64485         * m4/mbsnlen.m4: New file.
64486         * modules/mbsnlen: New file.
64487         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
64488         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
64489         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
64490
64491 2007-06-10  Bruno Haible  <bruno@clisp.org>
64492
64493         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
64494
64495 2007-06-10  Bruno Haible  <bruno@clisp.org>
64496
64497         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
64498         * lib/mbuiter.h: Likewise.
64499
64500 2007-06-10  Bruno Haible  <bruno@clisp.org>
64501
64502         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
64503         declaration.
64504
64505 2007-06-10  Karl Berry  <karl@gnu.org>
64506
64507         * config/srclist.txt: remove gettext entries, Bruno prefers
64508         to update individually.
64509
64510 2007-06-10  Bruno Haible  <bruno@clisp.org>
64511
64512         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
64513         'maxlen'. Ensure only length + width bytes are allocated, not
64514         length + 1 + width.
64515
64516 2007-06-09  Bruno Haible  <bruno@clisp.org>
64517
64518         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
64519         (CHAR_T): Remove macro.
64520         (VASNPRINTF): Update.
64521
64522 2007-06-09  Bruno Haible  <bruno@clisp.org>
64523
64524         * MODULES.html.sh (Unicode string functions): Add the new modules.
64525
64526         * modules/uniconv/u32-conv-to-enc: New file.
64527         * lib/uniconv/u32-conv-to-enc.c: New file.
64528         * modules/uniconv/u32-conv-to-enc-tests: New file.
64529         * tests/uniconv/test-u32-conv-to-enc.c: New file.
64530
64531         * modules/uniconv/u16-conv-to-enc: New file.
64532         * lib/uniconv/u16-conv-to-enc.c: New file.
64533         * lib/uniconv/u-conv-to-enc.h: New file.
64534         * modules/uniconv/u16-conv-to-enc-tests: New file.
64535         * tests/uniconv/test-u16-conv-to-enc.c: New file.
64536
64537         * modules/uniconv/u8-conv-to-enc: New file.
64538         * lib/uniconv/u8-conv-to-enc.c: New file.
64539         * modules/uniconv/u8-conv-to-enc-tests: New file.
64540         * tests/uniconv/test-u8-conv-to-enc.c: New file.
64541
64542         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
64543         u32_conv_to_encoding): New declarations.
64544
64545 2007-06-09  Bruno Haible  <bruno@clisp.org>
64546
64547         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
64548
64549 2007-06-09  Bruno Haible  <bruno@clisp.org>
64550
64551         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
64552         * modules/malloca: Renamed from modules/allocsa, updated.
64553         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
64554         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
64555         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
64556         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
64557         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
64558         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
64559         * modules/xmalloca: Renamed from modules/xallocsa, updated.
64560         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
64561         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
64562         * modules/c-strcasestr (Depends-on): Update.
64563         * lib/c-strcasestr.c: Update.
64564         * modules/c-strstr (Depends-on): Update.
64565         * lib/c-strstr.c: Update.
64566         * modules/canonicalize-lgpl (Depends-on): Update.
64567         * lib/canonicalize-lgpl.c: Update.
64568         * modules/clean-temp (Depends-on): Update.
64569         * lib/clean-temp.c: Update.
64570         * modules/csharpcomp (Depends-on): Update.
64571         * lib/csharpcomp.c: Update.
64572         * modules/csharpexec (Depends-on): Update.
64573         * lib/csharpexec.c: Update.
64574         * modules/javacomp (Depends-on): Update.
64575         * lib/javacomp.c: Update.
64576         * modules/javaexec (Depends-on): Update.
64577         * lib/javaexec.c: Update.
64578         * modules/mbscasestr (Depends-on): Update.
64579         * lib/mbscasestr.c: Update.
64580         * modules/mbsstr (Depends-on): Update.
64581         * lib/mbsstr.c: Update.
64582         * modules/setenv (Depends-on): Update.
64583         * lib/setenv.c: Update.
64584         * modules/strcasestr (Depends-on): Update.
64585         * lib/strcasestr.c: Update.
64586         * modules/striconveha (Depends-on): Update.
64587         * lib/striconveha.c: Update.
64588         * modules/relocatable-prog-wrapper (Files): Update.
64589         * lib/relocwrapper.c: Update.
64590         * build-aux/install-reloc: Update.
64591         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
64592
64593 2007-06-08  Bruno Haible  <bruno@clisp.org>
64594
64595         Port to uClibc.
64596         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
64597         * lib/fpurge.c (fpurge): Likewise.
64598         * lib/freading.c (freading): Likewise.
64599         * lib/fseeko.c (rpl_fseeko): Likewise.
64600         * lib/fseterr.c (fseterr): Likewise.
64601         * lib/fwriting.c (fwriting): Likewise.
64602         * tests/test-fflush.c (main): Avoid a failure on uClibc.
64603
64604 2007-06-08  Bruno Haible  <bruno@clisp.org>
64605
64606         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
64607         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
64608         * modules/gettext (Files): Add m4/intlmacosx.m4.
64609
64610 2007-06-07  Bruno Haible  <bruno@clisp.org>
64611
64612         * modules/localename-tests: New file.
64613         * tests/test-localename.c: New file.
64614
64615         New module 'localename'.
64616         * lib/localename.h: New file.
64617         * lib/localename.c: New file, from GNU gettext.
64618         * m4/localename.m4: New file.
64619         * modules/localename: New file.
64620
64621 2007-06-07  Bruno Haible  <bruno@clisp.org>
64622
64623         Work around the lack of <wchar.h> on some builds of uClibc.
64624         * doc/headers/wchar.texi: Update.
64625         * lib/wchar_.h: Include <wchar.h> only if it exists.
64626         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
64627         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
64628         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
64629         doesn't exist.
64630         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
64631         * modules/mbfile (Depends-on): Add wchar.
64632         * modules/mbiter (Depends-on): Likewise.
64633         * modules/mbuiter (Depends-on): Likewise.
64634         Reported by Simon Josefsson.
64635
64636 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
64637
64638         Work around problem reported by Steven M. Schweda in
64639         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
64640         Tru64 5.1B with the Compaq compiler environment installed declares
64641         an 'isblank' function but does not define it in the C library.
64642         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
64643         * lib/regex_internal.h (isblank): Likewise.
64644         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
64645         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64646
64647 2007-06-05  Bruno Haible  <bruno@clisp.org>
64648
64649         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
64650         ia64.
64651         * modules/printf-safe: New file.
64652         * modules/fprintf-posix (Depends-on): Add printf-safe.
64653         * modules/printf-posix (Depends-on): Likewise.
64654         * modules/snprintf-posix (Depends-on): Likewise.
64655         * modules/sprintf-posix (Depends-on): Likewise.
64656         * modules/vasnprintf-posix (Depends-on): Likewise.
64657         * modules/vasprintf-posix (Depends-on): Likewise.
64658         * modules/vfprintf-posix (Depends-on): Likewise.
64659         * modules/vprintf-posix (Depends-on): Likewise.
64660         * modules/vsnprintf-posix (Depends-on): Likewise.
64661         * modules/vsprintf-posix (Depends-on): Likewise.
64662         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
64663         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
64664         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
64665         "no" on i386, x86_64, ia64.
64666         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
64667         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64668         on i386, x86_64, ia64.
64669         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
64670         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64671         on i386, x86_64, ia64.
64672         * tests/test-vasnprintf-posix.c: Include float.h.
64673         (LDBL80_WORDS): New macro.
64674         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64675         on i386, x86_64, ia64.
64676         * tests/test-vasprintf-posix.c: Include float.h.
64677         (LDBL80_WORDS): New macro.
64678         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
64679         on i386, x86_64, ia64.
64680         * tests/test-snprintf-posix.c: Include float.h.
64681         * tests/test-sprintf-posix.c: Likewise.
64682         * tests/test-vsnprintf-posix.c: Likewise.
64683         * tests/test-vsprintf-posix.c: Likewise.
64684
64685 2007-06-05  Bruno Haible  <bruno@clisp.org>
64686
64687         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
64688         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
64689         non-IEEE numbers on i386, x86_64, ia64.
64690         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
64691         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
64692         * tests/test-isnanl.h: Include float.h.
64693         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
64694
64695 2007-06-05  Bruno Haible  <bruno@clisp.org>
64696
64697         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
64698         also the %a / %A. Handle the %a / %A code before this extra handling.
64699
64700 2007-06-05  Bruno Haible  <bruno@clisp.org>
64701
64702         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
64703         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
64704
64705 2007-06-05  Bruno Haible  <bruno@clisp.org>
64706
64707         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
64708         typo in variable name.
64709
64710 2007-06-05  Eric Blake  <ebb9@byu.net>
64711
64712         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
64713         Reported by Simon Josefsson.
64714
64715 2007-06-04  Bruno Haible  <bruno@clisp.org>
64716
64717         Avoid test failures on some PowerPC platforms.
64718         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
64719         Define differently for PowerPC.
64720         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
64721         Reported by Gary V. Vaughan <gary@gnu.org>.
64722
64723 2007-06-02  Bruno Haible  <bruno@clisp.org>
64724
64725         Fix test-stdint failure on FreeBSD/ia64.
64726         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
64727         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
64728         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
64729         * doc/headers/stdint.texi: Update.
64730
64731 2007-06-01  Bruno Haible  <bruno@clisp.org>
64732
64733         * tests/test-binary-io.c (main): Pass a third argument to open().
64734         Reported by Gary V. Vaughan <gary@gnu.org>.
64735
64736 2007-06-01  Bruno Haible  <bruno@clisp.org>
64737
64738         * doc/functions/frexpl.texi: Update for mingw.
64739
64740 2007-06-01  Bruno Haible  <bruno@clisp.org>
64741
64742         * tests/test-lseek.c (main): Disable test of errno for invalid third
64743         argument.
64744         * doc/functions/lseek.texi: Update.
64745         Reported by Gary V. Vaughan <gary@gnu.org>.
64746
64747 2007-05-28  Bruno Haible  <bruno@clisp.org>
64748
64749         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
64750
64751 2007-05-31  Eric Blake  <ebb9@byu.net>
64752
64753         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
64754         cross compiling.
64755
64756 2007-05-30  Eric Blake  <ebb9@byu.net>
64757         and Bruno Haible  <bruno@clisp.org>
64758
64759         Work around mingw test failures exposed by m4-1.4.9b.
64760         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
64761         * tests/test-unistd.c: Disable uid_t and git_t tests for the
64762         moment.
64763
64764 2007-05-30  Bruno Haible  <bruno@clisp.org>
64765
64766         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
64767         assuming that they are closed. Needed on HP-UX 11.
64768
64769 2007-05-29  Bruno Haible  <bruno@clisp.org>
64770
64771         Fix a problem with #include_next.
64772         * lib/dirent_.h: Split the double-inclusion guard.
64773         * lib/fcntl_.h: Likewise.
64774         * lib/float_.h: Likewise.
64775         * lib/iconv_.h: Likewise.
64776         * lib/inttypes_.h: Likewise.
64777         * lib/locale_.h: Likewise.
64778         * lib/math_.h: Likewise.
64779         * lib/netinet_in_.h: Likewise.
64780         * lib/search_.h: Likewise.
64781         * lib/signal_.h: Likewise.
64782         * lib/stdint_.h: Likewise.
64783         * lib/stdio_.h: Likewise.
64784         * lib/stdlib_.h: Likewise.
64785         * lib/string_.h: Likewise.
64786         * lib/sys_select_.h: Likewise.
64787         * lib/sys_socket_.h: Likewise.
64788         * lib/sys_stat_.h: Likewise.
64789         * lib/sys_time_.h: Likewise.
64790         * lib/sysexits_.h: Likewise.
64791         * lib/time_.h: Likewise.
64792         * lib/unistd_.h: Likewise.
64793         * lib/wchar_.h: Likewise.
64794         * lib/wctype_.h: Likewise.
64795
64796 2007-05-29  Bruno Haible  <bruno@clisp.org>
64797
64798         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
64799         for the moment.
64800
64801 2007-05-29  Bruno Haible  <bruno@clisp.org>
64802
64803         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
64804         invocation.
64805         Reported by Eric Blake.
64806
64807 2007-05-29  Bruno Haible  <bruno@clisp.org>
64808
64809         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
64810         compiling case.
64811
64812 2007-05-29  Eric Blake  <ebb9@byu.net>
64813             Bruno Haible  <bruno@clisp.org>
64814
64815         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
64816         cross compiles.
64817
64818 2007-05-28  Eric Blake  <ebb9@byu.net>
64819
64820         * modules/closein-tests (test_closein_LDADD): Support test on
64821         cygwin with libtool.
64822
64823 2007-05-28  Bruno Haible  <bruno@clisp.org>
64824
64825         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
64826         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
64827         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
64828         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
64829         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
64830         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
64831         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
64832         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
64833         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
64834
64835 2007-05-28  Eric Blake  <ebb9@byu.net>
64836
64837         Unconditionally include <config.h> in unit tests.
64838         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
64839         * tests/test-allocsa.c, tests/test-arcfour.c,
64840         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
64841         tests/test-array_list.c, tests/test-array_oset.c,
64842         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
64843         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
64844         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
64845         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
64846         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
64847         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
64848         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
64849         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
64850         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
64851         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
64852         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
64853         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
64854         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
64855         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
64856         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
64857         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
64858         test-md5.c, test-memmem.c, test-printf-posix.c,
64859         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
64860         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
64861         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
64862         test-strcasestr.c, test-striconv.c, test-striconveh.c,
64863         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
64864         test-vasnprintf-posix2.c, test-vasnprintf.c,
64865         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
64866         test-vfprintf-posix.c, test-vprintf-posix.c,
64867         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
64868         test-xvasprintf.c: Likewise.
64869
64870 2007-05-28  Bruno Haible  <bruno@clisp.org>
64871
64872         * gnulib-tool (func_import): Remember the --with-tests command-line
64873         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
64874         Reported by Eric Blake.
64875
64876 2007-05-28  Bruno Haible  <bruno@clisp.org>
64877
64878         * modules/ftell-tests: New file.
64879         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
64880         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
64881
64882         * lib/ftell.c: New file.
64883         * modules/ftell: New file.
64884         * m4/ftell.m4: New file.
64885         * doc/functions/ftell.texi: Update.
64886         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
64887         REPLACE_FTELL.
64888         * lib/stdio_.h (rpl_ftell): New declaration.
64889         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
64890         REPLACE_FTELL.
64891
64892 2007-05-28  Eric Blake  <ebb9@byu.net>
64893
64894         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
64895
64896 2007-05-28  Bruno Haible  <bruno@clisp.org>
64897
64898         * modules/fseek-tests: New file.
64899         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
64900         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
64901
64902         * lib/fseek.c: New file.
64903         * modules/fseek: New file.
64904         * m4/fseek.m4: New file.
64905         * doc/functions/fseek.texi: Update.
64906         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
64907         REPLACE_FSEEK.
64908         * lib/stdio_.h (rpl_fseek): New declaration.
64909         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
64910         REPLACE_FSEEK.
64911
64912 2007-05-28  Bruno Haible  <bruno@clisp.org>
64913
64914         * lib/stdio_.h (fflush): More comments.
64915
64916 2007-05-28  Bruno Haible  <bruno@clisp.org>
64917
64918         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
64919         runtime test.
64920
64921 2007-05-28  Eric Blake  <ebb9@byu.net>
64922
64923         Improve lseek module.
64924         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
64925         * lib/unistd_.h (lseek): Scale back link warning message.
64926         * tests/test-lseek.c: Beef up test.
64927         * tests/test-lseek.sh: Exercise more facets of lseek.
64928         Reported by Bruno Haible.
64929
64930 2007-05-28  Bruno Haible  <bruno@clisp.org>
64931
64932         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
64933         to define.
64934
64935 2007-05-27  Bruno Haible  <bruno@clisp.org>
64936
64937         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
64938
64939 2007-05-27  Bruno Haible  <bruno@clisp.org>
64940
64941         * modules/openmp: New file.
64942         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
64943         Noah Misch.
64944
64945 2007-05-26  Bruno Haible  <bruno@clisp.org>
64946
64947         * modules/chdir-long (Depends-on): Add fchdir.
64948         * modules/chdir-safer (Depends-on): Likewise.
64949         * modules/fts (Depends-on): Likewise.
64950         * modules/fts-lgpl (Depends-on): Likewise.
64951         * modules/openat (Depends-on): Likewise.
64952         * modules/savewd (Depends-on): Likewise.
64953
64954 2007-05-24  Eric Blake  <ebb9@byu.net>
64955
64956         Fix lseek on mingw.
64957         * modules/lseek: New module.
64958         * m4/lseek.m4: New file.
64959         * lib/lseek.c: New file.
64960         * modules/lseek-tests: New file.
64961         * tests/test-lseek.c: New file.
64962         * tests/test-lseek.sh: New file.
64963         * MODULES.html.sh: Document lseek module.
64964         * modules/fflush (Depends-on): Add lseek, fseeko.
64965         * modules/fseeko (Depends-on): Likewise.
64966         * modules/ftello (Depends-on): Likewise.
64967         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
64968         broken.
64969         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
64970         broken.
64971         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
64972         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
64973         * lib/ftello.c (rpl_ftello): Likewise.
64974         * tests/test-fseeko.c (main): Test this.
64975         * tests/test-fseeko.sh: Likewise.
64976         * tests/test-ftello.c (main): Likewise.
64977         * tests/test-ftello.sh: Likewise.
64978         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
64979         implies replacing fseek.
64980         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
64981         HAVE_FTELLO.
64982         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
64983         * modules/unistd (Makefile.am): Likewise.
64984         * lib/unistd_.h (lseek): Declare a replacement.
64985         * doc/functions/lseek.texi (lseek): Document this fix.
64986         * doc/functions/fseek.texi (fseek): Likewise.
64987         * doc/functions/ftell.texi (ftell): Likewise.
64988
64989 2007-05-24  Bruno Haible  <bruno@clisp.org>
64990
64991         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
64992         in the printed representation of a NaN.
64993         * tests/test-vasprintf-posix.c (test_function): Likewise.
64994         * tests/test-snprintf-posix.h (test_function): Likewise.
64995         * tests/test-sprintf-posix.h (test_function): Likewise.
64996         Reported by Eric Blake.
64997
64998 2007-05-23  Eric Blake  <ebb9@byu.net>
64999
65000         Fix fseeko/ftello on cygwin 1.5.24.
65001         * doc/functions/fseeko.texi (fseeko): Document the fix.
65002         * doc/functions/ftello.texi (ftello): Document the fix.
65003         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
65004         * doc/functions/stdout.text (stdout): New file.
65005         * doc/functions/stderr.text (stderr): New file.
65006         * doc/gnulib.texi (Function Substitutes): Use new files.
65007         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
65008         prior to 1.7.0.
65009         * tests/test-ftello.c (main): Likewise for ftello.
65010         * tests/test-fseeko.sh: New file.
65011         * tests/test-ftello.sh: New file.
65012         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
65013         with seekable stdin.
65014         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
65015         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
65016         (gl_REPLACE_FSEEKO): New macro.
65017         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
65018         * modules/fseeko (Files): Distribute fseeko.c.
65019         * modules/ftello (Files): Distribute ftello.c.
65020         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
65021         mode.
65022         * lib/ftello.c (rpl_ftello): New file.
65023         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
65024         fseeko, ftello.
65025         (gl_STDIN_LARGE_OFFSET): New macro.
65026         * modules/stdio (Makefile.am): Perform the replacement.
65027         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
65028
65029 2007-05-23  Bruno Haible  <bruno@clisp.org>
65030
65031         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
65032         GNULIB_POSIXCHECK is defined.
65033
65034 2007-05-21  Bruno Haible  <bruno@clisp.org>
65035
65036         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
65037         Check also the output for NaN arguments. When cross-compiling, guess
65038         no on IRIX.
65039         * lib/vasnprintf.c: Update comments.
65040         * tests/test-vasnprintf-posix.c (strisnan): New function.
65041         (test_function): Use it.
65042         * tests/test-vasprintf-posix.c (strisnan): New function.
65043         (test_function): Use it.
65044         * tests/test-snprintf-posix.h (strisnan): New function.
65045         (test_function): Use it.
65046         * tests/test-sprintf-posix.h (strisnan): New function.
65047         (test_function): Use it.
65048         Reported by Eric Blake.
65049
65050 2007-05-20  Bruno Haible  <bruno@clisp.org>
65051
65052         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
65053         numbers that fails on BeOS.
65054         * doc/functions/frexpl.texi: Update.
65055
65056 2007-05-20  Jim Meyering  <jim@meyering.net>
65057
65058         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
65059         forced upon us by glibc-2.6.
65060
65061 2007-05-20  Bruno Haible  <bruno@clisp.org>
65062
65063         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
65064         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
65065         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
65066         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
65067         NEED_PRINTF_INFINITE.
65068         (is_infinitel): New function.
65069         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
65070         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
65071         gl_PREREQ_VASNPRINTF_INFINITE.
65072         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
65073         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65074         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
65075         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
65076         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
65077         gl_PREREQ_VASNPRINTF_INFINITE.
65078         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65079         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65080         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65081         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65082         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65083         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65084         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65085         * doc/functions/fprintf.texi: Update.
65086         * doc/functions/printf.texi: Update.
65087         * doc/functions/snprintf.texi: Update.
65088         * doc/functions/sprintf.texi: Update.
65089         * doc/functions/vfprintf.texi: Update.
65090         * doc/functions/vprintf.texi: Update.
65091         * doc/functions/vsnprintf.texi: Update.
65092         * doc/functions/vsprintf.texi: Update.
65093
65094 2007-05-20  Bruno Haible  <bruno@clisp.org>
65095
65096         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
65097         was not found in libc.
65098         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65099
65100 2007-05-20  Bruno Haible  <bruno@clisp.org>
65101
65102         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65103         printed as "-nan" instead of "nan".
65104         * tests/test-vasprintf-posix.c (test_function): Likewise.
65105         * tests/test-snprintf-posix.h (test_function): Likewise.
65106         * tests/test-sprintf-posix.h (test_function): Likewise.
65107         Needed for HP-UX 11.
65108
65109 2007-05-20  Jim Meyering  <jim@meyering.net>
65110
65111         Fix buggy test for the fchownat-deref bug.
65112         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
65113         symlink required for the run-test.  Without it, this test would
65114         always declare that fchownat doesn't work, and client code would
65115         unnecessarily use the replacement function with fixed libc.
65116         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
65117         Reported by Greg Schafer.
65118
65119 2007-05-19  Bruno Haible  <bruno@clisp.org>
65120
65121         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
65122         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
65123         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
65124         Needed for IRIX 6.5 and Solaris 2.5.1.
65125
65126 2007-05-19  Bruno Haible  <bruno@clisp.org>
65127
65128         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
65129         (test_function): Skip tests involving -0.0 on platforms where
65130         -0.0 = 0.0.
65131         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
65132         (test_function): Skip tests involving -0.0 on platforms where
65133         -0.0 = 0.0.
65134         * tests/test-snprintf-posix.h (have_minus_zero): New function.
65135         (test_function): Skip tests involving -0.0 on platforms where
65136         -0.0 = 0.0.
65137         * tests/test-sprintf-posix.h (have_minus_zero): New function.
65138         (test_function): Skip tests involving -0.0 on platforms where
65139         -0.0 = 0.0.
65140         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
65141         tests.
65142         * tests/test-printf-posix.h (test_function): Likewise.
65143         * tests/test-printf-posix.output: Remove all -0.0 related results.
65144         Needed for IRIX 6.5.
65145
65146 2007-05-19  Bruno Haible  <bruno@clisp.org>
65147
65148         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65149         printed as "nan0x7fffffff" instead of "nan".
65150         * tests/test-vasprintf-posix.c (test_function): Likewise.
65151         * tests/test-snprintf-posix.h (test_function): Likewise.
65152         * tests/test-sprintf-posix.h (test_function): Likewise.
65153         * tests/test-fprintf-posix.h (NaN): Remove macro.
65154         (test_function): Remove all NaN related tests.
65155         * tests/test-printf-posix.h (NaN): Remove macro.
65156         (test_function): Remove all NaN related tests.
65157         * tests/test-printf-posix.output: Remove all NaN related results.
65158         Needed for IRIX 6.5.
65159
65160 2007-05-19  Bruno Haible  <bruno@clisp.org>
65161
65162         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
65163         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65164
65165 2007-05-19  Bruno Haible  <bruno@clisp.org>
65166
65167         * lib/float_.h: New file.
65168         * m4/float_h.m4: New file.
65169         * modules/float: New file.
65170         * modules/isnanl (Dependencies): Add float.
65171         * modules/isnanl-nolibm (Dependencies): Likewise.
65172         * modules/mathl (Dependencies): Likewise.
65173         * modules/printf-frexpl (Dependencies): Likewise.
65174         * modules/signbit (Dependencies): Likewise.
65175         * modules/vasnprintf (Dependencies): Likewise.
65176         * doc/headers/float.texi: Update.
65177
65178 2007-05-19  Jim Meyering  <jim@meyering.net>
65179
65180         * lib/utimens.c (gl_futimens): Rename from futimens,
65181         now that glibc-2.6 declares futimens.
65182         * lib/utimens.h: Likewise.
65183
65184 2007-05-19  Bruno Haible  <bruno@clisp.org>
65185
65186         Avoid test failures on mingw.
65187         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
65188         * tests/test-printf-posix.sh: Likewise.
65189         * tests/test-vfprintf-posix.sh: Likewise.
65190         * tests/test-vprintf-posix.sh: Likewise.
65191
65192 2007-05-19  Bruno Haible  <bruno@clisp.org>
65193
65194         Fix *printf result for NaN, Inf, -0.0 on mingw.
65195         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
65196         * lib/vasnprintf.c: Include math.h and isnan.h.
65197         (is_infinite_or_zero): New function.
65198         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
65199         values in the %f, %F, %e, %E, %g, %G directives.
65200         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
65201         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65202         gl_PRINTF_INFINITE and test its result. Invoke
65203         gl_PREREQ_VASNPRINTF_INFINITE.
65204         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65205         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65206         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65207         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65208         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65209         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65210         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65211         * doc/functions/fprintf.texi: Update.
65212         * doc/functions/printf.texi: Update.
65213         * doc/functions/snprintf.texi: Update.
65214         * doc/functions/sprintf.texi: Update.
65215         * doc/functions/vfprintf.texi: Update.
65216         * doc/functions/vprintf.texi: Update.
65217         * doc/functions/vsnprintf.texi: Update.
65218         * doc/functions/vsprintf.texi: Update.
65219
65220 2007-05-19  Bruno Haible  <bruno@clisp.org>
65221
65222         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
65223         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
65224         Instead of multiplying with 10^k, set extra_zeroes to k.
65225         (scale10_round_long_double): Remove function.
65226
65227 2007-05-18  Bruno Haible  <bruno@clisp.org>
65228
65229         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
65230         introduced on 2007-05-06.
65231
65232 2007-05-18  Bruno Haible  <bruno@clisp.org>
65233
65234         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
65235         %g directives.
65236         * tests/test-vasprintf-posix.c (test_function): Likewise.
65237         * tests/test-snprintf-posix.h (test_function): Likewise.
65238         * tests/test-sprintf-posix.h (test_function): Likewise.
65239
65240 2007-05-18  Bruno Haible  <bruno@clisp.org>
65241
65242         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
65243         (strmatch): New function.
65244         (test_function): Test the %f directive on numbers of various exponents.
65245         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
65246         (strmatch): New function.
65247         (test_function): Test the %f directive on numbers of various exponents.
65248         * tests/test-snprintf-posix.h (strmatch): New function.
65249         (test_function): Test the %f directive on numbers of various exponents.
65250         * tests/test-sprintf-posix.h (strmatch): New function.
65251         (test_function): Test the %f directive on numbers of various exponents.
65252         * tests/test-snprintf-posix.c (SIZEOF): New macro.
65253         * tests/test-sprintf-posix.c (SIZEOF): New macro.
65254         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
65255         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
65256
65257 2007-05-18  Bruno Haible  <bruno@clisp.org>
65258
65259         Add support for 'long double' number output.
65260         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
65261         * lib/vasnprintf.c: Include math.h and float+.h.
65262         (mp_limb_t): New type.
65263         (GMP_LIMB_BITS): New macro.
65264         (mp_twolimb_t): New type.
65265         (GMP_TWOLIMB_BITS): New macro.
65266         (mpn_t): New type.
65267         (multiply, divide, convert_to_decimal, decode_long_double,
65268         scale10_round_long_double, scale10_round_decimal_long_double,
65269         floorlog10l): New functions.
65270         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
65271         for the %f, %F, %e, %E, %g, %G directives.
65272         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
65273         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65274         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
65275         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
65276         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65277         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65278         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65279         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65280         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65281         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65282         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65283         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
65284         * modules/snprintf-posix (Depends-on): Likewise.
65285         * modules/sprintf-posix (Depends-on): Likewise.
65286         * modules/vasnprintf-posix (Depends-on): Likewise.
65287         * modules/vasprintf-posix (Depends-on): Likewise.
65288         * modules/vfprintf-posix (Depends-on): Likewise.
65289         * modules/vsnprintf-posix (Depends-on): Likewise.
65290         * modules/vsprintf-posix (Depends-on): Likewise.
65291         * modules/vasnprintf (Files): Add lib/float+.h.
65292         * doc/functions/fprintf.texi: Update.
65293         * doc/functions/printf.texi: Update.
65294         * doc/functions/snprintf.texi: Update.
65295         * doc/functions/sprintf.texi: Update.
65296         * doc/functions/vfprintf.texi: Update.
65297         * doc/functions/vprintf.texi: Update.
65298         * doc/functions/vsnprintf.texi: Update.
65299         * doc/functions/vsprintf.texi: Update.
65300
65301 2007-05-18  Bruno Haible  <bruno@clisp.org>
65302
65303         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
65304
65305 2007-05-18  Bruno Haible  <bruno@clisp.org>
65306
65307         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
65308         for printing 64-bit integers. Needed for mingw.
65309
65310 2007-05-18  Bruno Haible  <bruno@clisp.org>
65311
65312         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65313         gl_FUNC_FREXPL_WORKS.
65314         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
65315
65316 2007-05-18  Bruno Haible  <bruno@clisp.org>
65317
65318         * modules/frexpl-nolibm-tests: New file.
65319
65320         * modules/frexpl-nolibm: New file.
65321         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
65322
65323 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65324
65325         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
65326         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65327         GCC 4.2, which otherwise issues a lot of warnings.
65328         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
65329         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
65330         Likewise.
65331         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
65332         * modules/iconv_open (iconv.h): Likewise.
65333         * modules/locale (locale.h): Likewise.
65334         * modules/netinet_in (netinet/in.h): Likewise.
65335         * modules/sys_select (sys_select.h): Likewise.
65336         * modules/sys_socket (sys/socket.h): Likewise.
65337         * modules/sys_stat (sys/stat.h): Likewise.
65338         * modules/sysexits (sysexits.h): Likewise.
65339         * modules/unistd (unistd.h): Likewise.
65340
65341 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65342
65343         * modules/closein-tests (Makefile.am): Distribute
65344         `test-closein.sh'.
65345
65346 2007-05-17  Bruno Haible  <bruno@clisp.org>
65347
65348         * tests/test-printf-posix.output: Renamed from
65349         tests/test-fprintf-posix.out.
65350         * modules/fprintf-posix-tests: Update.
65351         * modules/printf-posix-tests: Update.
65352         * modules/vfprintf-posix-tests: Update.
65353         * modules/vprintf-posix-tests: Update.
65354         * tests/test-fprintf-posix.sh: Update.
65355         * tests/test-printf-posix.sh: Update.
65356         * tests/test-vfprintf-posix.sh: Update.
65357         * tests/test-vprintf-posix.sh: Update.
65358         Reported by Ralf Wildenhues.
65359
65360 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
65361
65362         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
65363         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
65364         GCC 4.2, which otherwise issues a lot of warnings.
65365         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
65366         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
65367         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
65368         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
65369         it should no longer be needed.
65370         * lib/string_.h: Likewise.
65371         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
65372         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
65373         * modules/inttypes (inttypes.h): Likewise.
65374         * modules/math (math.h): Likewise.
65375         * modules/search (search.h): Likewise.
65376         * modules/signal (signal.h): Likewise.
65377         * modules/stdint (stdint.h): Likewise.
65378         * modules/stdio (stdio.h): Likewise.
65379         * modules/stdlib (stdlib.h): Likewise.
65380         * modules/string (string.h): Likewise.
65381         * modules/sys_time (sys/time.h): Likewise.
65382         * modules/time (time.h): Likewise.
65383         * modules/wchar (wchar.h): Likewise.
65384         * modules/wctype (wtype.h): Likewise.
65385
65386 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
65387
65388         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
65389
65390 2007-05-13  Bruno Haible  <bruno@clisp.org>
65391
65392         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
65393         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65394         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
65395         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65396         (gl_PREREQ_STRTOK_R): Don't require it here.
65397
65398 2007-05-13  Bruno Haible  <bruno@clisp.org>
65399
65400         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
65401         when used in C++ mode.
65402
65403 2007-05-12  Bruno Haible  <bruno@clisp.org>
65404
65405         * lib/linebuffer.h: Tweak doc.
65406         * lib/linebuffer.c: Likewise.
65407
65408 2007-05-12  James Youngman  <jay@gnu.org>
65409
65410         * lib/linebuffer.c (readlinebuffer_delim): New function,
65411         like readlinebuffer, but use a caller-specified delimiter.
65412         (readlinebuffer): Just call readlinebuffer_delim with '\n'
65413         as the delimiter.
65414         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
65415
65416 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65417
65418         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
65419         * modules/openat (Files): Remove openat-die.c.
65420         (Depends-on): Add openat-die.
65421         * modules/openat-die: New module.
65422
65423 2007-05-06  Bruno Haible  <bruno@clisp.org>
65424
65425         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
65426         Update with info about Cygwin.
65427         * doc/functions/fprintf.texi: Update.
65428         * doc/functions/printf.texi: Update.
65429         * doc/functions/snprintf.texi: Update.
65430         * doc/functions/sprintf.texi: Update.
65431         * doc/functions/vfprintf.texi: Update.
65432         * doc/functions/vprintf.texi: Update.
65433         * doc/functions/vsnprintf.texi: Update.
65434         * doc/functions/vsprintf.texi: Update.
65435         Reported by Eric Blake.
65436
65437 2007-05-06  Bruno Haible  <bruno@clisp.org>
65438
65439         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
65440         padding ourselves for the floating-point directives.
65441         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
65442         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
65443         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65444         gl_PRINTF_FLAG_ZERO and test its result. Invoke
65445         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
65446         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65447         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65448         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65449         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65450         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65451         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65452         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65453         * tests/test-snprintf-posix.h (test_function): Also check the width
65454         and some flags in the %f directive.
65455         * tests/test-sprintf-posix.h (test_function): Likewise.
65456         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65457         * tests/test-vasprintf-posix.c (test_function): Likewise.
65458         * doc/functions/fprintf.texi: Update.
65459         * doc/functions/printf.texi: Update.
65460         * doc/functions/snprintf.texi: Update.
65461         * doc/functions/sprintf.texi: Update.
65462         * doc/functions/vfprintf.texi: Update.
65463         * doc/functions/vprintf.texi: Update.
65464         * doc/functions/vsnprintf.texi: Update.
65465         * doc/functions/vsprintf.texi: Update.
65466
65467 2007-05-06  Bruno Haible  <bruno@clisp.org>
65468
65469         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
65470         pass the ' flag character to sprintf or snprintf.
65471         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
65472         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
65473         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65474         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
65475         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
65476         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65477         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
65478         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65479         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65480         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65481         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65482         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65483         * tests/test-snprintf-posix.h (test_function): Also check the grouping
65484         flag.
65485         * tests/test-sprintf-posix.h (test_function): Likewise.
65486         * tests/test-vasnprintf-posix.c (test_function): Likewise.
65487         * tests/test-vasprintf-posix.c (test_function): Likewise.
65488         * doc/functions/fprintf.texi: Update.
65489         * doc/functions/printf.texi: Update.
65490         * doc/functions/snprintf.texi: Update.
65491         * doc/functions/sprintf.texi: Update.
65492         * doc/functions/vfprintf.texi: Update.
65493         * doc/functions/vprintf.texi: Update.
65494         * doc/functions/vsnprintf.texi: Update.
65495         * doc/functions/vsprintf.texi: Update.
65496
65497 2007-05-01  Bruno Haible  <bruno@clisp.org>
65498
65499         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
65500
65501 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
65502
65503         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
65504         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
65505
65506 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65507
65508         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
65509         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
65510         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
65511
65512 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
65513
65514         * lib/argp-help.c (struct hol_entry): New member `ord'.
65515         (HOL_ENTRY_PTRCMP): Use ord for comparison
65516         (hol_sort): Initialize ord.
65517
65518 2007-05-01  Bruno Haible  <bruno@clisp.org>
65519
65520         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
65521         Reported by Eric Blake.
65522         * doc/gnulib.texi (Function Substitutes): Update.
65523
65524 2007-05-01  Bruno Haible  <bruno@clisp.org>
65525
65526         * doc/functions.texi: Remove file, now redundant through
65527         doc/functions/*.texi.
65528
65529 2007-05-01  Bruno Haible  <bruno@clisp.org>
65530
65531         * modules/argp (Depends-on): Add sleep.
65532
65533 2007-05-01  Bruno Haible  <bruno@clisp.org>
65534
65535         * modules/sleep-tests: New file.
65536         * tests/test-sleep.c: New file.
65537
65538         * modules/sleep: New file.
65539         * lib/sleep.c: New file.
65540         * m4/sleep.m4: New file.
65541         * lib/unistd_.h (sleep): New declaration.
65542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
65543         HAVE_SLEEP.
65544         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
65545         * doc/functions/sleep.texi: Document the sleep module.
65546
65547 2007-05-01  Bruno Haible  <bruno@clisp.org>
65548
65549         * lib/sigprocmask.h: Remove file.
65550         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
65551         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
65552         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
65553         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
65554         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
65555         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
65556         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
65557         HAVE_SIGSET_T as a shell variable.
65558         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
65559         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
65560         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
65561         (Depends-on): Add signal. Remove verify.
65562         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
65563         (Include): Mention <signal.h> instead of sigprocmask.h.
65564         * NEWS: Mention the change.
65565         * lib/fatal-signal.c: Don't include sigprocmask.h.
65566
65567 2007-05-01  Bruno Haible  <bruno@clisp.org>
65568
65569         * modules/signal: New file.
65570         * lib/signal_.h: New file.
65571         * m4/signal_h.m4: New file.
65572
65573 2007-05-01  Bruno Haible  <bruno@clisp.org>
65574
65575         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
65576         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
65577         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
65578         HAVE_WCTYPE_CTMP_BUG into wctype.h.
65579
65580 2007-05-01  Bruno Haible  <bruno@clisp.org>
65581
65582         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
65583         configure time.
65584         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
65585         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
65586         * modules/sys_stat (Makefile.am): Substitute their values into
65587         sys/stat.h.
65588
65589 2007-05-01  Bruno Haible  <bruno@clisp.org>
65590
65591         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
65592         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
65593         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
65594
65595 2007-05-01  Bruno Haible  <bruno@clisp.org>
65596
65597         * doc/header/assert.texi: Undo last change: don't mention the gnulib
65598         'assert' module here.
65599
65600 2007-05-01  Bruno Haible  <bruno@clisp.org>
65601
65602         * doc/functions/*.texi: New files.
65603         * doc/functions/google-ranking.txt: New file.
65604         * doc/gnulib.texi (Function Substitutes): New chapter.
65605         (ctime, inet_ntoa): Remove sections.
65606         * doc/ctime.texi: Remove file.
65607         * doc/inet_ntoa.texi: Remove file.
65608         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
65609         dependencies.
65610         (%.info): New rule, specifying a --reference-limit.
65611
65612 2007-05-01  Bruno Haible  <bruno@clisp.org>
65613
65614         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
65615
65616 2007-05-01  Bruno Haible  <bruno@clisp.org>
65617
65618         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
65619         the portability of 'mkdir' to mingw systems.
65620
65621 2007-05-01  Bruno Haible  <bruno@clisp.org>
65622
65623         * doc/headers/google-ranking.txt: New file.
65624
65625 2007-04-30  Eric Blake  <ebb9@byu.net>
65626
65627         Prefer fseeko to fseek.
65628         * modules/getpass (Depends-on): Add fseeko.
65629         * lib/getpass.c (getpass): Use fseeko, not fseek.
65630
65631 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
65632
65633         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
65634         assumes the sorting is stable, while most qsort implementations
65635         are not.  Use argument addresses to ensure they never compare as
65636         equal.
65637
65638         * tests/test-argp-2.sh (usage-indent test): Fix output
65639         (func_compare): Restore diff options
65640         * tests/test-argp.c: Restore #include "progname.h"
65641
65642 2007-04-29  Bruno Haible  <bruno@clisp.org>
65643
65644         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
65645         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
65646         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
65647         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65648         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
65649         (configure.ac): Define CHECK_SNPRINTF_POSIX.
65650         (TESTS, check_PROGRAMS): Add test-snprintf.
65651         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
65652         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
65653         (TESTS, check_PROGRAMS): Add test-vsnprintf.
65654         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
65655         assertions that fail on HP-UX, OSF/1, or IRIX.
65656         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
65657
65658 2007-04-29  Bruno Haible  <bruno@clisp.org>
65659
65660         * MODULES.html.sh (posix_functions): Remove 'contents'.
65661
65662 2007-04-29  Karl Berry  <karl@gnu.org>
65663
65664         * config/srclist.txt (gendocs_template_min): new entry.
65665
65666 2007-04-29  Bruno Haible  <bruno@clisp.org>
65667
65668         Work around fpurge bug on BSD systems.
65669         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
65670         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
65671         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
65672         fpurge to rpl_fpurge if the system already has this function.
65673         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
65674         the case where the system already has this function. Correct invariants
65675         on BSD systems.
65676         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
65677         BSD systems.
65678
65679 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
65680
65681         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
65682         proposed by Sven Verdoolaege.
65683
65684         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
65685         options.
65686         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
65687         (usage and help tests): Update
65688
65689 2007-04-29  Bruno Haible  <bruno@clisp.org>
65690
65691         * tests/test-fflush.c (main): Use a file of size 17, not 10.
65692         Print more information in case of failure. Disable a test on BeOS.
65693
65694 2007-04-29  Bruno Haible  <bruno@clisp.org>
65695
65696         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
65697         This helps debugging on systems on which no gdb is available.
65698
65699 2007-04-29  Bruno Haible  <bruno@clisp.org>
65700
65701         * lib/freading.h: Improve comments.
65702         * lib/fwriting.h: Likewise.
65703         * tests/test-freading.c (main): Don't check freading immediately after
65704         repositioning. Needed for glibc.
65705
65706 2007-04-29  Bruno Haible  <bruno@clisp.org>
65707
65708         * lib/freading.c (freading): Trivial simplification.
65709
65710 2007-04-28  Bruno Haible  <bruno@clisp.org>
65711
65712         * tests/test-fwriting.c (main): Also test the interaction between
65713         fflush and fwriting.
65714         * modules/fwriting-tests (Depends-on): Add fflush.
65715
65716         * tests/test-freading.c (main): Also test the interaction between
65717         fflush and freading.
65718         * modules/freading-tests (Depends-on): Add fflush.
65719
65720 2007-04-28  Bruno Haible  <bruno@clisp.org>
65721
65722         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
65723         fseeko and ftello.
65724         Suggested by Eric Blake.
65725
65726 2007-04-28  Jim Meyering  <jim@meyering.net>
65727
65728         Avoid false-negative in gl_STDINT_H's C99 conformance test.
65729         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
65730         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
65731
65732 2007-04-27  Eric Blake  <ebb9@byu.net>
65733
65734         * doc/headers/assert.texi (assert.h): Document assert module use.
65735
65736 2007-04-27  Bruno Haible  <bruno@clisp.org>
65737
65738         * doc/headers/*.texi: New files.
65739         * doc/gnulib.texi (Header File Substitutes): New chapter.
65740         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
65741         dependencies.
65742         (standards.info ,standards.html, standards.dvi): Update dependencies.
65743         (mostlyclean, clean): New targets.
65744
65745 2007-04-27  Bruno Haible  <bruno@clisp.org>
65746
65747         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
65748         * modules/sysexits (Files, Makefile.am): Update.
65749
65750         * lib/sys_socket_.h: Renamed from lib/socket_.h.
65751         * modules/sys_socket (Files, Makefile.am): Update.
65752
65753         * lib/sys_stat_.h: Renamed from lib/stat_.h.
65754         * modules/sys_stat (Files, Makefile.am): Update.
65755
65756 2007-04-27  Eric Blake  <ebb9@byu.net>
65757
65758         * lib/freading.h: Improve comments.
65759         * lib/fwriting.h: Likewise.
65760         * lib/fflush.c: Likewise.
65761
65762         Fix closein for mingw.
65763         * modules/closein-tests: Add tests for closein.
65764         * tests/test-closein.c: New file.
65765         * tests/test-closein.sh: Likewise.
65766         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
65767         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
65768
65769 2007-04-27  Bruno Haible  <bruno@clisp.org>
65770
65771         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
65772         version is < 6.
65773         * lib/math_.h [__DECC]: Likewise.
65774         * lib/stdio_.h [__DECC]: Likewise.
65775         * lib/stdlib_.h [__DECC]: Likewise.
65776         * lib/string_.h [__DECC]: Likewise.
65777         * lib/time_.h [__DECC]: Likewise.
65778         * lib/wchar_.h [__DECC]: Likewise.
65779         * lib/wctype_.h [__DECC]: Likewise.
65780
65781 2007-04-27  Bruno Haible  <bruno@clisp.org>
65782
65783         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
65784
65785 2007-04-27  Bruno Haible  <bruno@clisp.org>
65786
65787         * lib/fflush.c: Add comments.
65788         * modules/fpurge-tests (Depends-on): Add fflush.
65789         * modules/freadable-tests (Depends-on): Likewise.
65790         * modules/fwritable-tests (Depends-on): Likewise.
65791
65792 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
65793
65794         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
65795         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
65796         Report by Bruno Haible <bruno@clisp.org>.
65797
65798 2007-04-26  Eric Blake  <ebb9@byu.net>
65799
65800         Fix fflush on mingw.
65801         * modules/fflush (Depends-on): Add freading.
65802         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
65803         but unread data.
65804
65805 2007-04-26  Eric Blake  <ebb9@byu.net>
65806         and Bruno Haible  <bruno@clisp.org>
65807
65808         Implement freading and fwriting.
65809         * lib/freading.c: New file.
65810         * lib/freading.h: Likewise.
65811         * m4/freading.m4: Likewise.
65812         * modules/freading: Likewise.
65813         * modules/freading-tests: Likewise.
65814         * tests/test-freading.c: Likewise.
65815         * lib/fwriting.c: New file.
65816         * lib/fwriting.h: Likewise.
65817         * m4/fwriting.m4: Likewise.
65818         * modules/fwriting: Likewise.
65819         * modules/fwriting-tests: Likewise.
65820         * tests/test-fwriting.c: Likewise.
65821         * MODULES.html.sh (File stream based Input/Output): Mention them.
65822
65823 2007-04-26  Bruno Haible  <bruno@clisp.org>
65824
65825         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
65826         'long' when we assume it.
65827         Suggested by Eric Blake.
65828
65829 2007-04-26  Bruno Haible  <bruno@clisp.org>
65830
65831         Ensure fseeko, ftello are declared on glibc systems.
65832         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
65833         * modules/fseeko (configure.ac-early): Likewise.
65834         * modules/ftello (configure.ac-early): Likewise.
65835         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
65836         AC_FUNC_FSEEKO for this.
65837         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
65838         (gl_CHECK_FSEEKO): Remove macro.
65839
65840 2007-04-26  Bruno Haible  <bruno@clisp.org>
65841
65842         * tests/test-fflush.c (main): Also check the ftell result after
65843         fflush and fseek/fseeko.
65844         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
65845         file descriptor position cache in the stream.
65846         * lib/fseeko.c (rpl_fseeko): Likewise.
65847
65848 2007-04-26  Bruno Haible  <bruno@clisp.org>
65849
65850         * modules/fflush-tests (Depends-on): Add fseeko.
65851
65852 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
65853             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65854
65855         * lib/argz_.h: ensure error_t definition is obtained in same
65856         mechanism system argz.h would have.
65857         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
65858         argz facilities are known bad.  Err on the side of caution if
65859         cross-compiling.
65860
65861 2007-04-25  Eric Blake  <ebb9@byu.net>
65862
65863         * lib/fpurge.c (includes): Use stdlib.h for free.
65864         * tests/test-fflush.c (main): Also test fflush-fseeko.
65865
65866 2007-04-25  Bruno Haible  <bruno@clisp.org>
65867
65868         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
65869         * lib/fseeko.c: New file.
65870         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
65871         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
65872         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
65873         gl_FUNC_FSEEKO.
65874         (gl_FUNC_FSEEKO): Invoke it.
65875         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
65876         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
65877         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
65878
65879 2007-04-25  Bruno Haible  <bruno@clisp.org>
65880
65881         * modules/fflush (Depends-on): Add ftello.
65882
65883 2007-04-25  Bruno Haible  <bruno@clisp.org>
65884
65885         * modules/ftello-tests: New file.
65886         * tests/test-ftello.c: New file.
65887
65888         * modules/ftello: New file.
65889         * m4/ftello.m4: New file.
65890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
65891         HAVE_FTELLO.
65892         * lib/stdio_.h (ftello): New declaration.
65893         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
65894         HAVE_FTELLO.
65895
65896 2007-04-25  Bruno Haible  <bruno@clisp.org>
65897
65898         * modules/fseeko-tests: New file.
65899         * tests/test-fseeko.c: New file.
65900
65901         * modules/fseeko: New file.
65902         * m4/fseeko.m4: New file.
65903         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
65904         HAVE_FSEEKO.
65905         * lib/stdio_.h (fseeko): New declaration.
65906         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
65907         HAVE_FSEEKO.
65908
65909 2007-04-25  Bruno Haible  <bruno@clisp.org>
65910
65911         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
65912
65913 2007-04-25  Bruno Haible  <bruno@clisp.org>
65914
65915         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
65916         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
65917         * tests/test-unistd.c: Likewise.
65918         * tests/test-fcntl.c: Likewise.
65919
65920 2007-04-23  Eric Blake  <ebb9@byu.net>
65921
65922         * lib/fflush.c: Fix missing include.
65923         Reported by Bruno Haible.
65924
65925 2007-04-23  Bruno Haible  <bruno@clisp.org>
65926
65927         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
65928         Reported by Eric Blake.
65929
65930 2007-04-23  Bruno Haible  <bruno@clisp.org>
65931
65932         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
65933
65934 2007-04-23  Bruno Haible  <bruno@clisp.org>
65935
65936         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
65937
65938 2007-04-23  Bruno Haible  <bruno@clisp.org>
65939
65940         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
65941         Needed on HP-UX 11.
65942
65943 2007-04-16  Eric Blake  <ebb9@byu.net>
65944
65945         Make fflush rely on fpurge.
65946         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
65947         open coding all variants.
65948         * modules/fflush (Depends-on): Add fpurge and unistd.
65949         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
65950         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
65951
65952         Fix --with-tests compilation on cygwin.
65953         * modules/argmatch-tests (Makefile.am): List gnulib library first
65954         in LDADD.
65955         * modules/argp-tests (Makefile.am): Likewise.
65956         * modules/array-list-tests (Makefile.am): Likewise.
65957         * modules/array-oset-tests (Makefile.am): Likewise.
65958         * modules/avltree-list-tests (Makefile.am): Likewise.
65959         * modules/avltree-oset-tests (Makefile.am): Likewise.
65960         * modules/avltreehash-list-tests (Makefile.am): Likewise.
65961         * modules/carray-list-tests (Makefile.am): Likewise.
65962         * modules/dirname-tests (Makefile.am): Likewise.
65963         * modules/frexp-tests (Makefile.am): Likewise.
65964         * modules/isnanl-tests (Makefile.am): Likewise.
65965         * modules/linked-list-tests (Makefile.am): Likewise.
65966         * modules/linkedhash-list-tests (Makefile.am): Likewise.
65967         * modules/lock-tests (Makefile.am): Likewise.
65968         * modules/rbtree-list-tests (Makefile.am): Likewise.
65969         * modules/rbtree-oset-tests (Makefile.am): Likewise.
65970         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
65971         * modules/tls-tests (Makefile.am): Likewise.
65972         * modules/tsearch-tests (Makefile.am): Likewise.
65973         * modules/xvasprintf-tests (Makefile.am): Likewise.
65974
65975         Fix fpurge for cygwin.
65976         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
65977         value.
65978         * modules/fpurge-tests (Depends-on): Clean up trash.
65979
65980 2007-04-16  Simon Josefsson  <simon@josefsson.org>
65981
65982         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
65983
65984         * m4/autobuild.m4: Re-indent.
65985
65986 2007-04-13  Bruno Haible  <bruno@clisp.org>
65987
65988         * modules/fpurge-tests: New file.
65989         * tests/test-fpurge.c: New file.
65990
65991         * modules/fpurge: New file.
65992         * lib/fpurge.h: New file.
65993         * lib/fpurge.c: New file.
65994         * m4/fpurge.m4: New file.
65995
65996 2007-04-13  Bruno Haible  <bruno@clisp.org>
65997
65998         * modules/fbufmode-tests: New file.
65999         * tests/test-fbufmode.c: New file.
66000
66001         * modules/fbufmode: New file.
66002         * lib/fbufmode.h: New file.
66003         * lib/fbufmode.c: New file.
66004         * m4/fbufmode.m4: New file.
66005
66006 2007-04-13  Bruno Haible  <bruno@clisp.org>
66007
66008         * modules/fwritable-tests: New file.
66009         * tests/test-fwritable.c: New file.
66010
66011         * modules/fwritable: New file.
66012         * lib/fwritable.h: New file.
66013         * lib/fwritable.c: New file.
66014         * m4/fwritable.m4: New file.
66015
66016 2007-04-13  Bruno Haible  <bruno@clisp.org>
66017
66018         * modules/freadable-tests: New file.
66019         * tests/test-freadable.c: New file.
66020
66021         * modules/freadable: New file.
66022         * lib/freadable.h: New file.
66023         * lib/freadable.c: New file.
66024         * m4/freadable.m4: New file.
66025
66026 2007-04-13  Bruno Haible  <bruno@clisp.org>
66027
66028         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
66029         MOSTLYCLEANFILES.
66030
66031 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66032
66033         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
66034         gzip bootstrap.conf to avoid dragging in i18n machinery.
66035         (gnulib_tool_option): Use it.
66036
66037 2007-04-13  Bruno Haible  <bruno@clisp.org>
66038
66039         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
66040         %F directives.
66041         * tests/test-vasprintf-posix.c (test_function): Likewise.
66042         * tests/test-snprintf-posix.h (test_function): Likewise.
66043         * tests/test-sprintf-posix.h (test_function): Likewise.
66044         * tests/test-fprintf-posix.h (test_function): Likewise.
66045         * tests/test-printf-posix.h (test_function): Likewise.
66046         * tests/test-fprintf-posix.out: Likewise.
66047
66048 2007-04-13  Bruno Haible  <bruno@clisp.org>
66049
66050         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
66051         * modules/tls-tests (configure.ac): Likewise.
66052         Reported by Arto C. Nirkko <anirkko@insel.ch>.
66053
66054 2007-04-13  Bruno Haible  <bruno@clisp.org>
66055
66056         * lib/tls.c (glthread_tls_get): Fix return type.
66057         Patch by Arto C. Nirkko <anirkko@insel.ch>.
66058
66059 2007-04-12  Eric Blake  <ebb9@byu.net>
66060
66061         * modules/gettime (Depends-on): Remove gettime.
66062         Reported by Dmitry V. Levin.
66063
66064 2007-04-12  Bruno Haible  <bruno@clisp.org>
66065
66066         * modules/fflush (Include): Mention <stdio.h>.
66067         * modules/strtoimax (Include): Mention <inttypes.h>.
66068         * modules/strtoumax (Include): Likewise.
66069
66070 2007-04-12  Eric Blake  <ebb9@byu.net>
66071
66072         * .cvsignore: New file.
66073         * .gitignore: Likewise.
66074
66075 2007-04-12  Bruno Haible  <bruno@clisp.org>
66076
66077         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
66078         not before, since $(LDADD) often contains libgnu.a.
66079         * modules/striconv-tests (test_striconv_LDADD): Likewise.
66080         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
66081         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
66082         Needed on Cygwin.
66083
66084 2007-04-12  Eric Blake  <ebb9@byu.net>
66085
66086         Work around glibc's failure to flush stdin on fclose.
66087         * lib/closein.c (close_stdin): Flush stdin before closing.
66088
66089         Work around glibc's failure to reset seekable stdin on exit.
66090         * modules/closein: New module.
66091         * lib/closein.c: New file.
66092         * lib/closein.h: Likewise.
66093         * m4/closein.m4: Likewise.
66094         * MODULES.html.sh (File stream based Input/Output): Document it.
66095
66096 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66097
66098         * gnulib-tool: Rename generated 'autobuild' script to
66099         'do-autobuild' in --create-megatestdir output.
66100
66101         * doc/gnulib.texi (Build robot for gnulib): Fix.
66102
66103 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66104
66105         * modules/sysexits (Depends-on): Add absolute-header.
66106
66107 2007-04-12  Eric Blake  <ebb9@byu.net>
66108
66109         No need to preserve errno on success.
66110         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
66111         Reported by Bruno Haible.
66112
66113 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66114
66115         * MODULES.html.sh (Support for maintaining and releasing
66116         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
66117
66118 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66119
66120         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
66121
66122 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66123
66124         * modules/autobuild: New module.
66125
66126         * m4/autobuild.m4: New file.
66127
66128 2007-04-11  Bruno Haible  <bruno@clisp.org>
66129
66130         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
66131         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
66132         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
66133         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
66134         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66135         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66136         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66137         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66138         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66139         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66140         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
66141         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66142         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66143         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
66144         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66145         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66146         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
66147         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66148         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66149         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
66150         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66151         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66152         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
66153         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66154         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66155         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
66156         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66157         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66158         Reported by Eric Blake.
66159
66160 2007-04-11  Bruno Haible  <bruno@clisp.org>
66161
66162         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
66163
66164 2007-04-10  Bruno Haible  <bruno@clisp.org>
66165
66166         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
66167         for NaN and Infinity. Needed on FreeBSD 6.1.
66168         * tests/test-vasnprintf-posix.c (test_function): Undo last change
66169         regarding results for "%010a" of Infinity and NaN.
66170         * tests/test-vasprintf-posix.c (test_function): Likewise.
66171         * tests/test-snprintf-posix.h (test_function): Likewise.
66172         * tests/test-sprintf-posix.h (test_function): Likewise.
66173         * tests/test-fprintf-posix.h (test_function): Likewise.
66174         * tests/test-printf-posix.h (test_function): Likewise.
66175         * tests/test-fprintf-posix.out: Likewise.
66176
66177 2007-04-10  Bruno Haible  <bruno@clisp.org>
66178
66179         * modules/locale-tests: New file.
66180         * tests/test-locale.c: New file.
66181
66182         * modules/locale: New file.
66183         * lib/locale_.h: New file.
66184         * m4/locale_h.m4: New file.
66185
66186 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
66187             Bruno Haible  <bruno@clisp.org>
66188
66189         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
66190         be determined, test for availability of the copysignf, copysign,
66191         copysignl functions.
66192         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
66193         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
66194         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
66195
66196 2007-04-09  Eric Blake  <ebb9@byu.net>
66197
66198         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
66199         * modules/stdio (Makefile.am): Support fflush.
66200         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66201         * modules/fflush: New file.
66202         * lib/fflush.c: Likewise.
66203         * m4/fflush.m4: Likewise.
66204         * modules/fflush-tests: New test.
66205         * tests/test-fflush.c: Likewise.
66206         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
66207
66208 2007-04-06  Bruno Haible  <bruno@clisp.org>
66209
66210         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
66211         (VASNPRINTF): Use signbit for faster determination whether to print a
66212         minus sign.
66213         * modules/vasnprintf (Files): Remove lib/float+.h.
66214         * modules/fprintf-posix (Depends-on): Add signbit.
66215         * modules/snprintf-posix (Depends-on): Likewise.
66216         * modules/sprintf-posix (Depends-on): Likewise.
66217         * modules/vasnprintf-posix (Depends-on): Likewise.
66218         * modules/vasprintf-posix (Depends-on): Likewise.
66219         * modules/vfprintf-posix (Depends-on): Likewise.
66220         * modules/vsnprintf-posix (Depends-on): Likewise.
66221         * modules/vsprintf-posix (Depends-on): Likewise.
66222
66223 2007-04-06  Bruno Haible  <bruno@clisp.org>
66224
66225         * tests/test-frexp.c (main): Test also the sign bit of zero results.
66226         * tests/test-frexpl.c (main): Likewise.
66227         * tests/test-ldexpl.c (main): Likewise.
66228         * modules/frexp-tests (Depends-on): Add signbit.
66229         * modules/frexpl-tests (Depdends-on): Likewise.
66230         * modules/ldexpl-tests (Depdends-on): Likewise.
66231
66232 2007-04-06  Bruno Haible  <bruno@clisp.org>
66233
66234         * modules/signbit-tests: New file.
66235         * tests/test-signbit.c: New file.
66236
66237         * modules/signbit: New file.
66238         * lib/signbitf.c: New file.
66239         * lib/signbitd.c: New file.
66240         * lib/signbitl.c: New file.
66241         * m4/signbit.m4: New file.
66242         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
66243         (signbit): New macro.
66244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
66245         REPLACE_SIGNBIT.
66246         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
66247         REPLACE_FREXPL into math.h.
66248
66249 2007-04-06  Bruno Haible  <bruno@clisp.org>
66250
66251         * modules/isnanf-nolibm-tests: New file.
66252         * tests/test-isnanf.c: New file.
66253
66254         * modules/isnanf-nolibm: New file.
66255         * lib/isnanf.h: New file.
66256         * lib/isnanf.c: New file.
66257         * lib/isnan.c: Consider the USE_FLOAT macro.
66258         * m4/isnanf.m4: New file.
66259
66260 2007-04-06  Bruno Haible  <bruno@clisp.org>
66261
66262         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
66263         (Link): New section.
66264
66265         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
66266
66267 2007-04-06  Bruno Haible  <bruno@clisp.org>
66268
66269         Assume the 'long double' type.
66270         * m4/longdouble.m4: Remove file.
66271         * config/srclist.txt: Don't mention longdouble.m4.
66272         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
66273         * lib/float+.h: Likewise.
66274         * lib/frexp.c: Likewise.
66275         * lib/printf-args.h: Likewise.
66276         * lib/printf-args.c: Likewise.
66277         * lib/printf-frexp.c: Likewise.
66278         * lib/printf-parse.c: Likewise.
66279         * lib/vasnprintf.c: Likewise.
66280         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
66281         * m4/intl.m4: Likewise.
66282         * m4/isnanl.m4: Likewise.
66283         * m4/printf.m4: Likewise.
66284         * m4/printf-frexpl.m4: Likewise.
66285         * m4/vasnprintf.m4: Likewise.
66286         * modules/allocsa (Files): Remove m4/longdouble.m4.
66287         * modules/gettext (Files): Likewise.
66288         * modules/relocatable-prog-wrapper (Files): Likewise.
66289         * modules/vasnprintf (Files): Likewise.
66290         * modules/isnanl (Files): Likewise.
66291         (Include): Simplify.
66292         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
66293         (Include): Simplify.
66294         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
66295         (Include): Simplify.
66296         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
66297         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66298         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
66299         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66300         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66301         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66302         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
66303         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66304         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
66305         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66306         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
66307         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
66308         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
66309         * tests/test-isnanl.c: Likewise.
66310         * tests/test-snprintf-posix.h: Likewise.
66311         * tests/test-sprintf-posix.h: Likewise.
66312         * tests/test-vasnprintf-posix.c: Likewise.
66313         * tests/test-vasnprintf-posix2.c: Likewise.
66314         * tests/test-vasprintf-posix.c: Likewise.
66315
66316 2007-04-06  Bruno Haible  <bruno@clisp.org>
66317
66318         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
66319         * lib/math_.h [__DECC]: Include the overridden include file through
66320         #include_next, outside the double-inclusion guard.
66321         * lib/stdio_.h [__DECC]: Likewise.
66322         * lib/stdlib_.h [__DECC]: Likewise.
66323         * lib/string_.h [__DECC]: Likewise.
66324         * lib/time_.h [__DECC]: Likewise.
66325         * lib/wchar_.h [__DECC]: Likewise.
66326         * lib/wctype_.h [__DECC]: Likewise.
66327         * lib/inttypes_.h [__DECC]: Likewise.
66328         Reported by Albert Chin <china@thewrittenword.com> in
66329         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
66330
66331 2007-04-04  Eric Blake  <ebb9@byu.net>
66332
66333         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
66334         1.5.x.
66335
66336 2007-04-04  Bruno Haible  <bruno@clisp.org>
66337
66338         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
66339         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
66340
66341 2007-04-04  Bruno Haible  <bruno@clisp.org>
66342
66343         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
66344         results for "%010a" of Infinity and NaN.
66345         * tests/test-vasprintf-posix.c (test_function): Likewise.
66346         * tests/test-snprintf-posix.h (test_function): Likewise.
66347         * tests/test-sprintf-posix.h (test_function): Likewise.
66348         * tests/test-fprintf-posix.h (test_function): Remove these tests.
66349         * tests/test-printf-posix.h (test_function): Likewise.
66350         * tests/test-fprintf-posix.out: Update.
66351         Needed for FreeBSD 6.1.
66352
66353 2007-04-04  Bruno Haible  <bruno@clisp.org>
66354
66355         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
66356         directly used by the gnulib modules nor by gnulib-tool.
66357
66358 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66359
66360         * DEPENDENCIES: Give overall description of version dependency
66361         desirability.  Use more-typical names for apps.
66362         Add shell, coreutils, diffutils, grep, tar, gzip.
66363
66364 2007-04-04  Simon Josefsson  <simon@josefsson.org>
66365
66366         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
66367
66368 2007-04-04  Karl Berry  <karl@gnu.org>
66369
66370         * MODULES.html.sh (func_module): missing '.
66371
66372 2007-04-03  Bruno Haible  <bruno@clisp.org>
66373
66374         * modules/argmatch-tests (Makefile.am): New variable
66375         test_argmatch_LDADD.
66376         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
66377         * modules/array-list-tests (Makefile.am): New variable
66378         test_array_list_LDADD.
66379         * modules/array-oset-tests (Makefile.am): New variable
66380         test_array_oset_LDADD.
66381         * modules/avltree-list-tests (Makefile.am): New variable
66382         test_avltree_list_LDADD.
66383         * modules/avltree-oset-tests (Makefile.am): New variable
66384         test_avltree_oset_LDADD.
66385         * modules/avltreehash-list-tests (Makefile.am): New variable
66386         test_avltreehash_list_LDADD.
66387         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
66388         test_canonicalize_lgpl_LDADD.
66389         * modules/carray-list-tests (Makefile.am): New variable
66390         test_carray_list_LDADD.
66391         * modules/dirname-tests (Makefile.am): New variable
66392         test_dirname_LDADD.
66393         * modules/linked-list-tests (Makefile.am): New variable
66394         test_linked_list_LDADD.
66395         * modules/linkedhash-list-tests (Makefile.am): New variable
66396         test_linkedhash_list_LDADD.
66397         * modules/rbtree-list-tests (Makefile.am): New variable
66398         test_rbtree_list_LDADD.
66399         * modules/rbtree-oset-tests (Makefile.am): New variable
66400         test_rbtree_oset_LDADD.
66401         * modules/rbtreehash-list-tests (Makefile.am): New variable
66402         test_rbtreehash_list_LDADD.
66403         * modules/xvasprintf-tests (Makefile.am): New variable
66404         test_xvasprintf_LDADD.
66405         Reported by Eric Blake.
66406
66407 2007-04-03  Eric Blake  <ebb9@byu.net>
66408
66409         * DEPENDENCIES: Weaken m4 requirements.
66410
66411 2007-04-03  Bruno Haible  <bruno@clisp.org>
66412
66413         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
66414         * modules/isnanl-tests (configure.ac): Likewise.
66415
66416 2007-04-03  Ben Pfaff  <blp@gnu.org>
66417
66418         * modules/iconv_open: Add $(srcdir)/ to source directory
66419         references in Makefile fragments that call gperf, to fix VPATH
66420         builds.
66421
66422 2007-04-03  Bruno Haible  <bruno@clisp.org>
66423
66424         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
66425         * lib/ldexpl.c: Undo last change.
66426
66427 2007-04-03  Bruno Haible  <bruno@clisp.org>
66428
66429         * modules/printf-frexpl (Depends-on): Undo last change.
66430         (Files): Add m4/ldexpl.m4.
66431
66432 2007-04-03  Bruno Haible  <bruno@clisp.org>
66433
66434         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
66435         * modules/isnanl (Link): New section.
66436
66437         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
66438         * modules/frexp (Link): New section.
66439
66440         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
66441         * modules/frexpl (Link): New section.
66442
66443         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
66444         * modules/ldexpl (Link): New section.
66445
66446 2007-04-03  Bruno Haible  <bruno@clisp.org>
66447
66448         * modules/TEMPLATE-EXTENDED: New file.
66449         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
66450
66451 2007-04-03  Bruno Haible  <bruno@clisp.org>
66452
66453         * DEPENDENCIES: New file.
66454         Suggested by Simon Josefsson.
66455
66456 2007-04-03  Bruno Haible  <bruno@clisp.org>
66457
66458         * doc/gnulib.texi: Escape @.
66459
66460 2007-04-03  James Youngman  <jay@gnu.org>
66461         and Paul Eggert  <eggert@cs.ucla.edu>
66462
66463         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
66464         birthtime on all systems that have birthtime, not just those which
66465         use st_birthtimensec rather than st_birthtim.  Putting zero in
66466         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
66467         that the birth time is not available for files on an NFS mount.
66468
66469 2007-04-03  Simon Josefsson  <simon@josefsson.org>
66470
66471         * modules/memxor: Move back from crypto/, suggested by Bruno.
66472         * modules/crypto/hmac-sha1: Fix memxor dependency.
66473
66474         * modules/crypto/gc: Moved from ../.
66475
66476 2007-04-02  Eric Blake  <ebb9@byu.net>
66477
66478         * lib/ldexpl.c (includes): Avoid libm.
66479
66480         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
66481
66482 2007-04-02  Bruno Haible  <bruno@clisp.org>
66483
66484         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
66485         on IRIX.
66486
66487 2007-04-02  Bruno Haible  <bruno@clisp.org>
66488
66489         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
66490         x86 or x86_64 platforms running MacOS X.
66491         Reported by Ryan Schmidt <@ryandesign.com>.
66492
66493 2007-04-02  Bruno Haible  <bruno@clisp.org>
66494
66495         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
66496         i386.
66497
66498 2007-04-01  Simon Josefsson  <simon@josefsson.org>
66499
66500         * modules/crypto/arcfour: Moved from ../.
66501         * modules/crypto/arcfour-tests: Moved from ../.
66502         * modules/crypto/arctwo: Moved from ../.
66503         * modules/crypto/arctwo-tests: Moved from ../.
66504         * modules/crypto/des: Moved from ../.
66505         * modules/crypto/des-tests: Moved from ../.
66506         * modules/crypto/gc-arcfour: Moved from ../.
66507         * modules/crypto/gc-arcfour-tests: Moved from ../.
66508         * modules/crypto/gc-arctwo: Moved from ../.
66509         * modules/crypto/gc-arctwo-tests: Moved from ../.
66510         * modules/crypto/gc-des: Moved from ../.
66511         * modules/crypto/gc-des-tests: Moved from ../.
66512         * modules/crypto/gc-hmac-md5: Moved from ../.
66513         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
66514         * modules/crypto/gc-hmac-sha1: Moved from ../.
66515         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
66516         * modules/crypto/gc-md2: Moved from ../.
66517         * modules/crypto/gc-md2-tests: Moved from ../.
66518         * modules/crypto/gc-md4: Moved from ../.
66519         * modules/crypto/gc-md4-tests: Moved from ../.
66520         * modules/crypto/gc-md5: Moved from ../.
66521         * modules/crypto/gc-md5-tests: Moved from ../.
66522         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
66523         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
66524         * modules/crypto/gc-random: Moved from ../.
66525         * modules/crypto/gc-rijndael: Moved from ../.
66526         * modules/crypto/gc-rijndael-tests: Moved from ../.
66527         * modules/crypto/gc-sha1: Moved from ../.
66528         * modules/crypto/gc-sha1-tests: Moved from ../.
66529         * modules/crypto/gc-tests: Moved from ../.
66530         * modules/crypto/hmac-md5: Moved from ../.
66531         * modules/crypto/hmac-md5-tests: Moved from ../.
66532         * modules/crypto/hmac-sha1: Moved from ../.
66533         * modules/crypto/hmac-sha1-tests: Moved from ../.
66534         * modules/crypto/md2: Moved from ../.
66535         * modules/crypto/md2-tests: Moved from ../.
66536         * modules/crypto/md4: Moved from ../.
66537         * modules/crypto/md4-tests: Moved from ../.
66538         * modules/crypto/md5: Moved from ../.
66539         * modules/crypto/md5-tests: Moved from ../.
66540         * modules/crypto/memxor: Moved from ../.
66541         * modules/crypto/rijndael: Moved from ../.
66542         * modules/crypto/rijndael-tests: Moved from ../.
66543         * modules/crypto/sha1: Moved from ../.
66544
66545 2007-03-30  James Youngman  <jay@gnu.org>
66546
66547         * tests/test-stat-time.c (prepare_test): use chmod() rather than
66548         rename() to change the ctime of a file (because ctime is unaffected
66549         by rename on jfs2 on AIX 5.1).
66550         (main): Start by doing cleanup, in case a previous run failed leaving
66551         test files behind.
66552
66553 2007-03-31  Bruno Haible  <bruno@clisp.org>
66554
66555         Support old proprietary implementations of iconv.
66556         * modules/iconv_open: New file.
66557         * lib/iconv_.h: New file.
66558         * m4/iconv_h.m4: New file.
66559         * lib/iconv_open.c: New file.
66560         * lib/iconv_open-aix.gperf: New file.
66561         * lib/iconv_open-hpux.gperf: New file.
66562         * lib/iconv_open-irix.gperf: New file.
66563         * lib/iconv_open-osf.gperf: New file.
66564         * m4/iconv_open.m4: New file.
66565         * modules/linebreak (Depends-on): Add iconv_open.
66566         * modules/striconv (Depends-on): Likewise.
66567         * modules/striconveh (Depends-on): Likewise.
66568         * modules/unicodeio (Depends-on): Likewise.
66569         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
66570         (iconv_t)(-1).
66571         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
66572         conversion if cd is (iconv_t)(-1).
66573         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
66574         is not possible.
66575
66576 2007-03-31  Bruno Haible  <bruno@clisp.org>
66577
66578         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66579         work on Solaris either. Protect also second use of "autodetect_jp".
66580
66581 2007-03-31  Bruno Haible  <bruno@clisp.org>
66582
66583         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
66584         the function is not present.
66585
66586 2007-03-31  Bruno Haible  <bruno@clisp.org>
66587
66588         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
66589         the function is not present.
66590
66591 2007-03-31  Bruno Haible  <bruno@clisp.org>
66592
66593         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
66594         a bug in HP-UX iconv_open().
66595
66596 2007-03-31  Bruno Haible  <bruno@clisp.org>
66597
66598         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
66599         (Mathematics <math.h>): New section, add fpieee.
66600         (Input/output <stdio.h>): Add fseterr.
66601         (Mathematics <math.h>): New section, add printf-frexp.
66602         (Container data structures): Add sublist.
66603         (Core language properties): Add fpucw, inline.
66604         (Functions for greatest-width integer types <inttypes.h>): Add
66605         imaxabs, imaxdiv, inttypes.
66606         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
66607         isnanl-nolibm, ldexp.
66608         (Mathematics <math.h>): New section, add printf-frexpl.
66609         (Support for systems lacking POSIX:2001): Add fprintf-posix,
66610         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
66611         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
66612         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
66613         (Unicode string functions): Add unistr/u*-mbtoucr.
66614         (Java): Add javacomp-script, javaexec-script.
66615         (C#): Add csharpcomp-script, csharpexec-script.
66616         (Support for building libraries and executables): Add havelib,
66617         relocatable-*.
66618         (Support for maintaining and releasing projects): Renamed from
66619         'Support for maintaining and release projects'. Add announce-gen.
66620
66621 2007-03-31  Bruno Haible  <bruno@clisp.org>
66622
66623         * README: Talk primarily about git.
66624         (git and CVS): Renamed from CVS.
66625         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
66626         gnulib is available through git.
66627         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
66628
66629 2007-03-30  Bruno Haible  <bruno@clisp.org>
66630
66631         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
66632         * lib/poll_.h: Likewise.
66633         * lib/stat_.h: Likewise.
66634         * lib/sys_time_.h: Likewise.
66635         * lib/sysexit_.h: Likewise.
66636         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
66637         * lib/stdbool_.h: Likewise.
66638         * lib/byteswap_.h: Add double-inclusion guard.
66639
66640 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
66641
66642         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
66643
66644 2007-03-30  Karl Berry  <karl@gnu.org>
66645
66646         * config/srclist-update: double space after USA in the license
66647         substitution, since that's how it's usually (?) written.
66648
66649 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
66650
66651         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
66652         reported by Bruno Haible.
66653
66654 2007-03-29  Bruno Haible  <bruno@clisp.org>
66655
66656         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
66657         a bug in AIX iconv().
66658
66659 2007-03-29  Bruno Haible  <bruno@clisp.org>
66660
66661         * modules/ldexpl-tests: New file.
66662         * tests/test-ldexpl.c: New file.
66663
66664 2007-03-29  Bruno Haible  <bruno@clisp.org>
66665
66666         * lib/ldexpl.c: Include fpucw.h.
66667         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
66668         multiplication.
66669         * modules/ldexpl (Depends-on): Add fpucw.
66670
66671 2007-03-29  Bruno Haible  <bruno@clisp.org>
66672
66673         * modules/ldexpl: New file.
66674         * m4/ldexpl.m4: New file.
66675         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
66676         set.
66677         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
66678         REPLACE_LDEXPL.
66679         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
66680         REPLACE_LDEXPL.
66681         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66682         gl_FUNC_LDEXPL_WORKS.
66683         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
66684         * modules/mathl (Files): Remove lib/ldexpl.c.
66685         (Depends-on): Add ldexpl.
66686
66687 2007-03-29  Bruno Haible  <bruno@clisp.org>
66688
66689         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
66690
66691 2007-03-29  Bruno Haible  <bruno@clisp.org>
66692
66693         * tests/test-striconveh.c (main): Don't assume that a direct conversion
66694         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
66695         and possibly also HP-UX.
66696         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
66697         work on AIX, IRIX, HP-UX, OSF/1.
66698         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
66699         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
66700         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
66701         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
66702         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
66703         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
66704
66705 2007-03-29  Bruno Haible  <bruno@clisp.org>
66706
66707         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
66708
66709 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66710
66711         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
66712         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
66713
66714 2007-03-29  Eric Blake  <ebb9@byu.net>
66715
66716         * lib/acl-internal.h: Remove redundant include.
66717         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
66718         Cygwin when a file is locked.
66719
66720 2007-03-29  Bruno Haible  <bruno@clisp.org>
66721
66722         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
66723         file.
66724         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
66725
66726 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
66727
66728         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
66729         try to remove a parent directory if the child couldn't be removed
66730         (except for the first rmdir, which could fail because the child
66731         doesn't exist).  Problem reported by Jeff Blaine in
66732         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
66733
66734 2007-03-28  Bruno Haible  <bruno@clisp.org>
66735
66736         * lib/striconveh.c (utf8conv_carefully): New function.
66737         (mem_cd_iconveh_internal): Invoke it.
66738
66739 2007-03-28  Bruno Haible  <bruno@clisp.org>
66740
66741         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
66742         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
66743         input.
66744         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
66745         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
66746         unistr/u8-uctomb.
66747
66748 2007-03-28  Bruno Haible  <bruno@clisp.org>
66749
66750         * modules/unistr/u8-mbtoucr: New file.
66751         * lib/unistr/u8-mbtoucr.c: New file.
66752         * modules/unistr/u16-mbtoucr: New file.
66753         * lib/unistr/u16-mbtoucr.c: New file.
66754         * modules/unistr/u16-mbtoucr: New file.
66755         * lib/unistr/u16-mbtoucr.c: New file.
66756         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
66757
66758 2007-03-27  Simon Josefsson  <simon@josefsson.org>
66759             Bruno Haible  <bruno@clisp.org>
66760
66761         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
66762         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
66763         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
66764
66765         * m4/stdio_h.m4: Add stubs for vasprintf too.
66766
66767         * modules/stdio: Support vasprintf in sed command.
66768
66769         * modules/vasprintf: Depend on stdio for prototypes.  Remove
66770         vasprintf.h.  Add stdio module indicator.
66771
66772         * lib/stdio_.h: Declare asprintf and vasprintf, based on
66773         vasprintf.h.
66774
66775         * lib/vasprintf.h: File removed.
66776
66777         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
66778         * lib/vasprintf.c: Ditto.
66779         * lib/xvasprintf.c: Ditto.
66780         * tests/test-vasprintf-posix.c: Ditto.
66781         * tests/test-vasprintf.c: Ditto.
66782
66783 2007-03-27  Bruno Haible  <bruno@clisp.org>
66784
66785         Make vasnprintf multithread-safe.
66786         * lib/vasnprintf.c (decimal_point_char): New function.
66787         (VASNPRINTF): Use it.
66788         Suggested by Simon Josefsson.
66789
66790 2007-03-27  Eric Blake  <ebb9@byu.net>
66791
66792         Support sub-second birthtime on cygwin.
66793         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
66794         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
66795         (get_stat_birthtime): Also work with st_birthtim.
66796
66797 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
66798
66799         * lib/stat-time.h (USE_BIRTHTIME): Remove.
66800         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
66801         (get_stat_birthtime_ns): Do not try to use "spare" fields.
66802         (get_stat_birthtime_ns): Simplify compile-time tests.
66803         (get_stat_birthtime): Change the API to look like
66804         get_stat_mtime etc., except return a negative tv_nsec on error.
66805         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
66806         Don't check for "spare" fields.
66807         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
66808         or for struct stat.st_birthtime, as these tests aren't used.
66809         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
66810
66811 2007-03-27  Bruno Haible  <bruno@clisp.org>
66812
66813         * lib/stat-time.h: Include <sys/stat.h>.
66814
66815 2007-03-27  James Youngman  <jay@gnu.org>
66816
66817         * lib/stat-time.h (get_stat_birthtime): New function for
66818           retrieving st_birthtime as provided by UFS2 (hence *BSD).
66819         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
66820           and its variants.
66821         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
66822         * modules/stat-time-test: New file.
66823         * tests/test-stat-time.c: New test, devised by Bruno Haible.
66824
66825 2007-03-26  Bruno Haible  <bruno@clisp.org>
66826
66827         Better support of signalling NaNs.
66828         * lib/atanl.c: Include isnanl.h.
66829         (atanl): Perform test for NaN at the beginning of the function and
66830         through a call to isnanl.
66831         * lib/cosl.c: Include isnanl.h.
66832         (cosl): Perform test for NaN at the beginning of the function and
66833         through a call to isnanl.
66834         * lib/ldexpl.c: Include isnanl.h.
66835         (ldexpl): Perform test for NaN through a call to isnanl.
66836         * lib/logl.c: Include isnanl.h.
66837         (logl): Perform test for NaN at the beginning of the function and
66838         through a call to isnanl.
66839         * lib/sinl.c: Include isnanl.h.
66840         (sinl): Perform test for NaN at the beginning of the function and
66841         through a call to isnanl.
66842         * lib/sqrtl.c: Include isnanl.h.
66843         (sqrtl): Perform test for NaN at the beginning of the function and
66844         through a call to isnanl.
66845         * lib/tanl.c: Include isnanl.h.
66846         (tanl): Perform test for NaN at the beginning of the function and
66847         through a call to isnanl.
66848         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
66849         * modules/mathl (Depends-on): Add isnanl.
66850
66851 2007-03-26  Eric Blake  <ebb9@byu.net>
66852
66853         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
66854         regression in logic sense of previous patch.
66855
66856 2007-03-26  Bruno Haible  <bruno@clisp.org>
66857
66858         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
66859         unportable shell command "if ! ...".
66860         Reported by Ralf Wildenhues.
66861
66862 2007-03-25  Bruno Haible  <bruno@clisp.org>
66863
66864         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
66865         <sysexits.h> file, and only add EX_CONFIG.
66866         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
66867         absolute file name and whether it is sufficient. Substitute also
66868         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
66869         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
66870         ABSOLUTE_SYSEXITS_H into sysexits.h.
66871
66872 2007-03-25  Bruno Haible  <bruno@clisp.org>
66873
66874         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
66875         hints is NULL.
66876
66877 2007-03-25  Bruno Haible  <bruno@clisp.org>
66878
66879         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
66880         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
66881
66882 2007-03-25  Bruno Haible  <bruno@clisp.org>
66883
66884         * lib/vasnprintf.c: Include langinfo.h.
66885         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
66886         multithread-safe.
66887         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
66888         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
66889         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66890         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66891         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66892         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66893         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66894         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
66895         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66896         Reported by Simon Josefsson.
66897
66898 2007-03-25  Bruno Haible  <bruno@clisp.org>
66899
66900         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
66901         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
66902         * modules/vasnprintf (Depends-on): Add stdint.
66903
66904 2007-03-25  Bruno Haible  <bruno@clisp.org>
66905
66906         * modules/fpieee: New file.
66907         * m4/fpieee.m4: New file.
66908         * modules/isnan-nolibm (Depends-on): Add fpieee.
66909         * modules/isnanl-nolibm (Depends-on): Add fpieee.
66910         * modules/isnanl (Depends-on): Add fpieee.
66911
66912 2007-03-25  Bruno Haible  <bruno@clisp.org>
66913
66914         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
66915
66916 2007-03-25  Bruno Haible  <bruno@clisp.org>
66917
66918         Avoid test failures on IRIX 6.5.
66919         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
66920         (main): Use it.
66921         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
66922         macros.
66923         (main): Use them.
66924
66925 2007-03-25  Bruno Haible  <bruno@clisp.org>
66926
66927         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
66928         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
66929         exists but doesn't work.
66930         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
66931         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
66932         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
66933         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
66934         math.h.
66935
66936 2007-03-25  Bruno Haible  <bruno@clisp.org>
66937
66938         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
66939         returns inf. Needed on IRIX 6.5.
66940
66941 2007-03-25  Bruno Haible  <bruno@clisp.org>
66942
66943         * tests/test-frexpl.c: Include isnanl-nolibm.h.
66944         (main): Use isnanl instead of x != x idiom.
66945         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
66946
66947         * tests/test-frexp.c: Include isnan.h.
66948         (main): Use isnan instead of x != x idiom.
66949         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
66950
66951 2007-03-25  Bruno Haible  <bruno@clisp.org>
66952
66953         * tests/test-frexp.c (NaN): New function/macro.
66954         (main): Use it instead of 0.0 / 0.0.
66955         * tests/test-isnan.c (NaN): New function/macro.
66956         (main): Use it instead of 0.0 / 0.0.
66957         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
66958         (test_function): Use it instead of 0.0 / 0.0.
66959         * tests/test-vasprintf-posix.c (NaN): New function/macro.
66960         (test_function): Use it instead of 0.0 / 0.0.
66961         * tests/test-snprintf-posix.h (NaN): New function/macro.
66962         (test_function): Use it instead of 0.0 / 0.0.
66963         * tests/test-sprintf-posix.h (NaN): New function/macro.
66964         (test_function): Use it instead of 0.0 / 0.0.
66965         * tests/test-fprintf-posix.h (NaN): New function/macro.
66966         (test_function): Use it instead of 0.0 / 0.0.
66967         * tests/test-printf-posix.h (NaN): New function/macro.
66968         (test_function): Use it instead of 0.0 / 0.0.
66969
66970         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
66971
66972 2007-03-25  Bruno Haible  <bruno@clisp.org>
66973
66974         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
66975
66976 2007-03-25  Bruno Haible  <bruno@clisp.org>
66977
66978         * lib/regexec.c (merge_state_with_log): Make static.
66979
66980 2007-03-25  Bruno Haible  <bruno@clisp.org>
66981
66982         * lib/trigl.c (kernel_rem_pio2): Make static.
66983
66984 2007-03-25  Bruno Haible  <bruno@clisp.org>
66985
66986         * lib/sincosl.c (sincosl_table): Make static.
66987
66988 2007-03-25  Bruno Haible  <bruno@clisp.org>
66989
66990         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
66991         if the compiler does not support C99.
66992
66993 2007-03-25  Bruno Haible  <bruno@clisp.org>
66994
66995         * modules/time (Makefile.am): Ensure all rule action lines start with a
66996         tab.
66997
66998 2007-03-24  Bruno Haible  <bruno@clisp.org>
66999
67000         * modules/tsearch-tests: New file.
67001         * tests/test-tsearch.sh: New file.
67002         * tests/test-tsearch.c: New file, mostly copied from glibc.
67003
67004         * modules/search-tests: New file.
67005         * tests/test-search.c: New file.
67006
67007         * modules/search: New file.
67008         * lib/search_.h: New file, incorporating lib/tsearch.h.
67009         * m4/search_h.m4: New file.
67010         * lib/tsearch.h: Remove file.
67011         * lib/tsearch.c: Include search.h instead of tsearch.h.
67012         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
67013         HAVE_TSEARCH.
67014         * modules/tsearch (Files): Remove lib/tsearch.h.
67015         (Depends-on): Add search.
67016         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
67017         (Include): Change tsearch.h into search.h.
67018
67019 2007-03-24  Bruno Haible  <bruno@clisp.org>
67020
67021         * modules/fpucw: New file.
67022         * lib/fpucw.h: New file.
67023         * lib/frexp.c: Include fpucw.h.
67024         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67025         (FUNC): Use them.
67026         * lib/printf-frexp.c: Include fpucw.h.
67027         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67028         (FUNC): Use them.
67029         * lib/vasnprintf.c: Include fpucw.h.
67030         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
67031         'long double' calculations.
67032         * tests/test-frexpl.c: Include fpucw.h.
67033         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67034         * tests/test-printf-frexpl.c: Include fpucw.h.
67035         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67036         * modules/frexpl (Depends-on): Add fpucw.
67037         * modules/printf-frexpl (Depends-on): Likewise.
67038         * modules/fprintf-posix (Depends-on): Likewise.
67039         * modules/snprintf-posix (Depends-on): Likewise.
67040         * modules/sprintf-posix (Depends-on): Likewise.
67041         * modules/vasnprintf-posix (Depends-on): Likewise.
67042         * modules/vasprintf-posix (Depends-on): Likewise.
67043         * modules/vfprintf-posix (Depends-on): Likewise.
67044         * modules/vsnprintf-posix (Depends-on): Likewise.
67045         * modules/vsprintf-posix (Depends-on): Likewise.
67046         * modules/frexpl-tests (Depends-on): Likewise.
67047         * modules/printf-frexpl-tests (Depends-on): Likewise.
67048
67049 2007-03-24  Bruno Haible  <bruno@clisp.org>
67050
67051         * lib/float+.h: New file.
67052         * lib/isnan.c: Include float+.h.
67053         (SIZE): New macro.
67054         (FUNC): Compare only SIZE bytes of the value.
67055         * lib/vasnprintf.c: Include float+.h.
67056         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
67057         SIZEOF_LDBL or SIZEOF_DBL bytes.
67058         * modules/isnan-nolibm (Files): Add lib/float+.h.
67059         * modules/isnanl-nolibm (Files): Add lib/float+.h.
67060         * modules/isnanl (Files): Add lib/float+.h.
67061         * modules/vasnprintf (Files): Add lib/float+.h.
67062
67063 2007-03-24  Bruno Haible  <bruno@clisp.org>
67064
67065         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
67066         include isnanl-nolibm.h.
67067
67068 2007-03-24  Bruno Haible  <bruno@clisp.org>
67069
67070         * tests/test-read-file.c (main): Don't produce spurious output for
67071         expected situations. Make the test fail if it encountered unexpected
67072         results.
67073
67074 2007-03-24  Bruno Haible  <bruno@clisp.org>
67075
67076         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
67077         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
67078
67079 2007-03-24  Bruno Haible  <bruno@clisp.org>
67080
67081         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
67082
67083 2007-03-24  Bruno Haible  <bruno@clisp.org>
67084
67085         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
67086         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
67087
67088         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
67089         * modules/utf8-ucs4: Turn into a symbolic link to module
67090         unistr/u8-mbtouc.
67091
67092         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
67093         utf8-ucs4-unsafe.
67094         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
67095         unistr/u8-mbtouc-unsafe.
67096
67097         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
67098         * modules/utf16-ucs4: Turn into a symbolic link to module
67099         unistr/u16-mbtouc.
67100
67101         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
67102         utf16-ucs4-unsafe.
67103         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
67104         unistr/u16-mbtouc-unsafe.
67105
67106         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
67107         * modules/ucs4-utf8: Turn into a symbolic link to module
67108         unistr/u8-ubtomb.
67109
67110         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
67111         * modules/ucs4-utf16: Turn into a symbolic link to module
67112         unistr/u16-ubtomb.
67113
67114 2007-03-24  Bruno Haible  <bruno@clisp.org>
67115
67116         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
67117         Enable the function only if HAVE_INLINE.
67118         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
67119         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67120         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
67121         Enable the function only if HAVE_INLINE.
67122         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
67123         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67124         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
67125         Enable the function only if HAVE_INLINE.
67126         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
67127         Enable the function only if HAVE_INLINE.
67128         * modules/utf8-ucs4: Update.
67129         * modules/utf8-ucs4-unsafe: Update.
67130         * modules/utf16-ucs4: Update.
67131         * modules/utf16-ucs4-unsafe: Update.
67132         * modules/ucs4-utf8: Update.
67133         * modules/ucs4-utf16: Update.
67134
67135 2007-03-24  Bruno Haible  <bruno@clisp.org>
67136
67137         * lib/utf8-ucs4.h: Remove file.
67138         * lib/utf8-ucs4-unsafe.h: Remove file.
67139         * lib/utf16-ucs4.h: Remove file.
67140         * lib/utf16-ucs4-unsafe.h: Remove file.
67141         * lib/ucs4-utf8.h: Remove file.
67142         * lib/ucs4-utf16.h: Remove file.
67143         * lib/unistr.h: Include their previous contents.
67144         * m4/utf-ucs4.m4: Remove file.
67145         * m4/ucs4-utf.m4: Remove file.
67146         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
67147         (Depends-on): Add unistr/base.
67148         (configure.ac): Remove gl_UTF_UCS4.
67149         (Makefile.am): Update.
67150         (Include): Change to unistr.h.
67151         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
67152         (Depends-on): Add unistr/base.
67153         (configure.ac): Remove gl_UTF_UCS4.
67154         (Makefile.am): Update.
67155         (Include): Change to unistr.h.
67156         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
67157         (Depends-on): Add unistr/base.
67158         (configure.ac): Remove gl_UTF_UCS4.
67159         (Makefile.am): Update.
67160         (Include): Change to unistr.h.
67161         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
67162         (Depends-on): Add unistr/base.
67163         (configure.ac): Remove gl_UTF_UCS4.
67164         (Makefile.am): Update.
67165         (Include): Change to unistr.h.
67166         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
67167         (Depends-on): Add unistr/base.
67168         (configure.ac): Remove gl_UCS4_UTF.
67169         (Makefile.am): Update.
67170         (Include): Change to unistr.h.
67171         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
67172         (Depends-on): Add unistr/base.
67173         (configure.ac): Remove gl_UCS4_UTF.
67174         (Makefile.am): Update.
67175         (Include): Change to unistr.h.
67176         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
67177         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
67178         utf8-ucs4-unsafe.h.
67179         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
67180         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
67181         utf16-ucs4-unsafe.h.
67182         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
67183         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
67184         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
67185         * lib/unistr/u8-strchr.c: Likewise.
67186         * lib/unistr/u8-strrchr.c: Likewise.
67187         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
67188         * lib/unistr/u16-strchr.c: Likewise.
67189         * lib/unistr/u16-strrchr.c: Likewise.
67190         * lib/striconveh.c: Update.
67191         * lib/linebreak.c: Update.
67192
67193 2007-03-24  Bruno Haible  <bruno@clisp.org>
67194
67195         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
67196         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
67197
67198 2007-03-22  Bruno Haible  <bruno@clisp.org>
67199
67200         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
67201
67202 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67203
67204         * MODULES.html.sh (File system functions): New module write-any-file.
67205         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
67206         * m4/write-any-file.m4: New files.
67207
67208 2007-03-23  Eric Blake  <ebb9@byu.net>
67209
67210         * gnulib-tool: Rearrange space-tab sequences, since some editors
67211         like to eat them.
67212
67213 2007-03-23  Eric Blake  <ebb9@byu.net>
67214
67215         * lib/version-etc.c (version_etc_va): Update license wording to
67216         be more concise.  Recommended by Richard Stallman.
67217
67218 2007-03-22  Bruno Haible  <bruno@clisp.org>
67219
67220         * lib/poll.c (MSG_PEEK): New fallback definition.
67221
67222 2007-03-22  Bruno Haible  <bruno@clisp.org>
67223
67224         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
67225         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
67226         (main): Update.
67227         Fixes a compilation error on BeOS.
67228
67229 2007-03-22  Bruno Haible  <bruno@clisp.org>
67230
67231         * modules/frexpl-tests: New file.
67232         * tests/test-frexpl.c: New file.
67233
67234         * modules/frexpl: New file.
67235         * m4/frexpl.m4: New file.
67236         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
67237         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
67238         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
67239         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
67240         (Depends-on): Add frexpl. Remove isnanl-nolibm.
67241         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
67242
67243 2007-03-22  Bruno Haible  <bruno@clisp.org>
67244
67245         * lib/frexpl.c: Share code with lib/frexp.c.
67246         * modules/mathl (Files): Add lib/frexp.c.
67247         (Depends-on): Add isnanl-nolibm.
67248
67249 2007-03-22  Bruno Haible  <bruno@clisp.org>
67250
67251         * modules/printf-frexp (Files): Add m4/frexp.m4.
67252         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
67253         only if the found frexp function actually works.
67254
67255 2007-03-22  Bruno Haible  <bruno@clisp.org>
67256
67257         * lib/frexp.c: Remove older implementation that uses divisions.
67258
67259 2007-03-21  Bruno Haible  <bruno@clisp.org>
67260
67261         * modules/frexp-tests: New file.
67262         * tests/test-frexp.c: New file.
67263
67264         * modules/frexp: New file.
67265         * lib/frexp.c: New file.
67266         * m4/frexp.m4: New file.
67267         * lib/math_.h (frexp): New declaration.
67268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
67269         REPLACE_FREXP.
67270         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
67271
67272 2007-03-21  Bruno Haible  <bruno@clisp.org>
67273
67274         * modules/isnanl-tests: New file.
67275         * tests/test-isnanl.c: New file.
67276
67277         * modules/isnanl: New file.
67278         * lib/isnanl.h: New file.
67279         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
67280         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
67281         gl_FUNC_ISNANL_WORKS.
67282         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
67283         New macros.
67284
67285 2007-03-21  Bruno Haible  <bruno@clisp.org>
67286
67287         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
67288         lib/isnanl.h.
67289         (Include): Update.
67290         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
67291         * lib/vasnprintf.c: Update.
67292         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
67293         tests/test-isnanl.h, remove tests/test-isnanl.c.
67294         (Makefile.am): Update.
67295         * tests/test-isnanl-nolibm.c: New file.
67296         * tests/test-isnanl.h: New file.
67297         * tests/test-isnanl.c: Remove file.
67298
67299 2007-03-21  Jim Meyering  <jim@meyering.net>
67300
67301         When trying to open ".", treat ESTALE like EACCES.
67302         * lib/savewd.c (savewd_save): Resort to forking not just upon
67303         failure with EACCES, but also when errno is ESTALE.
67304
67305 2007-03-20  Bruno Haible  <bruno@clisp.org>
67306
67307         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
67308         Needed on AIX 5.1. Reported by Matthew Woehlke.
67309
67310 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67311
67312         Suggestions by Bruno Haible:
67313         * lib/acl-internal.h: Include "gettext.h" rather than rolling
67314         our own.
67315         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
67316         * modules/acl (Depends-on): Add gettext.
67317
67318 2007-03-19  Bruno Haible  <bruno@clisp.org>
67319
67320         * modules/iconvme: Remove file.
67321         * lib/iconvme.h: Remove file.
67322         * lib/iconvme.c: Remove file.
67323         * m4/iconvme.m4: Remove file.
67324
67325 2007-03-19  Bruno Haible  <bruno@clisp.org>
67326
67327         * doc/relocatable-maint.texi: Break long shell script line.
67328         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67329
67330 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67331
67332         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
67333         handle file_has_acl.
67334         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
67335         * lib/acl.c: Move header inclusions and related macro defns into
67336         lib/acl-internal.h.
67337         (S_ISLNK): Remove defn, since that's now done for us.
67338         (file_has_acl): Move to lib/file-has-acl.c.
67339         Call acl_trivial if available.  This is the crucial part of the fix.
67340         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
67341         shared within the library.  Rewrite a bit, partly to make it compatible
67342         with the GNU coding style.
67343         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
67344         Remove unnecessary double-quotes.
67345         Don't test for acl_to_text; the build will catch that.
67346         Replace acl_entries if it doesn't exist and it is needed.
67347         Check for -lsec and acl_trivial (as used on Solaris 10).
67348         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
67349         lib/file-has-acl.c.
67350         (Depends-on): Add sys_stat, for S_ISLNK.
67351
67352 2007-03-19  Ben Pfaff  <blp@gnu.org>
67353
67354         * doc/gnulib.texi: Fix typos.
67355         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
67356
67357 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
67358
67359         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
67360         If size is zero here, buf must be zero.
67361
67362 2007-03-19  Simon Josefsson  <simon@josefsson.org>
67363
67364         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
67365         <bruno@clisp.org>.
67366
67367 2007-03-18  Bruno Haible  <bruno@clisp.org>
67368
67369         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
67370         Suggested by Eric Blake.
67371
67372 2007-03-18  Ben Pfaff  <blp@gnu.org>
67373
67374         * doc/relocatable.texi: Recommend using as prefix a directory
67375         that does not exist and will never be created.  Based on
67376         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
67377         and others.
67378
67379 2007-03-17  Bruno Haible  <bruno@clisp.org>
67380
67381         * lib/fchownat.c: Include lchown.h.
67382
67383 2007-03-17  Bruno Haible  <bruno@clisp.org>
67384
67385         Fix endless loop when the given allocated size was > INT_MAX.
67386         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
67387         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
67388         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
67389         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
67390         * lib/sprintf.c (sprintf): Likewise.
67391
67392 2007-03-17  Bruno Haible  <bruno@clisp.org>
67393
67394         * tests/test-argp-2.sh (func_compare): Output a context diff.
67395
67396 2007-03-17  Bruno Haible  <bruno@clisp.org>
67397
67398         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
67399         locale's decimal-point character.
67400
67401 2007-03-17  Bruno Haible  <bruno@clisp.org>
67402
67403         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
67404         before comparing it. Needed because on some platforms (e.g. x86) a
67405         'long double' occupies less bytes than sizeof (long double).
67406
67407 2007-03-17  Bruno Haible  <bruno@clisp.org>
67408
67409         * tests/test-crc.c (main): Make printf statements 64-bit clean.
67410         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
67411         * tests/test-getaddrinfo.c (simple): Likewise.
67412         * tests/test-read-file.c (main): Likewise.
67413
67414 2007-03-17  Bruno Haible  <bruno@clisp.org>
67415
67416         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
67417
67418 2007-03-17  Bruno Haible  <bruno@clisp.org>
67419
67420         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
67421         unused variable.
67422
67423 2007-03-17  Bruno Haible  <bruno@clisp.org>
67424
67425         * tests/test-c-strcasecmp.c: Include c-strcase.h.
67426         * tests/test-c-strncasecmp.c: Likewise.
67427
67428 2007-03-17  Bruno Haible  <bruno@clisp.org>
67429
67430         * modules/stdlib (Depends-on): Add unistd.
67431         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
67432         Needed for MacOS X 10.3.
67433
67434 2007-03-17  Bruno Haible  <bruno@clisp.org>
67435
67436         * lib/unistr/u-strdup.h: Include <stdlib.h>.
67437
67438 2007-03-17  Bruno Haible  <bruno@clisp.org>
67439
67440         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
67441
67442 2007-03-17  Bruno Haible  <bruno@clisp.org>
67443
67444         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
67445         to reflect files copied from gnulib (with or without modifications).
67446         Suggested by Jim Meyering.
67447
67448 2007-03-17  Eric Blake  <ebb9@byu.net>
67449
67450         * NEWS: Document stdlib change from 2007-02-18.
67451
67452 2007-03-17  Jim Meyering  <jim@meyering.net>
67453
67454         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
67455         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
67456         someone uses a name containing shell meta-characters.
67457         Reported by Alfred M. Szmidt.
67458
67459         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
67460
67461 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67462
67463         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
67464         and copy gettext configuration files only if configure.ac contains
67465         a use of AM_GNU_GETTEXT_VERSION.
67466
67467 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
67468
67469         * build-aux/bootstrap (gnulib_name): New variable.
67470         (gnulib_tool_options): Use it.
67471
67472 2007-03-13  Simon Josefsson  <simon@josefsson.org>
67473
67474         * tests/test-des.c: Use new namespace.
67475
67476 2007-03-15  Bruno Haible  <bruno@clisp.org>
67477
67478         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
67479         Reported by James Youngman <jay@gnu.org>.
67480
67481 2007-03-15  Bruno Haible  <bruno@clisp.org>
67482
67483         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
67484         declared prototype. Needed with cc on OSF/1 5.1.
67485
67486 2007-03-15  Bruno Haible  <bruno@clisp.org>
67487
67488         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
67489         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
67490         (struct gl_list_implementation): Add dispose_fn argument to the
67491         'create_empty', 'create' methods.
67492         (struct gl_list_impl_base): Add field 'dispose_fn'.
67493         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
67494         argument.
67495         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
67496         dispose_fn argument.
67497         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
67498         dispose_fn on the dropped values.
67499         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
67500         dispose_fn argument.
67501         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
67502         dropped values.
67503         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
67504         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67505         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
67506         (gl_tree_remove_node): Call dispose_fn on the dropped value.
67507         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
67508         argument.
67509         (gl_tree_list_free): Call dispose_fn on the dropped values.
67510         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
67511         the dropped values.
67512         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
67513         Add dispose_fn argument.
67514         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
67515         Call dispose_fn on the dropped values.
67516         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
67517         Add dispose_fn argument.
67518         (gl_sublist_create): Initialize the 'dispose_fn' field.
67519         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
67520         * tests/test-array_list.c (main): Update.
67521         * tests/test-carray_list.c (main): Update.
67522         * tests/test-avltree_list.c (main): Update.
67523         * tests/test-rbtree_list.c (main): Update.
67524         * tests/test-avltreehash_list.c (main): Update.
67525         * tests/test-rbtreehash_list.c (main): Update.
67526         * tests/test-linked_list.c (main): Update.
67527         * tests/test-linkedhash_list.c (main): Update.
67528         * tests/test-array_oset.c (main): Update.
67529
67530 2007-03-15  Bruno Haible  <bruno@clisp.org>
67531
67532         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
67533         (gl_oset_create_empty): Add dispose_fn argument.
67534         (struct gl_oset_implementation): Add dispose_fn argument to
67535         'create_empty' method.
67536         (struct gl_oset_impl_base): Add dispose_fn field.
67537         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
67538         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
67539         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
67540         values.
67541         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
67542         (gl_tree_oset_free): Call dispose_fn on the dropped values.
67543         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67544         dropped value.
67545         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
67546         dropped value.
67547         * tests/test-array_oset.c (main): Update.
67548         * tests/test-avltree_oset.c (main): Update.
67549         * tests/test-rbtree_oset.c (main): Update.
67550         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
67551
67552 2007-03-13  Bruno Haible  <bruno@clisp.org>
67553
67554         * tests/test-stdbool.c (i): Update after last patch.
67555
67556 2007-03-12  Bruno Haible  <bruno@clisp.org>
67557
67558         * lib/quotearg.c: Include <wctype.h> early, before the definition of
67559         the iswprint macro. Needed on Solaris 2.5.1.
67560
67561 2007-03-12  Bruno Haible  <bruno@clisp.org>
67562
67563         * tests/test-printf-frexp.c (main): Declare x as volatile.
67564
67565 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67566
67567         * doc/gnulib.texi (Build robot for gnulib): New section.
67568
67569 2007-03-12  Jim Meyering  <jim@meyering.net>
67570
67571         * build-aux/bootstrap: New file.
67572         * build-aux/bootstrap.conf: New file, from coreutils.
67573
67574 2007-03-11  Bruno Haible  <bruno@clisp.org>
67575
67576         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
67577
67578 2007-03-12  Simon Josefsson  <simon@josefsson.org>
67579
67580         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
67581         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
67582         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
67583
67584 2007-03-11  Bruno Haible  <bruno@clisp.org>
67585
67586         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
67587         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
67588
67589 2007-03-11  Bruno Haible  <bruno@clisp.org>
67590
67591         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
67592         formula. Needed for SunPRO C 5.0.
67593
67594 2007-03-11  Bruno Haible  <bruno@clisp.org>
67595
67596         * modules/long-options (Depends-on): Add getopt.
67597
67598 2007-03-11  Bruno Haible  <bruno@clisp.org>
67599
67600         * modules/modechange (Depends-on): Add stdbool.
67601
67602 2007-03-11  Bruno Haible  <bruno@clisp.org>
67603
67604         * modules/i-ring (Depends-on): Add stdbool.
67605
67606 2007-03-11  Bruno Haible  <bruno@clisp.org>
67607
67608         * modules/gc-des (Depends-on): Add stdbool.
67609
67610 2007-03-11  Bruno Haible  <bruno@clisp.org>
67611
67612         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
67613
67614 2007-03-11  Bruno Haible  <bruno@clisp.org>
67615
67616         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
67617
67618 2007-03-11  Bruno Haible  <bruno@clisp.org>
67619
67620         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
67621
67622 2007-03-11  Bruno Haible  <bruno@clisp.org>
67623
67624         * lib/vasnprintf.c (sprintf): Undefine.
67625
67626 2007-03-11  Bruno Haible  <bruno@clisp.org>
67627
67628         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
67629         initializers in SunPRO C and Compaq C compilers.
67630
67631 2007-03-11  Bruno Haible  <bruno@clisp.org>
67632
67633         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
67634         decrementing code ANSI C compliant.
67635
67636 2007-03-11  Bruno Haible  <bruno@clisp.org>
67637
67638         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
67639         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
67640
67641 2007-03-11  Bruno Haible  <bruno@clisp.org>
67642
67643         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
67644         <stdbool.h> substitute doesn't pass.
67645
67646 2007-03-11  Bruno Haible  <bruno@clisp.org>
67647
67648         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
67649
67650 2007-03-11  Bruno Haible  <bruno@clisp.org>
67651
67652         * gnulib-tool (func_create_megatestdir): Create also an autobuild
67653         script, for submission to autobuild.josefsson.org.
67654
67655 2007-03-10  Bruno Haible  <bruno@clisp.org>
67656
67657         * modules/canonicalize-lgpl-tests: New file.
67658         * tests/test-canonicalize-lgpl.sh: New file.
67659         * tests/test-canonicalize-lgpl.c: New file.
67660
67661         * modules/c-strcase-tests: New file.
67662         * tests/test-c-strcase.sh: New file.
67663         * tests/test-c-strcasecmp.c: New file.
67664         * tests/test-c-strncasecmp.c: New file.
67665
67666         * modules/atexit-tests: New file.
67667         * tests/test-atexit.sh: New file.
67668         * tests/test-atexit.c: New file.
67669
67670 2007-03-10  Bruno Haible  <bruno@clisp.org>
67671
67672         * tests/test-binary-io.sh: Use temporary filenames that are not so
67673         likely to clash with those of other tests (in a parallel make).
67674         * tests/test-binary-io.c: Likewise.
67675
67676 2007-03-10  Bruno Haible  <bruno@clisp.org>
67677
67678         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
67679         fallback; use #error instead.
67680         Suggested by Simon Josefsson.
67681
67682 2007-03-10  Bruno Haible  <bruno@clisp.org>
67683
67684         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
67685         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
67686         first and the last.
67687
67688 2007-03-10  Bruno Haible  <bruno@clisp.org>
67689
67690         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
67691
67692 2007-03-10  Bruno Haible  <bruno@clisp.org>
67693
67694         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
67695         "make distcheck".
67696         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
67697         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
67698         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
67699
67700 2007-03-10  Bruno Haible  <bruno@clisp.org>
67701
67702         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
67703         variable.
67704         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
67705         variable.
67706
67707 2007-03-09  Eric Blake  <ebb9@byu.net>
67708         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
67709
67710         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
67711         types are not being provided by gnulib.
67712         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
67713         types are supported.
67714
67715 2007-03-10  Bruno Haible  <bruno@clisp.org>
67716
67717         * lib/stdio_.h (__attribute__): New macro.
67718         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
67719         vsprintf): Specify __attribute__ __format__ for GCC.
67720         Suggested by Eric Blake.
67721
67722 2007-03-09  Bruno Haible  <bruno@clisp.org>
67723
67724         * modules/printf-posix-tests: New file.
67725         * tests/test-printf-posix.sh: New file.
67726         * tests/test-printf-posix.c: New file.
67727
67728         * modules/printf-posix: New file.
67729         * lib/printf.c: New file.
67730         * m4/printf-posix-rpl.m4: New file.
67731         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
67732         REPLACE_PRINTF.
67733         * lib/stdio_.h (printf): New declaration.
67734         (format, __format__, ____printf____, ____scanf____, ____strftime____,
67735         ____strfmon____): New macros.
67736         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
67737         REPLACE_PRINTF.
67738
67739 2007-03-09  Bruno Haible  <bruno@clisp.org>
67740
67741         * tests/test-vasnprintf-posix2.sh: New file.
67742         * tests/test-vasnprintf-posix2.c: New file.
67743         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
67744         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
67745         (Makefile.am): Activate test-vasnprintf-posix2.sh.
67746
67747         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
67748         a locale dependent decimal point, rather than always '.'.
67749
67750 2007-03-09  Eric Blake  <ebb9@byu.net>
67751
67752         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
67753         spite of platforms like Tandem/NSK that define it to -1.
67754
67755 2007-03-08  Bruno Haible  <bruno@clisp.org>
67756
67757         * modules/vprintf-posix-tests: New file.
67758         * tests/test-vprintf-posix.sh: New file.
67759         * tests/test-vprintf-posix.c: New file.
67760         * tests/test-printf-posix.h: New file.
67761
67762         * modules/vprintf-posix: New file.
67763         * lib/vprintf.c: New file.
67764         * m4/vprintf-posix.m4: New file.
67765         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
67766         REPLACE_VPRINTF.
67767         * lib/stdio_.h (vprintf): New declaration.
67768         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
67769         REPLACE_VPRINTF.
67770
67771 2007-03-08  Bruno Haible  <bruno@clisp.org>
67772
67773         * modules/fprintf-posix-tests: New file.
67774         * tests/test-fprintf-posix.sh: New file.
67775         * tests/test-fprintf-posix.c: New file.
67776
67777         * modules/fprintf-posix: New file.
67778         * lib/fprintf.c: New file.
67779         * m4/fprintf-posix.m4: New file.
67780         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
67781         REPLACE_FPRINTF.
67782         * lib/stdio_.h (fprintf): New declaration.
67783         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
67784         REPLACE_FPRINTF.
67785
67786 2007-03-08  Bruno Haible  <bruno@clisp.org>
67787
67788         * modules/vfprintf-posix-tests: New file.
67789         * tests/test-vfprintf-posix.sh: New file.
67790         * tests/test-vfprintf-posix.c: New file.
67791         * tests/test-fprintf-posix.h: New file.
67792         * tests/test-fprintf-posix.out: New file.
67793
67794         * modules/vfprintf-posix: New file.
67795         * lib/vfprintf.c: New file.
67796         * m4/vfprintf-posix.m4: New file.
67797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
67798         REPLACE_VFPRINTF.
67799         * lib/stdio_.h (vfprintf): New declaration.
67800         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
67801         REPLACE_VFPRINTF.
67802
67803 2007-03-08  Bruno Haible  <bruno@clisp.org>
67804
67805         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
67806
67807 2007-03-08  Bruno Haible  <bruno@clisp.org>
67808
67809         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
67810         instead of 'expr' invocations.
67811         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67812         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67813         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67814         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67815         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67816         Suggested by Paul Eggert.
67817
67818 2007-03-08  Bruno Haible  <bruno@clisp.org>
67819
67820         * modules/fseterr-tests: New file.
67821         * tests/test-fseterr.c: New file.
67822
67823         * modules/fseterr: New file.
67824         * lib/fseterr.h: New file.
67825         * lib/fseterr.c: New file.
67826
67827 2007-03-08  Bruno Haible  <bruno@clisp.org>
67828
67829         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
67830         * lib/getopt_.h: Likewise.
67831         * lib/mbswidth.h: Likewise.
67832         * lib/setenv.h: Likewise.
67833         * lib/vasnprintf.h: Likewise.
67834         * lib/vasprintf.h: Likewise.
67835         * lib/verror.h: Likewise.
67836         * lib/xsetenv.h: Likewise.
67837         * lib/xvasprintf.h: Likewise.
67838
67839 2007-03-08  Jim Meyering  <jim@meyering.net>
67840
67841         * users.txt: Add parted.
67842
67843         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
67844
67845 2007-03-07  Bruno Haible  <bruno@clisp.org>
67846
67847         * m4/printf.m4: Make the shell script snippets copy&pastable.
67848
67849 2007-03-02  Bruno Haible  <bruno@clisp.org>
67850
67851         * lib/netinet_in_.h: New file.
67852         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
67853         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
67854         * modules/netinet_in (Files): Add lib/netinet_in_.h.
67855         (Depends-on): Add absolute-header.
67856         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
67857         into netinet/in.h.
67858
67859 2007-03-03  Bruno Haible  <bruno@clisp.org>
67860
67861         * lib/sys_select_.h: New file.
67862         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
67863         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
67864         * modules/sys_select (Files): Add lib/sys_select_.h.
67865         (Depends-on): Add absolute-header.
67866         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
67867         into sys/select.h.
67868
67869 2007-03-02  Bruno Haible  <bruno@clisp.org>
67870
67871         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
67872         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
67873         values.
67874         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
67875         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
67876         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
67877         * modules/sys_socket (Depends-on): Add absolute-header.
67878         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
67879         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
67880         (Include): Remove requirement of inclusion of <sys/types.h>.
67881
67882 2007-03-02  Bruno Haible  <bruno@clisp.org>
67883
67884         * lib/byteswap_.h (bswap_32): Fix formula.
67885
67886 2007-03-06  Bruno Haible  <bruno@clisp.org>
67887
67888         * modules/sprintf-posix-tests: New file.
67889         * tests/test-sprintf-posix.c: New file.
67890
67891         * modules/sprintf-posix: New file.
67892         * lib/sprintf.c: New file.
67893         * m4/sprintf-posix.m4: New file.
67894         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
67895         REPLACE_SPRINTF.
67896         * lib/stdio_.h (sprintf): New declaration.
67897         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
67898         REPLACE_SPRINTF.
67899
67900 2007-03-06  Bruno Haible  <bruno@clisp.org>
67901
67902         * modules/vsprintf-posix-tests: New file.
67903         * tests/test-vsprintf-posix.c: New file.
67904         * tests/test-sprintf-posix.h: New file.
67905
67906         * modules/vsprintf-posix: New file.
67907         * lib/vsprintf.c: New file.
67908         * m4/vsprintf-posix.m4: New file.
67909         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
67910         REPLACE_VSPRINTF.
67911         * lib/stdio_.h (vsprintf): New declaration.
67912         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
67913         REPLACE_VSPRINTF.
67914
67915 2007-03-06  Bruno Haible  <bruno@clisp.org>
67916
67917         * modules/vsnprintf (Depend-on): Remove minmax.
67918
67919 2007-03-06  Bruno Haible  <bruno@clisp.org>
67920
67921         * modules/snprintf-posix-tests: New file.
67922         * tests/test-snprintf-posix.c: New file.
67923
67924         * modules/snprintf-posix: New file.
67925         * m4/snprintf-posix.m4: New file.
67926         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
67927         gl_FUNC_SNPRINTF.
67928         (gl_FUNC_SNPRINTF): Invoke it.
67929         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
67930         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
67931         is set.
67932         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
67933
67934 2007-03-06  Bruno Haible  <bruno@clisp.org>
67935
67936         * modules/vsnprintf-posix-tests: New file.
67937         * tests/test-vsnprintf-posix.c: New file.
67938         * tests/test-snprintf-posix.h: New file.
67939
67940         * modules/vsnprintf-posix: New file.
67941         * m4/vsnprintf-posix.m4: New file.
67942         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
67943         gl_FUNC_VSNPRINTF.
67944         (gl_FUNC_VSNPRINTF): Invoke it.
67945         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
67946         * lib/stdio_.h (vsnprintf): Define as a replacement if
67947         REPLACE_VSNPRINTF is set.
67948         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
67949
67950 2007-03-06  Bruno Haible  <bruno@clisp.org>
67951
67952         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
67953         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
67954
67955 2007-03-06  Bruno Haible  <bruno@clisp.org>
67956
67957         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
67958         (asinl): Declare also if HAVE_DECL_ASINL is set.
67959         (atanl): Declare also if HAVE_DECL_ATANL is set.
67960         (ceill): Declare also if HAVE_DECL_CEILL is set.
67961         (cosl): Declare also if HAVE_DECL_COSL is set.
67962         (expl): Declare also if HAVE_DECL_EXPL is set.
67963         (floorl): Declare also if HAVE_DECL_FLOORL is set.
67964         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
67965         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
67966         (logl): Declare also if HAVE_DECL_LOGL is set.
67967         (sinl): Declare also if HAVE_DECL_SINL is set.
67968         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
67969         (tanl): Declare also if HAVE_DECL_TANL is set.
67970         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
67971         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
67972         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
67973         declaration of frexpl, ldexpl.
67974         * modules/printf-frexpl (Depends-on): Add math.
67975         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
67976
67977 2007-03-05  Bruno Haible  <bruno@clisp.org>
67978
67979         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
67980         frexpl and ldexpl are declared.
67981         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
67982
67983 2007-03-05  Bruno Haible  <bruno@clisp.org>
67984
67985         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
67986         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
67987
67988 2007-03-05  Bruno Haible  <bruno@clisp.org>
67989
67990         * lib/stdio_.h: Include <stddef.h>.
67991
67992 2007-03-05  Bruno Haible  <bruno@clisp.org>
67993
67994         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
67995
67996 2007-03-05  Bruno Haible  <bruno@clisp.org>
67997
67998         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
67999         NetBSD 4, from Ralf Wildenhues.
68000
68001 2007-03-04  Bruno Haible  <bruno@clisp.org>
68002
68003         * lib/vasprintf.h: Update #if logic for the case when the functions
68004         exist but are overridden.
68005
68006 2007-03-04  Bruno Haible  <bruno@clisp.org>
68007
68008         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
68009         implementations: glibc-2.4 and MacOS X 10.3.
68010         * tests/test-vasnprintf-posix.c (test_function): Test also the case
68011         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
68012         * tests/test-vasprintf-posix.c (test_function): Likewise.
68013
68014 2007-03-04  Bruno Haible  <bruno@clisp.org>
68015
68016         * modules/vasprintf-posix-tests: New file.
68017         * tests/test-vasprintf-posix.c: New file.
68018
68019         * modules/vasprintf-posix: New file.
68020         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
68021         defined.
68022         * m4/vasprintf-posix.m4: New file.
68023         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
68024         gl_FUNC_VASPRINTF.
68025         (gl_FUNC_VASPRINTF): Invoke it.
68026         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
68027         here.
68028         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
68029
68030 2007-03-04  Bruno Haible  <bruno@clisp.org>
68031
68032         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
68033         REPLACE_GETTIMEOFDAY.
68034         * modules/sys_time (Makefile.am): Likewise.
68035         * m4/sys_time_h.m4: Likewise.
68036         * m4/gettimeofday.m4: Likewise.
68037
68038 2007-03-04  Bruno Haible  <bruno@clisp.org>
68039
68040         * modules/vasnprintf-posix-tests: New file.
68041         * tests/test-vasnprintf-posix.c: New file.
68042
68043         * modules/vasnprintf-posix: New file.
68044         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
68045         printf-frexpl.h.
68046         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
68047         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
68048         REPLACE_VASNPRINTF is defined.
68049         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
68050         gl_FUNC_VASNPRINTF.
68051         (gl_FUNC_VASNPRINTF): Invoke it.
68052         * m4/vasnprintf-posix.m4: New file.
68053         * m4/printf.m4: New file.
68054
68055 2007-03-04  Bruno Haible  <bruno@clisp.org>
68056
68057         Compile progreloc.c only if --enable-relocatable is specified.
68058         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
68059         if --enable-relocatable was specified.
68060         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
68061         lib_SOURCES.
68062
68063 2007-03-04  Jim Meyering  <jim@meyering.net>
68064
68065         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
68066         Use it consistently, rather than enumerating errno constants.
68067
68068 2007-03-04  Bruno Haible  <bruno@clisp.org>
68069
68070         * modules/xvasprintf-tests: New file.
68071         * tests/test-xvasprintf.c: New file.
68072
68073         * modules/vasprintf-tests: New file.
68074         * tests/test-vasprintf.c: New file.
68075
68076         * modules/vasnprintf-tests: New file.
68077         * tests/test-vasnprintf.c: New file.
68078
68079         * modules/vsnprintf-tests: New file.
68080         * tests/test-vsnprintf.c: New file.
68081
68082         * modules/snprintf-tests: New file.
68083         * tests/test-snprintf.c: New file.
68084
68085 2007-03-04  Bruno Haible  <bruno@clisp.org>
68086
68087         Compile relocatable.c only if --enable-relocatable is specified.
68088         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
68089         gl_RELOCATABLE_LIBRARY.
68090         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
68091         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
68092         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
68093         gl_RELOCATABLE_LIBRARY.
68094         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
68095         (Makefile.am): Remove lib_SOURCES.
68096         * modules/relocatable-lib-lgpl (configure.ac): Invoke
68097         gl_RELOCATABLE_LIBRARY.
68098         (Makefile.am): Remove lib_SOURCES.
68099         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
68100         always.
68101         * modules/relocatable-prog-wrapper (configure.ac): Invoke
68102         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
68103
68104 2007-03-04  Bruno Haible  <bruno@clisp.org>
68105
68106         * modules/argmatch-tests: New file.
68107         * tests/test-argmatch.c: New file.
68108
68109         * tests/test-allocsa.c (main): Halve the number of loop runs.
68110
68111         * modules/alloca-opt-tests: New file.
68112         * tests/test-alloca-opt.c: New file.
68113
68114 2007-03-04  Jim Meyering  <jim@meyering.net>
68115
68116         Work around difference between Linux ACLs and Solaris 10 ZFS.
68117         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
68118         for EINVAL.
68119
68120 2007-03-03  Bruno Haible  <bruno@clisp.org>
68121
68122         * modules/relocatable-prog (Depends-on): Add back progreloc's
68123         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
68124
68125 2007-03-03  Bruno Haible  <bruno@clisp.org>
68126
68127         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
68128         * modules/relocatable-lib: New file.
68129
68130 2007-03-03  Bruno Haible  <bruno@clisp.org>
68131
68132         * modules/relocatable-prog: Renamed from modules/relocatable.
68133         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
68134
68135 2007-03-03  Bruno Haible  <bruno@clisp.org>
68136
68137         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68138         m4/relocatable-lib.m4.
68139         (Depends-on): Remove 'relocatable'.
68140         (configure.ac): Add gl_RELOCATABLE_NOP.
68141
68142 2007-03-03  Bruno Haible  <bruno@clisp.org>
68143
68144         * modules/relocatable-prog-wrapper: New file.
68145         * modules/relocatable (Depends-on): Add it. Remove all other
68146         dependencies except progname.
68147         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
68148
68149         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
68150         (gl_FUNC_STRERROR): Nop.
68151         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
68152
68153         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
68154         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
68155
68156         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
68157         (gl_FUNC_READLINK): Update.
68158
68159         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
68160
68161 2007-03-03  Bruno Haible  <bruno@clisp.org>
68162
68163         * lib/xreadlink.c: Include <unistd.h> unconditionally.
68164         * modules/xreadlink (Depends-on): Add unistd.
68165         * modules/xreadlink-with-size (Depends-on): Likewise.
68166
68167 2007-03-03  Bruno Haible  <bruno@clisp.org>
68168
68169         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
68170         extracted from gt_FUNC_SETENV.
68171         (gt_FUNC_SETENV): Remove macro.
68172         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
68173         remove gt_FUNC_SETENV.
68174
68175 2007-03-03  Bruno Haible  <bruno@clisp.org>
68176
68177         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
68178         ENABLE_RELOCATABLE here.
68179         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
68180
68181 2007-03-03  Bruno Haible  <bruno@clisp.org>
68182
68183         * modules/rbtreehash-list-tests (Depends-on): Add progname.
68184         * tests/test-rbtreehash_list.c: Include progname.h.
68185         (main): Call set_program_name.
68186
68187         * modules/rbtree-oset-tests (Depends-on): Add progname.
68188         * tests/test-rbtree_oset.c: Include progname.h.
68189         (main): Call set_program_name.
68190
68191         * modules/rbtree-list-tests (Depends-on): Add progname.
68192         * tests/test-rbtree_list.c: Include progname.h.
68193         (main): Call set_program_name.
68194
68195         * modules/linked-list-tests (Depends-on): Add progname.
68196         * tests/test-linked_list.c: Include progname.h.
68197         (main): Call set_program_name.
68198
68199 2007-03-03  Bruno Haible  <bruno@clisp.org>
68200
68201         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
68202         All uses of __restrict changed to _Restrict_.
68203         * lib/glob_.h (__restrict): Remove macro.
68204
68205 2007-03-02  Bruno Haible  <bruno@clisp.org>
68206
68207         * modules/gettext (configure.ac): Require gettext infrastructure
68208         from version 0.16.1.
68209
68210 2007-03-02  Bruno Haible  <bruno@clisp.org>
68211
68212         * modules/linkedhash-list-tests (Depends-on): Add progname.
68213         * tests/test-linkedhash_list.c: Include progname.h.
68214         (main): Call set_program_name.
68215
68216         * modules/carray-list-tests (Depends-on): Add progname.
68217         * tests/test-carray_list.c: Include progname.h.
68218         (main): Call set_program_name.
68219
68220         * modules/avltreehash-list-tests (Depends-on): Add progname.
68221         * tests/test-avltreehash_list.c: Include progname.h.
68222         (main): Call set_program_name.
68223
68224         * modules/avltree-oset-tests (Depends-on): Add progname.
68225         * tests/test-avltree_oset.c: Include progname.h.
68226         (main): Call set_program_name.
68227
68228         * modules/avltree-list-tests (Depends-on): Add progname.
68229         * tests/test-avltree_list.c: Include progname.h.
68230         (main): Call set_program_name.
68231
68232         * modules/array-oset-tests (Depends-on): Add progname.
68233         * tests/test-array_oset.c: Include progname.h.
68234         (main): Call set_program_name.
68235
68236         * modules/array-list-tests (Depends-on): Add progname.
68237         * tests/test-array_list.c: Include progname.h.
68238         (main): Call set_program_name.
68239
68240         * modules/argp-tests (Depends-on): Add progname.
68241         * tests/test-argp.c: Include argp.h first. Include progname.h.
68242         (main): Call set_program_name.
68243
68244 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
68245
68246         * doc/gnulib-tool.texi (Initial import): Reword description of
68247         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
68248         limited effect even if defined after the first system include.
68249
68250 2007-03-01  Bruno Haible  <bruno@clisp.org>
68251
68252         * build-aux/config.libpath: Update to libtool-1.5.22.
68253         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
68254
68255 2007-03-01  Bruno Haible  <bruno@clisp.org>
68256
68257         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
68258         foo_CFLAGS.
68259         Reported by Ralf Wildenhues.
68260
68261 2007-03-01  Bruno Haible  <bruno@clisp.org>
68262
68263         * build-aux/install-reloc: Remove object files left over by some
68264         compilers.
68265         Reported by Ralf Wildenhues.
68266
68267 2007-03-01  Bruno Haible  <bruno@clisp.org>
68268
68269         * build-aux/install-reloc: Break long lines.
68270
68271 2007-03-01  Bruno Haible  <bruno@clisp.org>
68272
68273         * doc/relocatable.texi: Document that it may not work on OpenBSD.
68274         Reported by Ralf Wildenhues.
68275
68276 2007-03-01  Bruno Haible  <bruno@clisp.org>
68277
68278         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
68279         include ordering constraints.
68280
68281 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68282
68283         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
68284         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
68285         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
68286         as another example.
68287         * lib/time_.h: Fix misspelling.
68288         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68289         Require gl_HEADER_TIME_H_DEFAULTS.
68290         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
68291         * m4/time_r.m4 (gl_TIME_R): Likewise.
68292         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
68293
68294 2007-03-01  Bruno Haible  <bruno@clisp.org>
68295
68296         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
68297         * m4/utimens.m4 (gl_UTIMENS): Likewise.
68298
68299 2007-03-01  Jim Meyering  <jim@meyering.net>
68300
68301         * modules/xreadlink (Maintainer): Add my name.
68302         * modules/xreadlink-with-size (Depends-on): Alphabetize.
68303
68304 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
68305             Bruno Haible  <bruno@clisp.org>
68306
68307         * build-aux/install-reloc: Compile also c-ctype.c.
68308         * build-aux/relocatable.sh.in: New file.
68309         * doc/relocatable.texi: New file.
68310         * doc/relocatable-maint.texi: New file.
68311         * doc/gnulib.texi: Include relocatable-maint.texi.
68312         * lib/progreloc.c: Include unistd.h unconditionally.
68313         * lib/relocwrapper.c: Include unistd.h unconditionally.
68314         Include c-ctype.h.
68315         (add_dotbin): Use c_tolower.
68316         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
68317         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
68318         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
68319         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
68320         to m4/relocatable-lib.m4.
68321         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
68322         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
68323         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
68324         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
68325         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
68326         * modules/relocatable: New file.
68327         * modules/relocatable-lib: New file.
68328         * modules/relocatable-script: New file.
68329
68330 2007-02-28  Bruno Haible  <bruno@clisp.org>
68331
68332         Import --enable-relocatable infrastructure.
68333         * build-aux/config.libpath: New file, from GNU gettext.
68334         * build-aux/install-reloc: New file, from GNU gettext.
68335         * build-aux/reloc-ldflags: New file, from GNU gettext.
68336         * lib/relocatable.h: New file, from GNU gettext.
68337         * lib/relocatable.c: New file, from GNU gettext.
68338         * lib/relocwrapper.c: New file, from GNU gettext.
68339         * m4/relocatable.m4: New file, from GNU gettext.
68340
68341 2007-02-28  Bruno Haible  <bruno@clisp.org>
68342
68343         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
68344
68345         * modules/xreadlink: New file, from GNU gettext with modifications.
68346         * lib/xreadlink.c: New file, from GNU gettext.
68347         * lib/xreadlink.h: Add comments.
68348         (xreadlink): New declaration.
68349
68350         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
68351         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
68352         lib/xreadlink-with-size.c.
68353         (configure.ac): Remove gl_XREADLINK invocation.
68354         (Makefile.am): Augment lib_SOURCES.
68355         * m4/xreadlink.m4: Remove file.
68356         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
68357         (xreadlink_with_size): Renamed from xreadink.
68358         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
68359         * modules/canonicalize (Depends-on): Replace xreadlink with
68360         xreadlink-with-size.
68361         * lib/canonicalize.c (canonicalize_filename_mode): Update.
68362
68363 2007-02-25  Jim Meyering  <jim@meyering.net>
68364
68365         * build-aux/announce-gen: When complaining about excess arguments,
68366         list them.
68367
68368 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68369
68370         * README: Document signed integer overflow situation more
68371         accurately.
68372
68373 2007-02-25  Bruno Haible  <bruno@clisp.org>
68374
68375         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
68376         'a' or 'A' conversion.
68377
68378 2007-02-25  Bruno Haible  <bruno@clisp.org>
68379
68380         * modules/filename: Renamed from modules/pathname.
68381         (Files): Replace lib/pathname.h with lib/filename.h. Replace
68382         lib/concatpath.c with lib/concat-filename.c.
68383         (Makefile.am): Update.
68384         (Include): Replace pathname.h with filename.h.
68385         * lib/filename.h: Renamed from lib/pathname.h.
68386         (concatenated_filename): Renamed from concatenated_pathname.
68387         * lib/concat-filename.c: Renamed from lib/concatpath.c.
68388         (concatenated_filename): Renamed from concatenated_pathname.
68389         * lib/findprog.c: Include filename.h instead of pathname.h.
68390         (find_in_path): Update.
68391         * lib/javacomp.c: Include filename.h instead of pathname.h.
68392         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
68393         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
68394         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
68395         is_oldgcj_14_13_usable, is_javac_usable): Update.
68396         * lib/javaexec.c: Include filename.h instead of pathname.h.
68397         (execute_java_class): Update.
68398         * modules/findprog: Update.
68399         * modules/javacomp: Update.
68400         * modules/javaexec: Update.
68401         * MODULES.html.sh (File system functions): Add 'filename', remove
68402         'pathname'.
68403
68404 2007-02-25  Bruno Haible  <bruno@clisp.org>
68405
68406         * modules/printf-frexpl-tests: New file.
68407         * tests/test-printf-frexpl.c: New file.
68408
68409         * modules/printf-frexpl: New file.
68410         * lib/printf-frexpl.h: New file.
68411         * lib/printf-frexpl.c: New file.
68412         * m4/printf-frexpl.m4: New file.
68413
68414 2007-02-25  Bruno Haible  <bruno@clisp.org>
68415
68416         * modules/printf-frexp-tests: New file.
68417         * tests/test-printf-frexp.c: New file.
68418
68419         * modules/printf-frexp: New file.
68420         * lib/printf-frexp.h: New file.
68421         * lib/printf-frexp.c: New file.
68422         * m4/printf-frexp.m4: New file.
68423
68424 2007-02-25  Bruno Haible  <bruno@clisp.org>
68425
68426         Assume automake >= 1.10 for the tests.
68427         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
68428         * modules/arctwo-tests: Likewise.
68429         * modules/argp-tests: Likewise.
68430         * modules/avltree-list-tests: Likewise.
68431         * modules/avltree-oset-tests: Likewise.
68432         * modules/avltreehash-list-tests: Likewise.
68433         * modules/carray-list-tests: Likewise.
68434         * modules/crc-tests: Likewise.
68435         * modules/des-tests: Likewise.
68436         * modules/gc-arcfour-tests: Likewise.
68437         * modules/gc-arctwo-tests: Likewise.
68438         * modules/gc-des-tests: Likewise.
68439         * modules/gc-hmac-md5-tests: Likewise.
68440         * modules/gc-hmac-sha1-tests: Likewise.
68441         * modules/gc-md2-tests: Likewise.
68442         * modules/gc-md4-tests: Likewise.
68443         * modules/gc-md5-tests: Likewise.
68444         * modules/gc-pbkdf2-sha1-tests: Likewise.
68445         * modules/gc-rijndael-tests: Likewise.
68446         * modules/gc-sha1-tests: Likewise.
68447         * modules/gc-tests: Likewise.
68448         * modules/getaddrinfo-tests: Likewise.
68449         * modules/hmac-md5-tests: Likewise.
68450         * modules/hmac-sha1-tests: Likewise.
68451         * modules/linked-list-tests: Likewise.
68452         * modules/linkedhash-list-tests: Likewise.
68453         * modules/lock-tests: Likewise.
68454         * modules/md2-tests: Likewise.
68455         * modules/md4-tests: Likewise.
68456         * modules/md5-tests: Likewise.
68457         * modules/rbtree-list-tests: Likewise.
68458         * modules/rbtree-oset-tests: Likewise.
68459         * modules/rbtreehash-list-tests: Likewise.
68460         * modules/read-file-tests: Likewise.
68461         * modules/rijndael-tests: Likewise.
68462         * modules/stdint-tests: Likewise.
68463         * modules/tls-tests: Likewise.
68464
68465 2007-02-24  Bruno Haible  <bruno@clisp.org>
68466
68467         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
68468         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
68469         function; instead check whether isnan with a double argument links.
68470         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
68471         function; instead check whether isnan with a 'long double' argument
68472         links.
68473         Reported by Eric Blake <ebb9@byu.net>.
68474
68475 2007-02-24  Bruno Haible  <bruno@clisp.org>
68476
68477         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
68478         defined.
68479         * lib/isnanl.c: Remove all code. Just include isnan.c.
68480         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
68481
68482 2007-02-25  Jim Meyering  <jim@meyering.net>
68483
68484         Avoid conflicting types for 'unsetenv' on FreeBSD.
68485         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
68486         conflicting with FreeBSD's (5.0 and 6.1) function declaration
68487         in stdlib.h.
68488
68489 2007-02-24  Bruno Haible  <bruno@clisp.org>
68490
68491         * modules/isnanl-nolibm-tests: New file.
68492         * tests/test-isnanl.c: New file.
68493
68494         * modules/isnanl-nolibm: New file.
68495         * lib/isnanl.h: New file.
68496         * lib/isnanl.c: New file.
68497         * m4/isnanl.m4: New file.
68498
68499 2007-02-24  Bruno Haible  <bruno@clisp.org>
68500
68501         * modules/isnan-nolibm-tests: New file.
68502         * tests/test-isnan.c: New file.
68503
68504         * modules/isnan-nolibm: New file.
68505         * lib/isnan.h: New file.
68506         * lib/isnan.c: New file.
68507         * m4/isnan.m4: New file.
68508
68509 2007-02-24  Bruno Haible  <bruno@clisp.org>
68510
68511         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
68512         assume that an exponent fits in 20 bits.
68513
68514 2007-02-24  Jim Meyering  <jim@meyering.net>
68515
68516         * m4/regex.m4: Update the description of the configure-time option,
68517         --without-included-regex, to state accurately what the defaults are,
68518         and perhaps to give people an idea why using this option is risky.
68519
68520 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
68521
68522         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
68523         loops on small arguments.  This attempts to avoid the problem
68524         Bruno Haible reported for AIX 4.3.2 in
68525         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
68526
68527 2007-02-23  Bruno Haible  <bruno@clisp.org>
68528
68529         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
68530         Needed for help2man.
68531
68532 2007-02-23  Karl Berry  <karl@gnu.org>
68533
68534         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
68535         exists, foo.h should be cvs-ignored, not committed.
68536
68537 2007-02-23  Eric Blake  <ebb9@byu.net>
68538
68539         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
68540         * lib/stat-time.h (includes): Likewise.
68541         * lib/utimecmp.c (includes): Likewise.
68542         * lib/utimens.h (includes): Likewise.
68543         * lib/getdate.y (includes): Also include "timespec.h" for use
68544         internal to the module.
68545         * modules/utimens (Depends-on): Revert yesterday's patch.
68546         * modules/nanosleep (Depends-on): Add missing dependency.
68547
68548 2007-02-22  Bruno Haible  <bruno@clisp.org>
68549
68550         * lib/glob.c: Don't include getlogin_r.h.
68551
68552 2007-02-22  Jim Meyering  <jim@meyering.net>
68553
68554         * modules/utimens (Depends-on): Add timespec, required for
68555         utimens.h's inclusion of timespec.h.
68556
68557 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
68558
68559         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
68560         long unreadable paths in GNU/Linux.  Problem reported by Andreas
68561         Schwab in
68562         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
68563         I'll try to think of a better way to fix the Solaris problem.
68564
68565         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
68566         like glibc; on Solaris 10, it fails with errno == EINVAL.
68567         POSIX says the behavior is unspecified if the first argument is NULL,
68568         so play it safe and never pass NULL to the system getcwd.
68569
68570 2007-02-21  Jim Meyering  <jim@meyering.net>
68571
68572         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
68573         of gettimeofday.  It would conflict with the one now always
68574         provided via sys_time_.h.  Reported by Matthew Woehlke, as
68575         an IRIX 6.5 build failure.
68576
68577 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68578
68579         Minor fixups to port to Solaris 10 with Sun C 5.8.
68580         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
68581         * modules/getcwd (Depends-on): Add dirfd.
68582         * lib/putenv.c (putenv): #undef it.
68583         (rpl_putenv): New decl.
68584         (malloc, free): Include <stdlib.h> rather than prototyping separately.
68585
68586 2007-02-20  Bruno Haible  <bruno@clisp.org>
68587
68588         * modules/stdio-tests: New file.
68589         * tests/test-stdio.c: New file.
68590
68591         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
68592         (Depends-on): Add stdio.
68593         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68594         (Include): Use <stdio.h> instead of vsnprintf.h.
68595         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68596         HAVE_DECL_VSNPRINTF.
68597         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
68598
68599         * modules/snprintf (Files): Remove lib/snprintf.h.
68600         (Depends-on): Add stdio.
68601         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
68602         (Include): Use <stdio.h> instead of snprintf.h.
68603         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
68604         HAVE_DECL_SNPRINTF.
68605         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
68606         * lib/getaddrinfo.c: Likewise.
68607
68608         * modules/stdio: New file.
68609         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
68610         * lib/snprintf.h: Remove file.
68611         * lib/vsnprintf.h: Remove file.
68612         * lib/.cppi-disable: Remove snprintf.h.
68613         * m4/stdio_h.m4: New file.
68614         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
68615
68616 2007-02-20  Jim Meyering  <jim@meyering.net>
68617
68618         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
68619         used by e.g., mingw.  From Bruno Haible.
68620
68621 2007-02-19  Bruno Haible  <bruno@clisp.org>
68622
68623         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
68624         warnings.
68625         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68626
68627 2007-02-19  Bruno Haible  <bruno@clisp.org>
68628
68629         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
68630         from mingw users.
68631
68632 2007-02-19  Bruno Haible  <bruno@clisp.org>
68633
68634         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
68635         warnings.
68636         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
68637
68638 2007-02-19  Jim Meyering  <jim@meyering.net>
68639
68640         Don't use FD after a successful "fdopendir (fd)".
68641         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
68642         Reset it by calling dirfd on the just-obtained DIR*.
68643
68644         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
68645         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
68646
68647 2007-02-18  Bruno Haible  <bruno@clisp.org>
68648
68649         * lib/readlink.c: Include <unistd.h>.
68650         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
68651         HAVE_READLINK.
68652         * modules/readlink (Depends-on): Add unistd.
68653         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68654         (Include): Add <unistd.h>.
68655
68656         * lib/getlogin_r.h: Remove file.
68657         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
68658         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
68659         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
68660         HAVE_DECL_GETLOGIN_R.
68661         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
68662         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68663         (Include): Use <unistd.h> instead of getlogin_r.h.
68664
68665         * lib/getcwd.h: Remove file.
68666         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
68667         * lib/xgetcwd.c: Likewise.
68668         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
68669         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
68670         * modules/getcwd (Files): Remove lib/getcwd.h.
68671         (Depends-on): Add unistd.
68672         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68673         (Include): Use <unistd.h> instad of getcwd.h.
68674
68675         * lib/ftruncate.c: Include <unistd.h> first.
68676         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
68677         Set HAVE_FTRUNCATE.
68678         * modules/ftruncate (Depends-on): Add unistd.
68679         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68680
68681         * lib/fchdir.c: Include <unistd.h> first.
68682         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
68683         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
68684         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
68685         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68686         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
68687
68688         * lib/dup2.c: Include <unistd.h> first.
68689         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
68690         HAVE_DUP2.
68691         * modules/dup2 (Depends-on): Add unistd.
68692         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68693
68694         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
68695         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
68696         REPLACE_CHOWN. Don't define chown as a macro here.
68697         * modules/chown (Depends-on): Add unistd.
68698         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68699
68700         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
68701         Add definition for GL_LINK_WARNING.
68702         (chown, dup2): New declarations.
68703         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
68704         link warning.
68705         (ftruncate): New declaration.
68706         (getcwd): New declaration, taken from old getcwd.h.
68707         (getlogin_r): New declaration, taken from old getlogin_r.h.
68708         (readlink): New declaration.
68709         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
68710         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
68711         (gl_PREREQ_UNISTD): Remove macro.
68712         (gl_UNISTD_MODULE_INDICATOR): New macro.
68713         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
68714         many new variables. Don't set UNISTD_H.
68715         * modules/unistd (Description): Change.
68716         (Depends-on): Add link-warning.
68717         (configure.ac): Update.
68718         (Makefile.am): Create unistd.h always. Substitute many new variables
68719         into it.
68720
68721 2007-02-18  Bruno Haible  <bruno@clisp.org>
68722
68723         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
68724         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
68725         HAVE_GETSUBOPT.
68726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
68727         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
68728         * lib/getsubopt.h: Remove file.
68729         * modules/getsubopt (Files): Remove lib/getsubopt.h.
68730         (Depends-on): Add stdlib.
68731         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68732         (Includes): Use <stdlib.h> instead of getsubopt.h.
68733         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
68734         Set HAVE_GETSUBOPT.
68735         * lib/getsubopt.c: Don't include getsubopt.h.
68736
68737 2007-02-18  Bruno Haible  <bruno@clisp.org>
68738
68739         * modules/fchdir (Depends-on): Add dup2.
68740
68741 2007-02-18  Bruno Haible  <bruno@clisp.org>
68742
68743         * lib/stdlib_.h: Handle glibc's special invocation convention
68744         specially.
68745
68746 2007-02-18  Bruno Haible  <bruno@clisp.org>
68747
68748         * modules/stdlib-tests: New file.
68749         * tests/test-stdlib.c: New file.
68750
68751         * modules/mkstemp (Files): Remove lib/mkstemp.h.
68752         (Depends-on): Add stdlib.
68753         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68754         (Includes): Use <stdlib.h> instead of mkstemp.h.
68755         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68756         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
68757         * lib/mkstemp.c: Don't include mkstemp.h.
68758         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
68759         * lib/stdlib--.h: Don't include mkstemp.h.
68760
68761         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
68762         (Depends-on): Add stdlib.
68763         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68764         (Includes): Use <stdlib.h> instead of mkdtemp.h.
68765         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
68766         HAVE_MKDTEMP.
68767         * lib/mkdtemp.c: Don't include mkdtemp.h.
68768         * lib/clean-temp.c: Don't include mkdtemp.h.
68769
68770         * modules/exit (Files): Remove lib/exit.h.
68771         (Depends-on): Add stdlib.
68772         (Makefile.am): Remove lib_SOURCES.
68773         (Include): Use <stdlib.h> instead of exit.h.
68774         * lib/argmatch.c: Don't include exit.h.
68775         * lib/execute.c: Likewise.
68776         * lib/pagealign_alloc.c: Likewise.
68777         * lib/pipe.c: Likewise.
68778         * lib/wait-process.c: Likewise.
68779         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
68780         * lib/exitfail.c: Likewise.
68781         * lib/savewd.c: Likewise.
68782         * lib/xsetenv.c: Likewise.
68783
68784         * modules/stdlib: New file.
68785         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
68786         and extra comments about mkstemp().
68787         * lib/exit.h: Remove file.
68788         * lib/mkdtemp.h: Remove file.
68789         * lib/mkstemp.h: Remove file.
68790         * m4/stdlib_h.m4: New file.
68791         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
68792
68793 2007-02-18  Bruno Haible  <bruno@clisp.org>
68794
68795         * modules/math-tests: New file.
68796         * tests/test-math.c: New file.
68797
68798         * modules/math: New file.
68799         * modules/mathl (Files): Remove lib/mathl.h.
68800         (Depends-on): Add math.
68801         (Makefile.am): Don't mention mathl.h.
68802         (Include): Use <math.h> instead of mathl.h.
68803         * lib/math_.h: New file.
68804         * lib/mathl.h: Remove file.
68805         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
68806         mathl.h.
68807         * lib/asinl.c: Likewise.
68808         * lib/atanl.c: Likewise.
68809         * lib/ceill.c: Likewise.
68810         * lib/cosl.c: Likewise.
68811         * lib/expl.c: Likewise.
68812         * lib/floorl.c: Likewise.
68813         * lib/frexpl.c: Likewise.
68814         * lib/ldexpl.c: Likewise.
68815         * lib/logl.c: Likewise.
68816         * lib/sincosl.c: Likewise.
68817         * lib/sinl.c: Likewise.
68818         * lib/sqrtl.c: Likewise.
68819         * lib/tanl.c: Likewise.
68820         * lib/trigl.c: Likewise.
68821         * m4/math_h.m4: New file.
68822         * MODULES.html.sh (Mathematics): Add math.
68823
68824 2007-02-17  Bruno Haible  <bruno@clisp.org>
68825
68826         * modules/wctype-tests: New file.
68827         * tests/test-wctype.c: New file.
68828
68829         * modules/wchar-tests: New file.
68830         * tests/test-wchar.c: New file.
68831
68832         * modules/unistd-tests: New file.
68833         * tests/test-unistd.c: New file.
68834
68835         * modules/time-tests: New file.
68836         * tests/test-time.c: New file.
68837
68838         * modules/sysexits-tests: New file.
68839         * tests/test-sysexits.c: New file.
68840
68841         * modules/sys_time-tests: New file.
68842         * tests/test-sys_time.c: New file.
68843
68844         * modules/sys_stat-tests: New file.
68845         * tests/test-sys_stat.c: New file.
68846
68847         * modules/sys_socket-tests: New file.
68848         * tests/test-sys_socket.c: New file.
68849
68850         * modules/sys_select-tests: New file.
68851         * tests/test-sys_select.c: New file.
68852
68853         * modules/string-tests: New file.
68854         * tests/test-string.c: New file.
68855
68856         * modules/stdbool-tests: New file.
68857         * tests/test-stdbool.c: New file.
68858
68859         * modules/netinet_in-tests: New file.
68860         * tests/test-netinet_in.c: New file.
68861
68862         * modules/inttypes-tests: New file.
68863         * tests/test-inttypes.c: New file.
68864
68865         * modules/fcntl-tests: New file.
68866         * tests/test-fcntl.c: New file.
68867
68868         * modules/byteswap-tests: New file.
68869         * tests/test-byteswap.c: New file.
68870
68871         * modules/arpa_inet-tests: New file.
68872         * tests/test-arpa_inet.c: New file.
68873
68874 2007-02-17  Bruno Haible  <bruno@clisp.org>
68875
68876         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
68877         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
68878         if the corresponding module is not enabled. Emit link warnings if
68879         the function is used nevertheless.
68880         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
68881         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
68882         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
68883         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
68884         * modules/inttypes (Depends-on): Add link-warning.
68885         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68886         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
68887         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
68888         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
68889         * modules/imaxdiv (configure.ac): Likewise.
68890         * modules/strtoimax (configure.ac): Likewise.
68891         * modules/strtoumax (configure.ac): Likewise.
68892
68893 2007-02-17  Bruno Haible  <bruno@clisp.org>
68894
68895         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
68896         gl_STRING_MODULE_INDICATOR_DEFAULTS.
68897         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
68898         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
68899
68900 2007-02-17  Bruno Haible  <bruno@clisp.org>
68901
68902         * modules/link-warning: New file.
68903         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
68904         * lib/string_.h (GL_LINK_WARNING): Remove definition.
68905         * modules/string (Depends-on): Add link-warning.
68906         (Makefile.am): Copy the contents of build-aux/link-warning.h into
68907         string.h.
68908         * MODULES.html.sh (Support for building libraries and executables): Add
68909         link-warning.
68910
68911 2007-02-17  Bruno Haible  <bruno@clisp.org>
68912
68913         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
68914         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
68915         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
68916         long lines.
68917
68918 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
68919             Bruno Haible  <bruno@clisp.org>
68920
68921         * modules/tmpfile: New file.
68922         * lib/tmpfile.c: New file.
68923         * m4/tmpfile.m4: New file.
68924         * MODULES.html.sh (func_all_modules): New section "Input/output".
68925
68926 2007-02-15  Bruno Haible  <bruno@clisp.org>
68927
68928         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
68929         (supports_delete_on_close): New function.
68930         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
68931
68932 2007-02-14  Bruno Haible  <bruno@clisp.org>
68933
68934         * modules/mbspcasecmp-tests: New file.
68935         * tests/test-mbspcasecmp.sh: New file.
68936         * tests/test-mbspcasecmp.c: New file.
68937
68938         New module mbspcasecmp.
68939         * modules/mbspcasecmp: New file.
68940         * lib/mbspcasecmp.c: New file.
68941         * lib/string_.h (strncasecmp): Change warning message.
68942         (mbspcasecmp): New declaration.
68943         * m4/mbspcasecmp.m4: New file.
68944         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68945         GNULIB_MBSPCASECMP.
68946         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
68947         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
68948
68949 2007-02-14  Bruno Haible  <bruno@clisp.org>
68950
68951         * modules/mbsncasecmp-tests: New file.
68952         * tests/test-mbsncasecmp.sh: New file.
68953         * tests/test-mbsncasecmp.c: New file.
68954
68955         New module mbsncasecmp.
68956         * modules/mbsncasecmp: New file.
68957         * lib/mbsncasecmp.c: New file.
68958         * lib/string_.h (mbsncasecmp): New declaration.
68959         * m4/mbsncasecmp.m4: New file.
68960         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68961         GNULIB_MBSNCASECMP.
68962         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
68963         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
68964
68965 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
68966
68967         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
68968         Verify that it doesn't overlap with our flags.
68969         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
68970         do not have the desired effect in multibyte locales; instead, use
68971         mbscasecmp.
68972         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
68973         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
68974         we don't require GNU fnmatch ourselves (if our users require it, they
68975         should do so explicitly).
68976
68977         Fix regex code so it doesn't rely on strcasecmp.
68978         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
68979         Otherwise, include gnulib's langinfo.h.
68980         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
68981         undesirable behavior in non-C locales.  Instead, rely on localecharset.
68982         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
68983         * modules/regex (FILES): Remove m4/codeset.m4.
68984         (Depends-on): Add localcharset.  Remove strcase.
68985
68986 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68987
68988         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
68989         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
68990
68991 2007-02-13  Bruno Haible  <bruno@clisp.org>
68992
68993         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
68994         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68995
68996 2007-02-12  Bruno Haible  <bruno@clisp.org>
68997
68998         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68999         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
69000         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
69001         time warning rather than a link error.
69002
69003 2007-02-12  Bruno Haible  <bruno@clisp.org>
69004
69005         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
69006         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
69007         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69008
69009 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69010
69011         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
69012         args, not 2.
69013
69014 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69015
69016         New module 'time', so that apps can include <time.h> as per
69017         POSIX and GNU instead of separate include files like time_r.h
69018         and timegm.h.  This implementation tries out a simpler approach
69019         for replacing decls in standard include files (as compared to
69020         the string module), somewhat as an experiment.
69021
69022         * config/srclist.txt: Comment out mktime.c for now.
69023         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
69024         since it doesn't apply any more.  Use generic wording instead.
69025         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
69026         'time'.
69027         * lib/time_.h, m4/time_h.m4, modules/time: New files.
69028         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
69029         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
69030         Don't include <sys/types.h>; no longer needed since we assume C89.
69031         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
69032         * lib/strftime.c: Likewise.
69033         * lib/time_r.c: Likewise.
69034         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
69035         * lib/nanosleep.c: Include <time.h> first, to check interface.
69036         * lib/strptime.c: Likewise.
69037         * lib/time_r.c: Likewise.
69038         * lib/timegm.c: Likewise.
69039         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
69040         needed.
69041         * lib/timegm.c: Don't include timegm.h; no longer needed.
69042         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
69043         time.h now handles any problems in that area.
69044         (struct timespec, nanosleep): Remove; time.h now arranges for these.
69045         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
69046         that time.h defines struct timespec.
69047         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
69048         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
69049         handles that.
69050         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
69051         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
69052         needed.  Set REPLACE_LOCALTIME.
69053         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
69054         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
69055         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
69056         nanosleep; time_h.m4 now does that.  Don't require
69057         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
69058         module handles this now.
69059         * modules/getdate (Depends-on): Remove timespec.  Add time.
69060         * modules/nanosleep (Depends-on): Likewise.
69061         * modules/stat-time (Depends-on): Likewise.
69062         * modules/nanosleep (Include): Include time.h, not timespec.h.
69063         * modules/strptime (Files): Remove lib/strptime.h.
69064         (Depends-on): Add extensions, time.
69065         (Include): Include time.h, not strptime.h.
69066         * modules/time_r (Files): Remove lib/time_r.h.
69067         (Depends-on): Add time.
69068         (Include): Include time.h, not time_r.h.
69069         * modules/timegm: Likewise.
69070         * modules/timespec (Description): Now does timespec-related decls
69071         of our own, instead of struct timespec itself.
69072         (Depends-on): Add time; remove extensions.
69073         (Maintainer): Add self.
69074         * modules/utimecmp (Depends-on): Add time; remove timespec.
69075         * modules/utimens (Depends-on): Likewise.
69076         * modules/xnanosleep (Depends-on): Likewise.
69077
69078 2007-02-11  Bruno Haible  <bruno@clisp.org>
69079
69080         * lib/c-strstr.c: Include allocsa.h.
69081         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69082         * lib/c-strcasestr.c: Include allocsa.h.
69083         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69084         * lib/strcasestr.c: Include allocsa.h.
69085         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69086         * lib/mbsstr.c: Include allocsa.h.
69087         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69088         allocsa/freesa instead of malloc/free.
69089         * lib/mbscasestr.c: Include allocsa.h.
69090         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69091         allocsa/freesa instead of malloc/free.
69092         * modules/c-strstr (Depends-on): Add allocsa.
69093         * modules/c-strcasestr (Depends-on): Likewise.
69094         * modules/strcasestr (Depends-on): Likewise.
69095         * modules/mbsstr (Depends-on): Likewise.
69096         * modules/mbscasestr (Depends-on): Likewise.
69097
69098 2007-02-11  Bruno Haible  <bruno@clisp.org>
69099
69100         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
69101
69102         * modules/mbsspn-tests: New file.
69103         * tests/test-mbsspn.sh: New file.
69104         * tests/test-mbsspn.c: New file.
69105
69106 2007-02-11  Bruno Haible  <bruno@clisp.org>
69107
69108         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
69109
69110         * modules/mbspbrk-tests: New file.
69111         * tests/test-mbspbrk.sh: New file.
69112         * tests/test-mbspbrk.c: New file.
69113
69114 2007-02-11  Bruno Haible  <bruno@clisp.org>
69115
69116         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
69117         unneeded cast.
69118
69119         * modules/mbscspn-tests: New file.
69120         * tests/test-mbscspn.sh: New file.
69121         * tests/test-mbscspn.c: New file.
69122
69123 2007-02-11  Bruno Haible  <bruno@clisp.org>
69124
69125         * modules/mbscasecmp-tests: New file.
69126         * tests/test-mbscasecmp.sh: New file.
69127         * tests/test-mbscasecmp.c: New file.
69128
69129 2007-02-11  Bruno Haible  <bruno@clisp.org>
69130
69131         Ensure O(n) worst-case complexity of mbscasestr.
69132         * lib/mbscasestr.c: Include stdbool.h.
69133         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69134         functions.
69135         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
69136         the bookkeeping indicates that it's worth it.
69137         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
69138
69139         * modules/mbscasestr-tests: New file.
69140         * tests/test-mbscasestr1.c: New file.
69141         * tests/test-mbscasestr2.sh: New file.
69142         * tests/test-mbscasestr2.c: New file.
69143         * tests/test-mbscasestr3.sh: New file.
69144         * tests/test-mbscasestr3.c: New file.
69145         * tests/test-mbscasestr4.sh: New file.
69146         * tests/test-mbscasestr4.c: New file.
69147         * m4/locale-tr.m4: New file.
69148
69149 2007-02-11  Bruno Haible  <bruno@clisp.org>
69150
69151         Ensure O(n) worst-case complexity of mbsstr.
69152         * lib/mbsstr.c: Include stdbool.h.
69153         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69154         functions.
69155         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
69156         bookkeeping indicates that it's worth it.
69157         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
69158
69159         * modules/mbsstr-tests: New file.
69160         * tests/test-mbsstr1.c: New file.
69161         * tests/test-mbsstr2.sh: New file.
69162         * tests/test-mbsstr2.c: New file.
69163         * tests/test-mbsstr3.sh: New file.
69164         * tests/test-mbsstr3.c: New file.
69165         * m4/locale-fr.m4: New file.
69166
69167 2007-02-11  Bruno Haible  <bruno@clisp.org>
69168
69169         * lib/mbsrchr.c (mbsrchr): Fix bug.
69170
69171         * modules/mbsrchr-tests: New file.
69172         * tests/test-mbsrchr.sh: New file.
69173         * tests/test-mbsrchr.c: New file.
69174
69175 2007-02-11  Bruno Haible  <bruno@clisp.org>
69176
69177         * lib/mbschr.c (mbschr): Fix bug.
69178
69179         * modules/mbschr-tests: New file.
69180         * tests/test-mbschr.sh: New file.
69181         * tests/test-mbschr.c: New file.
69182         * m4/locale-zh.m4: New file.
69183
69184 2007-02-11  Bruno Haible  <bruno@clisp.org>
69185
69186         Support for copying multibyte string iterators.
69187         * lib/mbiter.h: Include <string.h>.
69188         (mbiter_multi_copy): New function.
69189         (mbi_copy): New macro.
69190         * lib/mbuiter.h: Include <string.h>.
69191         (mbuiter_multi_copy): New function.
69192         (mbui_copy): New macro.
69193
69194 2007-02-11  Bruno Haible  <bruno@clisp.org>
69195
69196         New module mbslen.
69197         * modules/mbslen: New file.
69198         * lib/mbslen.c: New file.
69199         * lib/string_.h (mbslen): New declaration.
69200         * m4/mbslen.m4: New file.
69201         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69202         GNULIB_MBSLEN.
69203         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
69204         * MODULES.html.sh (Internationalization functions): Add mbslen.
69205
69206 2007-02-11  Bruno Haible  <bruno@clisp.org>
69207
69208         Ensure O(n) worst-case complexity of strcasestr substitute.
69209         * lib/strcasestr.c: Include stdbool.h.
69210         (knuth_morris_pratt): New function.
69211         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69212         bookkeeping indicates that it's worth it.
69213         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
69214
69215         * modules/strcasestr-tests: New file.
69216         * tests/test-strcasestr.c: New file.
69217
69218 2007-02-11  Bruno Haible  <bruno@clisp.org>
69219
69220         Ensure O(n) worst-case complexity of c_strcasestr.
69221         * lib/c-strcasestr.c: Include stdbool.h, string.h.
69222         (knuth_morris_pratt): New function.
69223         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
69224         the bookkeeping indicates that it's worth it.
69225         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
69226
69227         * modules/c-strcasestr-tests: New file.
69228         * tests/test-c-strcasestr.c: New file.
69229
69230 2007-02-11  Bruno Haible  <bruno@clisp.org>
69231
69232         Ensure O(n) worst-case complexity of c_strstr.
69233         * lib/c-strstr.c: Include stdbool.h, string.h.
69234         (knuth_morris_pratt): New function.
69235         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
69236         bookkeeping indicates that it's worth it.
69237         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
69238
69239         * lib/c-strstr.c: Complete rewrite for maintainability.
69240
69241         * modules/c-strstr-tests: New file.
69242         * tests/test-c-strstr.c: New file.
69243
69244 2007-02-11  Bruno Haible  <bruno@clisp.org>
69245
69246         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
69247         5.2.1 and earlier, whereby \055 was treated just like the range
69248         delimiter '-'.
69249         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
69250
69251 2007-02-08  Bruno Haible  <bruno@clisp.org>
69252
69253         * modules/regex (Depends-on): Add stdbool.
69254         Reported by Dalibor Topic <robilad@kaffe.org>.
69255
69256 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
69257
69258         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
69259         Prefer returning from main to exiting from it.
69260         Remove unnecessary parens after sizeof.
69261
69262 2007-02-05  Bruno Haible  <bruno@clisp.org>
69263
69264         New module mbssep.
69265         * modules/mbssep: New file.
69266         * lib/mbssep.c: New file.
69267         * lib/string_.h (strsep): Add a conditional link warning.
69268         (mbssep): New declaration.
69269         * m4/mbssep.m4: New file.
69270         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69271         GNULIB_MBSSEP.
69272         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
69273         * MODULES.html.sh (Internationalization functions): Add mbssep.
69274
69275 2007-02-05  Bruno Haible  <bruno@clisp.org>
69276
69277         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
69278         Optimize search in case of 1 delimiter.
69279
69280 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69281
69282         * lib/acl.h: Include sys/types.h before sys/acl.h.
69283
69284 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
69285
69286         Merge upstream fix for glibc bugzilla #3957:
69287
69288         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
69289
69290         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
69291         bit for RE_HAT_LISTS_NOT_NEWLINE.
69292         (build_charclass_op): Remove bogus comment.
69293
69294 2007-02-05  Simon Josefsson  <simon@josefsson.org>
69295
69296         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
69297
69298 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69299
69300         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
69301         * lib/memmem.c [!defined _LIBC]: Include config.h.
69302
69303 2007-02-04  Bruno Haible  <bruno@clisp.org>
69304
69305         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
69306         warning message.
69307
69308 2007-02-04  Bruno Haible  <bruno@clisp.org>
69309
69310         New module mbstok_r.
69311         * modules/mbstok_r: New file.
69312         * lib/mbstok_r.c: New file.
69313         * lib/string_.h (strtok_r): Change argument names to match the
69314         comments. Add a conditional link warning.
69315         (mbstok_r): New declaration.
69316         * m4/mbstok_r.m4: New file.
69317         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69318         GNULIB_MBSTOK_R.
69319         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
69320         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
69321
69322 2007-02-04  Bruno Haible  <bruno@clisp.org>
69323
69324         New module mbsspn.
69325         * modules/mbsspn: New file.
69326         * lib/mbsspn.c: New file.
69327         * lib/string_.h (strspn): Add a conditional link warning.
69328         (mbsspn): New declaration.
69329         * m4/mbsspn.m4: New file.
69330         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69331         GNULIB_MBSSPN.
69332         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
69333         * MODULES.html.sh (Internationalization functions): Add mbsspn.
69334
69335 2007-02-04  Bruno Haible  <bruno@clisp.org>
69336
69337         New module mbspbrk.
69338         * modules/mbspbrk: New file.
69339         * lib/mbspbrk.c: New file.
69340         * lib/string_.h (strpbrk): Add a conditional link warning.
69341         (mbspbrk): New declaration.
69342         * m4/mbspbrk.m4: New file.
69343         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69344         GNULIB_MBSPBRK.
69345         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
69346         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
69347
69348 2007-02-04  Bruno Haible  <bruno@clisp.org>
69349
69350         New module mbscspn.
69351         * modules/mbscspn: New file.
69352         * lib/mbscspn.c: New file.
69353         * lib/string_.h (strcspn): Add a conditional link warning.
69354         (mbscspn): New declaration.
69355         * m4/mbscspn.m4: New file.
69356         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69357         GNULIB_MBSCSPN.
69358         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
69359         * MODULES.html.sh (Internationalization functions): Add mbscspn.
69360
69361 2007-02-04  Bruno Haible  <bruno@clisp.org>
69362
69363         New module mbscasestr, reduced goal of strcasestr.
69364         * modules/mbscasestr: New file.
69365         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
69366         (mbscasestr): Renamed from strcasestr.
69367         * lib/strcasestr.c: Don't include mbuiter.h.
69368         (strcasestr): Remove support for multibyte locales.
69369         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
69370         Change the conditional link warning.
69371         (mbscasestr): New declaration.
69372         * m4/mbscasestr.m4: New file.
69373         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
69374         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
69375         REPLACE_STRCASESTR.
69376         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
69377         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69378         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69379         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
69380         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
69381         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
69382         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
69383         (Depends-on): Remove mbuiter.
69384         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
69385
69386 2007-02-04  Bruno Haible  <bruno@clisp.org>
69387
69388         Simplify handling of strncasecmp.
69389         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
69390         the conditional link warning.
69391         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69392         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
69393         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
69394         * modules/strcase (configure.ac): Don't invoke
69395         gl_STRING_MODULE_INDICATOR.
69396         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
69397
69398 2007-02-04  Bruno Haible  <bruno@clisp.org>
69399
69400         New module mbscasecmp, reduced goal of strcasecmp.
69401         * modules/mbscasecmp: New file.
69402         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
69403         (mbscasecmp): Renamed from strcasecmp.
69404         * lib/strcasecmp.c: Don't include mbuiter.h.
69405         (strcasecmp): Remove support for multibyte locales.
69406         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
69407         Change the conditional link warning.
69408         (mbscasecmp): New declaration.
69409         * m4/mbscasecmp.m4: New file.
69410         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
69411         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
69412         REPLACE_STRCASECMP.
69413         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
69414         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69415         GNULIB_MBSCASECMP.
69416         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
69417         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
69418         * modules/strcase (Files): Remove m4/mbrtowc.m4.
69419         (Depends-on): Remove mbuiter.
69420         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
69421
69422 2007-02-04  Bruno Haible  <bruno@clisp.org>
69423
69424         New module mbsstr. Remove module strstr.
69425         * modules/mbsstr: New file.
69426         * modules/strstr: Remove file.
69427         * lib/mbsstr.c: Renamed from lib/strstr.c.
69428         (mbsstr): Renamed from strstr.
69429         * lib/string_.h (strstr): Remove declaration. Change the conditional
69430         link warning.
69431         (mbsstr): New declaration.
69432         * m4/mbsstr.m4: New file.
69433         * m4/strstr.m4: Remove file.
69434         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69435         REPLACE_STRSTR.
69436         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
69437         Don't initialize GNULIB_STRSTR.
69438         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
69439         substitute GNULIB_STRSTR and REPLACE_STRSTR.
69440         * MODULES.html.sh (Internationalization functions): Add mbsstr.
69441         (Support for systems lacking ANSI C 89): Remove strstr.
69442
69443 2007-02-04  Bruno Haible  <bruno@clisp.org>
69444
69445         New module mbsrchr.
69446         * modules/mbsrchr: New file.
69447         * lib/mbsrchr.c: New file.
69448         * lib/string_.h (strrchr): Add a conditional link warning.
69449         (mbsrchr): New declaration.
69450         * m4/mbsrchr.m4: New file.
69451         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69452         GNULIB_MBSRCHR.
69453         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
69454         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
69455
69456 2007-02-04  Bruno Haible  <bruno@clisp.org>
69457
69458         New module mbschr.
69459         * modules/mbschr: New file.
69460         * lib/mbschr.c: New file.
69461         * lib/string_.h (strchr): Add a conditional link warning.
69462         (mbschr): New declaration.
69463         * m4/mbschr.m4: New file.
69464         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69465         GNULIB_MBSCHR.
69466         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
69467         * MODULES.html.sh (Internationalization functions): Add mbschr.
69468
69469 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
69470
69471         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
69472
69473         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
69474
69475 2007-02-04  Bruno Haible  <bruno@clisp.org>
69476
69477         New module description section 'configure.ac-early'.
69478         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
69479         (func_get_autoconf_early_snippet): New function.
69480         (func_import, func_create_testdir): Use it. Remove special cases for
69481         modules 'extensions' and 'lock'.
69482         * modules/extensions (configure.ac-early): Require
69483         gl_USE_SYSTEM_EXTENSIONS.
69484         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
69485
69486 2007-02-04  Bruno Haible  <bruno@clisp.org>
69487
69488         Make use of gcj-4.3's -fsource and -ftarget option.
69489         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
69490         and if so try the options -fsource and -ftarget.
69491         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
69492         source_version, ftarget_option, target_version arguments.
69493         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
69494         (is_envjavac_oldgcj_14_14_usable): Renamed from
69495         is_envjavac_gcj_14_14_usable.
69496         (is_envjavac_oldgcj_14_13_usable): Renamed from
69497         is_envjavac_gcj_14_13_usable.
69498         (is_gcj_present): Update.
69499         (is_gcj_43, is_gcj43_usable): New functions.
69500         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
69501         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
69502         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
69503         try the options -fsource and -ftarget.
69504
69505 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
69506
69507         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
69508         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
69509         larger value.
69510
69511 2007-02-03  Jim Meyering  <jim@meyering.net>
69512
69513         Give tools a better chance to allocate space for very large buffers.
69514         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
69515
69516         Make pwd and readlink work also when run with an unreadable parent dir
69517         on systems with openat support.
69518         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
69519         provided getcwd function, even when we have openat support.
69520         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
69521
69522 2007-02-02  Bruno Haible  <bruno@clisp.org>
69523
69524         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69525         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
69526         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
69527         portability problems if one of these functions is only used on specific
69528         platforms.
69529         Reported by Paul Eggert.
69530
69531 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
69532
69533         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
69534         is causing more trouble than it's curing.
69535         * lib/regex_internal.h (__mempcpy): Remove.
69536         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
69537         (and make the code a tad smaller to boot).
69538         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
69539
69540 2007-02-02  Jim Meyering  <jim@meyering.net>
69541
69542         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
69543         section, not in the Makefile.am: one.
69544
69545 2007-02-02  Eric Blake  <ebb9@byu.net>
69546
69547         * lib/strchrnul.c: Always include config.h first.
69548
69549         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
69550         gnulib strstr is not necessary here.
69551
69552 2007-02-02  Simon Josefsson  <simon@josefsson.org>
69553
69554         * m4/socklen.m4: Fix typo.
69555
69556 2007-02-02  Eric Blake  <ebb9@byu.net>
69557
69558         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
69559         * modules/netinet_in (Makefile.am): Likewise.
69560
69561 2007-02-01  Bruno Haible  <bruno@clisp.org>
69562
69563         * lib/string_.h (GL_LINK_WARNING): New macro.
69564         (strcasecmp, strstr, strcasestr): If provided by the system,
69565         conditionally define as a macro that leads to a warning instead of to
69566         an error.
69567         (strncasecmp): Conditionally define as a macro that leads to a warning.
69568
69569 2007-02-01  Karl Berry  <karl@gnu.org>
69570
69571         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
69572
69573 2007-02-01  Bruno Haible  <bruno@clisp.org>
69574
69575         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
69576         renamings.
69577
69578 2007-02-01  Eric Blake  <ebb9@byu.net>
69579
69580         * modules/regex (Depends-on): Revert dependence on mempcpy.
69581         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
69582         module's definition of mempcpy.
69583         Reported by Paul Eggert.
69584
69585 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
69586
69587         * lib/string_.h: If the gnulib module XYZ is not present, undefine
69588         the symbol XYZ before redefining it.  This fixes a problem with
69589         programs that don't use XYZ, when compiled on systems that define
69590         XYZ to something else.
69591
69592 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
69593
69594         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
69595         occurs when "mkdir -m foo" creates a setgid directory that is (1)
69596         writeable to group or other and (2) is intended to have a special
69597         mode bit that is set or cleared.  In such a case, the directory
69598         should be neither group- nor other-writeable until the special
69599         mode bits are right.
69600
69601 2007-01-31  Eric Blake  <ebb9@byu.net>
69602
69603         * modules/mountlist (Depends-on): Add strstr.
69604
69605         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
69606         bug.
69607         * modules/string (Makefile.am): Remove redundant replacement.
69608         * modules/regex (Depends-on): Add mempcpy.
69609
69610 2007-01-31  Bruno Haible  <bruno@clisp.org>
69611
69612         New module description field 'Link'.
69613         * gnulib-tool (func_usage): Document --extract-link-directive.
69614         (sed_extract_prog): Recognize 'Link' directive.
69615         (func_get_link_directive): New function.
69616         (func_import): Show summary of link directives.
69617         Handle --extract-link-directive option.
69618         * modules/acl (Link): New section.
69619         * modules/clock-time (Link): New section.
69620         * modules/euidaccess (Link): New section.
69621         * modules/gettext (Link): New section.
69622         * modules/iconv (Link): New section.
69623         * modules/lock (Link): New section.
69624         * modules/nanosleep (Link): New section.
69625         * modules/readline (Link): New section.
69626
69627 2007-01-27  Bruno Haible  <bruno@clisp.org>
69628
69629         Enforce the use of gnulib modules for unportable <string.h> functions.
69630         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
69631         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
69632         (gl_HEADER_STRING_H_BODY): Require it.
69633         * lib/string_.h: If the gnulib module XYZ is not present, redefine
69634         the symbol XYZ to one that gives a link error.
69635         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
69636         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
69637         * modules/mempcpy (configure.ac): Likewise.
69638         * modules/memrchr (configure.ac): Likewise.
69639         * modules/stpcpy (configure.ac): Likewise.
69640         * modules/stpncpy (configure.ac): Likewise.
69641         * modules/strcase (configure.ac): Likewise.
69642         * modules/strcasestr (configure.ac): Likewise.
69643         * modules/strchrnul (configure.ac): Likewise.
69644         * modules/strdup (configure.ac): Likewise.
69645         * modules/strndup (configure.ac): Likewise.
69646         * modules/strnlen (configure.ac): Likewise.
69647         * modules/strpbrk (configure.ac): Likewise.
69648         * modules/strsep (configure.ac): Likewise.
69649         * modules/strstr (configure.ac): Likewise.
69650         * modules/strtok_r (configure.ac): Likewise.
69651
69652 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
69653
69654         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
69655
69656 2007-01-30  Jim Meyering  <jim@meyering.net>
69657
69658         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
69659
69660 2007-01-29  Bruno Haible  <bruno@clisp.org>
69661
69662         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
69663         * lib/execute.c: Likewise.
69664         * lib/pipe.c: Likewise.
69665         * lib/printf-args.h: Likewise.
69666         * lib/printf-args.c: Likewise.
69667         * lib/printf-parse.c: Likewise.
69668         * lib/vasnprintf.c: Likewise.
69669
69670 2007-01-29  Eric Blake  <ebb9@byu.net>
69671
69672         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
69673         declaration.
69674
69675 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
69676
69677         * lib/strptime.h (strptime): Use 'restrict' for args where
69678         POSIX requires this.
69679         * lib/strptime.c (strptime): Likewise.
69680         Change license notice from LGPL to GPL, since gnulib-tool will
69681         change this as needed.
69682         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
69683         defined.
69684         Include "strptime.h" first, to check interface.
69685         Do not #undef _LIBC and _NL_CURRENT.
69686         Do not include <stdlib.h>; no longer needed.
69687         Include "time_r.h" and declare ptime_locale_status
69688         only if _LIBC is not defined.
69689         (__P): Remove unused macro.
69690         (match_string): Bring back glibc version, but use it only if _LIBC
69691         is defined.
69692         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
69693         Remove unnecessary assertion and abort() call.
69694         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
69695         * m4/strptime.m4: Fix serial number comment.
69696         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
69697         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
69698         (Depends-on): Add time_r.
69699
69700 2007-01-29  Bruno Haible  <bruno@clisp.org>
69701
69702         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69703         strptime.
69704         * modules/strptime (Depends-on): Add stdbool.
69705         * lib/strptime.h: Include <time.h> always. Add comments.
69706
69707 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69708
69709         * modules/strptime: New file.
69710         * lib/strptime.h: New file.
69711         * lib/strptime.c: New file.
69712         * m4/strptime.m4: New file.
69713
69714 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
69715
69716         * MODULES.html.sh: New module mpsort.
69717         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
69718
69719         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
69720         a circularity problem with HP-UX ia64 reported by Bob Proulx in
69721         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
69722         All uses changed.
69723         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
69724         All uses changed.
69725         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
69726         to _Restrict_.
69727         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
69728         the parameter matches the prototype.
69729
69730 2007-01-28  Jim Meyering  <jim@meyering.net>
69731
69732         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
69733         sys/time.h here, reverting that part of the previous patch:
69734         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
69735
69736 2007-01-28  Bruno Haible  <bruno@clisp.org>
69737
69738         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
69739         value of $(SYS_TIME_H).
69740         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
69741         remove it conditionally, too. [added by Jim Meyering]
69742         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
69743         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
69744         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
69745         GETTIMEOFDAY_REPLACEMENT to 1.
69746
69747 2007-01-28  Bruno Haible  <bruno@clisp.org>
69748
69749         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
69750         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
69751         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
69752         Set UNISTD_H instead of UNISTD_H2.
69753         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
69754
69755 2007-01-28  Bruno Haible  <bruno@clisp.org>
69756
69757         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
69758         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
69759
69760 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69761
69762         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
69763         (func_create_testdir): Ensure C locale for `grep' and `tr'
69764         character ranges.
69765         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
69766         ACLOCAL_AMFLAGS parsing state machine.
69767
69768 2007-01-27  Bruno Haible  <bruno@clisp.org>
69769
69770         * modules/unistr/base: Update.
69771
69772 2007-01-27  Bruno Haible  <bruno@clisp.org>
69773
69774         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
69775         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
69776         * modules/unistr/u32-mbtouc-unsafe: Renamed from
69777         modules/unistr/u32-mbtouc.
69778         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
69779         * lib/unistr.h: Update.
69780         * lib/linebreak.c: Update.
69781         * modules/unistr/u32-mbtouc: Renamed from
69782         modules/unistr/u32-mbtouc-safe.
69783         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
69784         * lib/unistr.h: Update.
69785         * lib/unistr/u32-to-u8.c: Update.
69786         * lib/unistr/u32-to-u16.c: Update.
69787
69788 2007-01-27  Bruno Haible  <bruno@clisp.org>
69789
69790         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
69791         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
69792         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
69793         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
69794         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
69795         * modules/unistr/u16-mbtouc-unsafe: Renamed from
69796         modules/unistr/u16-mbtouc.
69797         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
69798         * lib/unistr.h: Update.
69799         * lib/linebreak.c: Update.
69800         * modules/linebreak: Update.
69801         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
69802         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
69803         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
69804         * modules/unistr/u16-mbtouc: Renamed from
69805         modules/unistr/u16-mbtouc-safe.
69806         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
69807         * lib/unistr.h: Update.
69808         * lib/unistr/u16-to-u8.c: Update.
69809         * modules/unistr/u16-to-u8: Update.
69810         * lib/unistr/u16-to-u32.c: Update.
69811         * modules/unistr/u16-to-u32: Update.
69812
69813 2007-01-27  Bruno Haible  <bruno@clisp.org>
69814
69815         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
69816         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
69817         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
69818         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
69819         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
69820         * modules/unistr/u8-mbtouc-unsafe: Renamed from
69821         modules/unistr/u8-mbtouc.
69822         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
69823         * lib/unistr.h: Update.
69824         * lib/striconveh.c: Update.
69825         * modules/striconveh: Update.
69826         * lib/linebreak.c: Update.
69827         * modules/linebreak: Update.
69828         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
69829         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
69830         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
69831         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
69832         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
69833         * lib/unistr.h: Update.
69834         * lib/striconveh.c: Update.
69835         * modules/striconveh: Update.
69836         * lib/unistr/u8-to-u16.c: Update.
69837         * modules/unistr/u8-to-u16: Update.
69838         * lib/unistr/u8-to-u32.c: Update.
69839         * modules/unistr/u8-to-u32: Update.
69840
69841 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69842
69843         Sync from Libtool.
69844         * lib/argz.c: Do not include strings.h nor memory.h, include
69845         string.h unconditionally.  Patch by Simon Josefsson.
69846
69847 2007-01-27  Bruno Haible  <bruno@clisp.org>
69848
69849         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
69850         from gl_HEADER_STRING_H_BODY.
69851         (gl_HEADER_STRING_H_BODY): Require it.
69852         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
69853         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
69854         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
69855         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
69856         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69857         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
69858         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
69859         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
69860         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
69861         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
69862         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
69863         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
69864         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
69865         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
69866         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69867
69868 2007-01-27  Bruno Haible  <bruno@clisp.org>
69869
69870         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
69871         check_PROGRAMS into noinst_PROGRAMS.
69872         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
69873         check_PROGRAMS in this case.
69874         (func_import): Set for_test to false.
69875         (func_create_testdir): Set for_test to true.
69876
69877 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69878             Bruno Haible  <bruno@clisp.org>
69879
69880         * modules/strcasestr (Files): Remove lib/strcasestr.h.
69881         (Depends-on): Add string.
69882         (Includes): Use <string.h> instead of strcasestr.h.
69883         * modules/string (Makefile.am): Also substitute the value of
69884         REPLACE_STRCASESTR.
69885         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
69886         assume strcasestr is declared in <string.h> not <strings.h>. Also
69887         set REPLACE_STRCASESTR.
69888         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
69889         REPLACE_STRCASESTR.
69890         * lib/strcasestr.h: Remove file.
69891         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
69892         * lib/string_.h (strcasestr): New declaration.
69893
69894 2007-01-27  Bruno Haible  <bruno@clisp.org>
69895
69896         * lib/string_.h: Use 'extern'.
69897
69898 2007-01-27  Jim Meyering  <jim@meyering.net>
69899
69900         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
69901         of set-but-not-used local, "q".
69902
69903         * lib/mempcpy.c: Include <config.h> before <string.h>.
69904         This fixes a compilation error on HP-UX, due to the system's
69905         "restrict"-using mempcpy prototype.
69906
69907 2007-01-26  Bruno Haible  <bruno@clisp.org>
69908
69909         Small optimization.
69910         * lib/javacomp.c: Include c-strstr.h.
69911          (is_envjavac_gcj): Use c_strstr instead of strstr.
69912         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
69913
69914 2007-01-26  Bruno Haible  <bruno@clisp.org>
69915
69916         * MODULES.html.sh (Unicode string functions): Add the new modules.
69917
69918         * modules/uniconv/u32-strconv-to-locale: New file.
69919         * lib/uniconv/u32-strconv-to-locale.c: New file.
69920
69921         * modules/uniconv/u16-strconv-to-locale: New file.
69922         * lib/uniconv/u16-strconv-to-locale.c: New file.
69923
69924         * modules/uniconv/u8-strconv-to-locale: New file.
69925         * lib/uniconv/u8-strconv-to-locale.c: New file.
69926
69927         * modules/uniconv/u32-strconv-from-locale: New file.
69928         * lib/uniconv/u32-strconv-from-locale.c: New file.
69929
69930         * modules/uniconv/u16-strconv-from-locale: New file.
69931         * lib/uniconv/u16-strconv-from-locale.c: New file.
69932
69933         * modules/uniconv/u8-strconv-from-locale: New file.
69934         * lib/uniconv/u8-strconv-from-locale.c: New file.
69935
69936         * modules/uniconv/u32-strconv-to-enc: New file.
69937         * lib/uniconv/u32-strconv-to-enc.c: New file.
69938         * modules/uniconv/u32-strconv-to-enc-tests: New file.
69939         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
69940
69941         * modules/uniconv/u16-strconv-to-enc: New file.
69942         * lib/uniconv/u16-strconv-to-enc.c: New file.
69943         * lib/uniconv/u-strconv-to-enc.h: New file.
69944         * modules/uniconv/u16-strconv-to-enc-tests: New file.
69945         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
69946
69947         * modules/uniconv/u8-strconv-to-enc: New file.
69948         * lib/uniconv/u8-strconv-to-enc.c: New file.
69949         * modules/uniconv/u8-strconv-to-enc-tests: New file.
69950         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
69951
69952         * modules/uniconv/u32-strconv-from-enc: New file.
69953         * lib/uniconv/u32-strconv-from-enc.c: New file.
69954         * modules/uniconv/u32-strconv-from-enc-tests: New file.
69955         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
69956
69957         * modules/uniconv/u16-strconv-from-enc: New file.
69958         * lib/uniconv/u16-strconv-from-enc.c: New file.
69959         * modules/uniconv/u16-strconv-from-enc-tests: New file.
69960         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
69961
69962         * modules/uniconv/u8-strconv-from-enc: New file.
69963         * lib/uniconv/u8-strconv-from-enc.c: New file.
69964         * lib/uniconv/u-strconv-from-enc.h: New file.
69965         * modules/uniconv/u8-strconv-from-enc-tests: New file.
69966         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
69967
69968         * modules/uniconv/u32-conv-from-enc: New file.
69969         * lib/uniconv/u32-conv-from-enc.c: New file.
69970         * modules/uniconv/u32-conv-from-enc-tests: New file.
69971         * tests/uniconv/test-u32-conv-from-enc.c: New file.
69972
69973         * modules/uniconv/u16-conv-from-enc: New file.
69974         * lib/uniconv/u16-conv-from-enc.c: New file.
69975         * lib/uniconv/u-conv-from-enc.h: New file.
69976         * modules/uniconv/u16-conv-from-enc-tests: New file.
69977         * tests/uniconv/test-u16-conv-from-enc.c: New file.
69978
69979         * modules/uniconv/u8-conv-from-enc: New file.
69980         * lib/uniconv/u8-conv-from-enc.c: New file.
69981         * modules/uniconv/u8-conv-from-enc-tests: New file.
69982         * tests/uniconv/test-u8-conv-from-enc.c: New file.
69983
69984         * modules/uniconv/base: New file.
69985         * lib/uniconv.h: New file.
69986
69987 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
69988
69989         * doc/gnulib-tool.texi (Initial import): Update to match current
69990         behavior with strdup module.
69991         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
69992         * lib/memmem.h: Remove; all uses removed.  This is now done
69993         by <string.h>.
69994         * lib/mempcpy.h: Likewise.
69995         * lib/memrchr.h: Likewise.
69996         * lib/stpcpy.h: Likewise.
69997         * lib/stpncpy.h: Likewise.
69998         * lib/strcase.h: Likewise.
69999         * lib/strchrnul.h: Likewise.
70000         * lib/strdup.h: Likewise.
70001         * lib/strndup.h: Likewise.
70002         * lib/strnlen.h: Likewise.
70003         * lib/strpbrk.h: Likewise.
70004         * lib/strsep.h: Likewise.
70005         * lib/strstr.h: Likewise.
70006         * lib/strtok_r.h: Likewise.
70007         * lib/string_.h: New file.
70008         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
70009         Rely on <string.h> instead.
70010         * lib/canon-host.c: Likewise.
70011         * lib/chdir-long.c: Likewise.
70012         * lib/concatpath.c: Likewise.
70013         * lib/exclude.c: Likewise.
70014         * lib/fchdir.c: Likewise.
70015         * lib/getaddrinfo.c: Likewise.
70016         * lib/getcwd.c: Likewise.
70017         * lib/getsubopt.c: Likewise.
70018         * lib/glob.c: Likewise.
70019         * lib/hard-locale.c: Likewise.
70020         * lib/iconvme.c: Likewise.
70021         * lib/javacomp.c: Likewise.
70022         * lib/mempcpy.c: Likewise.
70023         * lib/memrchr.c: Likewise.
70024         * lib/regex_internal.h: Likewise.
70025         * lib/stpncpy.c: Likewise.
70026         * lib/strcasecmp.c: Likewise.
70027         * lib/strchrnul.c: Likewise.
70028         * lib/strdup.c: Likewise.
70029         * lib/striconv.c: Likewise.
70030         * lib/striconveh.c: Likewise.
70031         * lib/striconveha.c: Likewise.
70032         * lib/strncasecmp.c: Likewise.
70033         * lib/strndup.c: Likewise.
70034         * lib/strnlen.c: Likewise.
70035         * lib/strsep.c: Likewise.
70036         * lib/strstr.c: Likewise.
70037         * lib/strtok_r.c: Likewise.
70038         * lib/userspec.c: Likewise.
70039         * lib/w32spawn.h: Likewise.
70040         * lib/xstrndup.c: Likewise.
70041         * lib/mountlist.c (strstr): Remove decl.
70042         * m4/string_h.m4: New file.
70043         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
70044         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
70045         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
70046         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
70047         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
70048         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
70049         Set REPLACE_STRCASECMP if necessary.
70050         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
70051         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
70052         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
70053         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
70054         HAVE_DECL_STRDUP if necessary.
70055         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
70056         since gl_FUNC_STRNDUP does that now.
70057         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
70058         Check for decl here...
70059         (gl_PREREQ_STRNLEN): ... not here.
70060         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
70061         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
70062         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
70063         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
70064         necessary.
70065         * modules/string: New file.
70066         * modules/memmem (Files): Remove special-purpose include file.
70067         (Depends-on): Add string.
70068         (Include): Include <string.h>, not the removed file.
70069         * modules/mempcpy: Likewise.
70070         * modules/memrchr: Likewise.
70071         * modules/stpcpy: Likewise.
70072         * modules/stpncpy: Likewise.
70073         * modules/strcase: Likewise.
70074         * modules/strchrnul: Likewise.
70075         * modules/strdup: Likewise.
70076         * modules/strndup: Likewise.
70077         * modules/strnlen: Likewise.
70078         * modules/strpbrk: Likewise.
70079         * modules/strsep: Likewise.
70080         * modules/strstr: Likewise.
70081         * modules/strtok_r: Likewise.
70082         * tests/test-dirname.c: Don't include "strdup.h", since
70083         <string.h> now suffices.
70084         * tests/test-memmem.c: Don't include "memmem.h", since
70085         <string.h> now suffices.
70086
70087 2007-01-25  Bruno Haible  <bruno@clisp.org>
70088
70089         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
70090         *resultp is 0.
70091
70092         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
70093         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
70094         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
70095         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
70096
70097         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
70098         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
70099         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
70100         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
70101         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
70102         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
70103
70104 2007-01-24  Bruno Haible  <bruno@clisp.org>
70105
70106         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
70107         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
70108         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
70109         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
70110         gl_FUNC_FTS_CORE.
70111         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
70112         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
70113         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70114         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
70115         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
70116         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
70117         gl_FUNC_FCHOWNAT.
70118         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
70119         gl_FUNC_STRFTIME.
70120         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
70121         Reported by Ralf Wildenhues.
70122
70123 2007-01-24  Bruno Haible  <bruno@clisp.org>
70124
70125         Drop AC_REQUIRE calls that are redundant with the module dependencies.
70126         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
70127         gl_GETADDRINFO.
70128         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
70129         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
70130         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
70131
70132 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
70133
70134         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
70135         Don't use 'exit'; just return from 'main'.
70136         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
70137
70138         * lib/fnmatch_.h: Readjust white space and comments to match
70139         glibc, to avoid spurious diffs.
70140
70141 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70142
70143         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
70144         2004-12-01 change by Jakub Jelinek, since this code won't compile
70145         if !LIBC.  Problem reported by Bob Proulx.
70146
70147 2007-01-23  Bruno Haible  <bruno@clisp.org>
70148
70149         * lib/striconveh.c: Include c-strcaseeq.h.
70150         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
70151         * modules/striconveh (Depends-on): Add c-strcaseeq.
70152
70153 2007-01-23  Bruno Haible  <bruno@clisp.org>
70154
70155         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
70156
70157         * modules/c-strcaseeq: New file.
70158         * lib/c-strcaseeq.h: New file.
70159
70160         * modules/streq: New file.
70161         * lib/streq.h: New file.
70162
70163 2007-01-23  Bruno Haible  <bruno@clisp.org>
70164
70165         * modules/striconveha-tests: New file.
70166         * tests/test-striconveha.c: New file.
70167
70168         * lib/striconveha.h: Include <stdbool.h>.
70169         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
70170         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
70171         (mem_iconveha_notranslit): Renamed from mem_iconveha.
70172         (mem_iconveha): New function.
70173         (str_iconveha_notranslit): Renamed from str_iconveha.
70174         (str_iconveha): New function.
70175         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
70176         c-strcase.
70177
70178 2007-01-23  Bruno Haible  <bruno@clisp.org>
70179
70180         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
70181         encodings without forgiving before trying any encoding with handler.
70182         (str_iconveha): Try all encodings without forgiving before trying any
70183         encoding with handler.
70184
70185 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70186
70187         Import the following changes from libc.
70188
70189         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
70190
70191         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
70192
70193         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
70194
70195         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
70196         normal_bracket label.
70197
70198         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
70199
70200         [BZ #361]
70201         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
70202         to normal_bracket after fetching the next character.
70203
70204 2007-01-22  Bruno Haible  <bruno@clisp.org>
70205
70206         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
70207         argument.
70208         * lib/striconveh.c (iconv_carefully_1): New function.
70209         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
70210         argument.
70211         (str_cd_iconveh): Update.
70212         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
70213         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
70214         * tests/test-striconveh.c (MAGIC): New macro.
70215         (new_offsets): New function.
70216         (main): Test call with and without offsets.
70217
70218 2007-01-22  Bruno Haible  <bruno@clisp.org>
70219
70220         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
70221         * modules/sys_select (Makefile.am): Likewise.
70222         * modules/sys_socket (Makefile.am): Likewise.
70223         * modules/sys_time (Makefile.am): Likewise.
70224
70225 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
70226
70227         * modules/gettimeofday (License): Change from GPL to LGPL, since
70228         gettimeofday is a library function.
70229
70230 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70231
70232         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
70233
70234 2007-01-21  Bruno Haible  <bruno@clisp.org>
70235
70236         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
70237
70238 2007-01-21  Bruno Haible  <bruno@clisp.org>
70239
70240         * modules/striconveha: New file.
70241         * lib/striconveha.h: New file.
70242         * lib/striconveha.c: New file.
70243         * MODULES.html.sh (Internationalization functions): Add striconveha.
70244         * lib/striconv.c (str_iconv): Optimize the case of an empty input
70245         string.
70246         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
70247
70248 2007-01-21  Bruno Haible  <bruno@clisp.org>
70249
70250         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
70251         * lib/striconveh.c (str_iconveh): Likewise.
70252
70253 2007-01-21  Bruno Haible  <bruno@clisp.org>
70254
70255         * lib/striconveh.h (mem_iconveh): New declaration.
70256         * lib/striconveh.c (mem_iconveh): New function.
70257         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
70258
70259 2007-01-21  Bruno Haible  <bruno@clisp.org>
70260
70261         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
70262
70263         * lib/striconveh.h (mem_cd_iconveh): Change specification.
70264         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
70265         original result buffer.
70266         (str_cd_iconveh): Update.
70267         * tests/test-striconveh.c (main): Update.
70268
70269         * lib/striconv.h (mem_cd_iconv): Change specification.
70270         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
70271         result buffer.
70272         (str_cd_iconv): Update.
70273         * tests/test-striconv.c (main): Update.
70274
70275 2007-01-21  Bruno Haible  <bruno@clisp.org>
70276
70277         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
70278
70279 2007-01-20  Jim Meyering  <jim@meyering.net>
70280
70281         * lib/userspec.c (parse_with_separator): If a user or group string
70282         starts with "+", skip the corresponding name-to-ID look-up, since
70283         such a look-up must fail: user and group names may not include "+".
70284
70285 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
70286
70287         * lib/poll.c: Include sys/time.h and time.h unconditionally,
70288         since we now assume the sys_time module.
70289         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
70290         check for sys/time.h; no longer needed.
70291         * modules/poll (Depends-on): Depend on sys_time.
70292
70293 2007-01-18  Bruno Haible  <bruno@clisp.org>
70294
70295         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
70296         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70297
70298         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
70299         gettimeofday.
70300
70301         * tests/test-gettimeofday.c: Include <time.h>.
70302         (dummy): Remove variable.
70303
70304         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
70305         gl_HEADER_SYS_TIME_H.
70306         (gl_HEADER_SYS_TIME_H): New macro.
70307
70308         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
70309         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70310         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
70311         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
70312         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70313         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
70314         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
70315         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70316         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
70317         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
70318         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70319
70320         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
70321         last change; it caused a compilation error when cross-compiling to
70322         Cygwin.
70323
70324 2007-01-18  Jim Meyering  <jim@meyering.net>
70325
70326         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
70327         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
70328         than the race-prone "test -d sys || mkdir sys".
70329         (configure.ac): Use AC_PROG_MKDIR_P.
70330         * modules/sys_select: Likewise.
70331         * modules/sys_socket: Likewise.
70332         * modules/sys_time: Likewise.
70333
70334 2007-01-18  Eric Blake  <ebb9@byu.net>
70335
70336         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
70337         replace gettimeofday.
70338         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
70339         name, to avoid infinite recursion.
70340
70341 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
70342
70343         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
70344         module sys_time.
70345         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
70346         assume timespec.h defines struct timeval.
70347         * lib/settime.c: Likewise.
70348         * lib/utimens.c: Likewise.
70349         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
70350         since we now assume the gettimeofday module.
70351         * lib/tempname.c (__gen_tempname): Likewise.
70352         * lib/gettimeofday.h: Remove.
70353         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
70354         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
70355         Include <time.h>, for 'time()'.
70356         (localtime_buffer_addr): Also use this workaround if
70357         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
70358         to simplify the uses.  All uses changed.
70359         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
70360         that #undef is inside {}, and 'const' follows type name consistently.
70361         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
70362         (gettimeofday): Do not use the maximum possible value for
70363         tv->tv_usec, since that might break usages other than ls.c.
70364         Instead, we'll leave ls.c alone.  This undoes today's patch
70365         by Bruno.  Add a compile-time warning for 1s-clock resolution;
70366         we've never observed the problem but might as well keep the
70367         canary.
70368         * lib/nanosleep.c: Include timespec.h first, for interface check.
70369         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
70370         now assume the sys_time module.
70371         * lib/tempname.c: Likewise.
70372         * lib/timespec.h: Likewise.
70373         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
70374         needed.
70375         * lib/strftime.c: Likewise.
70376         * lib/timespec.h: Likewise.
70377         * lib/posixtm.c: Include posixtm.h first, for interface check.
70378         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
70379         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
70380         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
70381         * lib/sys_time_.h: New file.
70382         * lib/timespec.h (struct timespec): Use long int, not long.
70383         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70384         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
70385         Remove obsolescent call to AC_HEADER_TIME.
70386         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
70387         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
70388         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
70389         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
70390         Likewise.
70391         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
70392         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
70393         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
70394         into the sys_time module.  Check for gettimeofday just once.
70395         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
70396         for gettimeofday signature to just check the signature.  Merely
70397         compile it, since linking doesn't test signature.  Improve test for
70398         whether gettimeofday.o is actually needed.
70399         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
70400         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
70401         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
70402         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70403         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
70404         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
70405         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
70406         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
70407         than worrying about sys/time.h.
70408         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
70409         Don't bother worrying about TIME_WITH_SYS_TIME.
70410         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
70411         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
70412         * m4/sys_time_h.m4: New file.
70413         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
70414         Don't include sys/time.h.  Return from main rather than exiting.
70415         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
70416         all uses changed.
70417         * modules/gethrxtime (Depends-on): Add sys_time.
70418         * modules/gettime (Depends-on): Likewise.
70419         * modules/gettimeofday (Depends-on): Likewise.
70420         * modules/nanosleep (Depends-on): Likewise.
70421         * modules/settime (Depends-on): Likewise.
70422         * modules/tempname (Depends-on): Likewise.
70423         * modules/utimens (Depends-on): Likewise.
70424         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
70425         (Include): Change back to <sys/time.h>.
70426         (Maintainer): Add self.
70427         * modules/sys_time: New file.
70428         * modules/tempname (Depends-on): Add gettimeofday.
70429         * tests/test-gettimeofday.c: Include <sys/time.h>
70430         rather than gettimeofday.h.
70431
70432 2007-01-17  Bruno Haible  <bruno@clisp.org>
70433
70434         * gnulib-tool (func_get_license): Revert last patch. Instead, let
70435         the license default to GPL.
70436         (func_create_testdir): Don't complain if a module is LGPL and its
70437         tests module depends on GPLed modules.
70438
70439 2007-01-17  Bruno Haible  <bruno@clisp.org>
70440
70441         * lib/gettimeofday.c (gettimeofday): Add code for the case
70442         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
70443         maximum possible value for tv->tv_usec, rather than the minimum one.
70444
70445 2005-10-08  Martin Lambers  <marlam@marlam.de>
70446 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
70447 2007-01-16  Bruno Haible  <bruno@clisp.org>
70448
70449         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
70450         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
70451         gl_FUNC_GETTIMEOFDAY.
70452         (Include): Add gettimeofday.h.
70453         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
70454         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
70455         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
70456         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
70457         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
70458         * lib/gettimeofday.h: New file.
70459         * lib/gettimeofday.c: Include <sys/timeb.h>.
70460         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
70461         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
70462         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
70463         fall back on time().
70464
70465         * tests/test-gettimeofday.c: New file.
70466         * modules/gettimeofday-tests: New file.
70467
70468 2007-01-16  Eric Blake  <ebb9@byu.net>
70469
70470         * modules/fnmatch (Depends-on): Depend on wchar.
70471         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
70472         * m4/fnmatch.m4: Likewise.
70473         * modules/mbchar (Makefile.am): Assume <wchar.h>.
70474         * m4/mbchar.m4: Likewise.
70475         * modules/mbswidth (Depends-on): Depend on wchar.
70476         * lib/mbswidth.c: Assume <wchar.h>.
70477         * m4/mbswidth.m4: Likewise.
70478         * modules/quotearg (Depends-on): Depend on wchar.
70479         * lib/quotearg.c: Assume <wchar.h>.
70480         * m4/quotearg.m4: Likewise.
70481         * modules/regex (Depends-on): Depend on wchar.
70482         * lib/regex_internal.h: Assume <wchar.h>.
70483         * m4/regex.m4: Likewise.
70484         * modules/stdint (Depends-on): Depend on wchar.
70485         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
70486         * m4/stdint.m4: Likewise.
70487         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
70488         * modules/strftime (Depends-on): Depend on wchar.
70489         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
70490         * modules/strtol (Depends-on): Depend on wchar.
70491         * lib/strtol.c: Assume <wchar.h>.
70492         * modules/wcwidth (Depends-on): Depend on wchar.
70493         * lib/wcwidth.h: Assume <wchar.h>.
70494         * m4/wcwidth.m4: Likewise.
70495
70496 2007-01-16  Bruno Haible  <bruno@clisp.org>
70497
70498         * modules/csharpexec-script: New, created from...
70499         * modules/csharpexec: ... this.
70500
70501 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
70502
70503         * modules/javaexec-script: New, created from...
70504         * modules/javaexec: ... this.
70505
70506 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70507
70508         * modules/poll (Dependencies): Add sys_select.
70509
70510 2007-01-15  Jim Meyering  <jim@meyering.net>
70511
70512         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
70513         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
70514         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
70515         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
70516
70517 2007-01-15  Bruno Haible  <bruno@clisp.org>
70518
70519         * modules/striconveh: New file.
70520         * lib/striconveh.h: New file.
70521         * lib/striconveh.c: New file.
70522         * MODULES.html.sh (Internationalization functions): Add striconveh.
70523
70524         * modules/striconveh-tests: New file.
70525         * tests/test-striconveh.c: New file.
70526
70527 2007-01-15  Bruno Haible  <bruno@clisp.org>
70528
70529         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
70530         not from GNU libiconv or GNU libc.
70531
70532 2007-01-15  Bruno Haible  <bruno@clisp.org>
70533
70534         * doc/gnulib-intro.texi (Copyright): Explain the different license
70535         terms for module descriptions, autoconf macros, tests, documentation.
70536
70537 2007-01-14  Bruno Haible  <bruno@clisp.org>
70538
70539         * modules/striconv-tests: New file.
70540         * tests/test-striconv.c: New file.
70541
70542 2007-01-14  Bruno Haible  <bruno@clisp.org>
70543
70544         * modules/iconv-tests: New file.
70545         * tests/test-iconv.c: New file.
70546
70547 2007-01-14  Bruno Haible  <bruno@clisp.org>
70548
70549         * gnulib-tool (func_get_license): For test modules, use the license of
70550         the main module.
70551
70552 2007-01-14  Bruno Haible  <bruno@clisp.org>
70553
70554         * modules/iconv (Include): Clarify that <iconv.h> can only be included
70555         if iconv is found to exist.
70556
70557 2007-01-14  Bruno Haible  <bruno@clisp.org>
70558
70559         * modules/c-ctype-tests: New file.
70560         * tests/test-c-ctype.c: New file.
70561
70562 2007-01-14  Bruno Haible  <bruno@clisp.org>
70563
70564         * modules/binary-io-tests: New file.
70565         * tests/test-binary-io.sh: New file.
70566         * tests/test-binary-io.c: New file.
70567
70568 2007-01-14  Bruno Haible  <bruno@clisp.org>
70569
70570         * modules/array-oset-tests: New file.
70571         * tests/test-array_oset.c: New file.
70572
70573 2007-01-14  Bruno Haible  <bruno@clisp.org>
70574
70575         * modules/array-list-tests: New file.
70576         * tests/test-array_list.c: New file.
70577
70578 2007-01-14  Bruno Haible  <bruno@clisp.org>
70579
70580         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
70581         and make.
70582         Reported by Simon Josefsson in
70583         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
70584
70585 2007-01-14  Bruno Haible  <bruno@clisp.org>
70586
70587         * modules/allocsa-tests: New file.
70588         * tests/test-allocsa.c: New file.
70589
70590 2007-01-14  Bruno Haible  <bruno@clisp.org>
70591
70592         * modules/fchdir (Depends-on): Add absolute-header.
70593         * modules/unistd (Depends-on): Likewise.
70594
70595 2006-12-30  Bruno Haible  <bruno@clisp.org>
70596
70597         * modules/fchdir: New file.
70598         * modules/unistd (Files): Add lib/unistd_.h.
70599         (Makefile.am): Generate unistd.h from unistd_.h.
70600         * lib/fchdir.c: New file.
70601         * lib/dirent_.h: New file.
70602         * lib/unistd_.h: New file.
70603         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
70604         * m4/fchdir.m4: New file.
70605         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
70606         (gl_HEADER_UNISTD): Invoke it.
70607         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
70608         function.
70609         * lib/backupfile.c (opendir, closedir): Undefine.
70610         * lib/chown.c (open, close): Undefine.
70611         * lib/clean-temp.c (open, close): Undefine.
70612         * lib/copy-file.c (open, close): Undefine.
70613         * lib/execute.c (open, close): Undefine.
70614         * lib/fsusage.c (open, close): Undefine.
70615         * lib/gc-gnulib.c (open, close): Undefine.
70616         * lib/getcwd.c (opendir, closedir): Undefine.
70617         * lib/glob.c (opendir, closedir): Undefine.
70618         * lib/javacomp.c (open, close): Undefine.
70619         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
70620         * lib/openat-proc.c (open, close): Undefine.
70621         * lib/pagealign_alloc.c (open, close): Undefine.
70622         * lib/pipe.c (open, close): Undefine.
70623         * lib/progreloc.c (open, close): Undefine.
70624         * lib/savedir.c (opendir, closedir): Undefine.
70625         * lib/utime.c (open, close): Undefine.
70626         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
70627
70628 2007-01-10  Bruno Haible  <bruno@clisp.org>
70629
70630         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
70631
70632 2007-01-12  Eric Blake  <ebb9@byu.net>
70633
70634         Provide a robust <wchar.h>.  Further simplifications are now
70635         possible in other modules, but not included here.
70636         * modules/wchar: New module.
70637         * m4/wchar.m4: New file.
70638         * lib/wchar_.h: Likewise.
70639         * modules/mbchar (Depends-on): Depend on wchar, as the first use
70640         of the new module.
70641         * MODULES.html.sh (Extended multibyte and wide character utilities):
70642         New section.
70643
70644 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
70645
70646         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
70647         to a reasonable default for memory allocation.
70648         (xreadlink): Don't allocate a huge buffer, to work around a buggy
70649         file system that reports garbage st_size values for symlinks.
70650         Problem reported by Liyang Hu.
70651
70652 2007-01-11  Simon Josefsson  <simon@josefsson.org>
70653
70654         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
70655         Emacs .#* auto-save files).
70656
70657 2007-01-11  Bruno Haible  <bruno@clisp.org>
70658
70659         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
70660         directory.
70661
70662 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
70663
70664         Use @...@ consistently in lib/wctype_.h.
70665         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
70666         on it being set to 1 or 0.
70667         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
70668         go back to AC_SUBSTing it.
70669         * modules/wctype (Makefile.am): Undo previous change.
70670
70671 2007-01-10  Eric Blake  <ebb9@byu.net>
70672
70673         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
70674         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
70675         * modules/wctype (Makefile.am): Likewise.
70676         Reported by Chris McGuire.
70677
70678 2007-01-10  Jim Meyering  <jim@meyering.net>
70679
70680         fts.c: a small readability/maintainability improvement
70681         * lib/fts.c (fts_read): Make this code slightly more readable and
70682         maintainable by hoisting the "sp->fts_cur = p" assignments to
70683         immediately follow the statements that set P.  Derived from
70684         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
70685
70686 2007-01-10  Eric Blake  <ebb9@byu.net>
70687
70688         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
70689         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
70690         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
70691         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70692         Reported by Chris McGuire.
70693
70694 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70695
70696         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
70697         in sed script.
70698
70699 2007-01-09  Bruno Haible  <bruno@clisp.org>
70700
70701         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
70702         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
70703         variables.
70704         (func_module): Use them.
70705
70706 2007-01-09  Bruno Haible  <bruno@clisp.org>
70707
70708         * modules/unistr/base: New file.
70709         * lib/unistr.h: New file.
70710
70711         * modules/unistr/u8-to-u16: New file.
70712         * lib/unistr/u8-to-u16.c: New file.
70713
70714         * modules/unistr/u8-to-u32: New file.
70715         * lib/unistr/u8-to-u32.c: New file.
70716
70717         * modules/unistr/u16-to-u8: New file.
70718         * lib/unistr/u16-to-u8.c: New file.
70719
70720         * modules/unistr/u16-to-u32: New file.
70721         * lib/unistr/u16-to-u32.c: New file.
70722
70723         * modules/unistr/u32-to-u8: New file.
70724         * lib/unistr/u32-to-u8.c: New file.
70725
70726         * modules/unistr/u32-to-u16: New file.
70727         * lib/unistr/u32-to-u16.c: New file.
70728
70729         * modules/unistr/u8-check: New file.
70730         * modules/unistr/u16-check: New file.
70731         * modules/unistr/u32-check: New file.
70732         * lib/unistr/u8-check.c: New file.
70733         * lib/unistr/u16-check.c: New file.
70734         * lib/unistr/u32-check.c: New file.
70735
70736         * modules/unistr/u8-chr: New file.
70737         * modules/unistr/u16-chr: New file.
70738         * modules/unistr/u32-chr: New file.
70739         * lib/unistr/u8-chr.c: New file.
70740         * lib/unistr/u16-chr.c: New file.
70741         * lib/unistr/u32-chr.c: New file.
70742
70743         * modules/unistr/u8-cmp: New file.
70744         * modules/unistr/u16-cmp: New file.
70745         * modules/unistr/u32-cmp: New file.
70746         * lib/unistr/u8-cmp.c: New file.
70747         * lib/unistr/u16-cmp.c: New file.
70748         * lib/unistr/u32-cmp.c: New file.
70749
70750         * modules/unistr/u8-cpy: New file.
70751         * modules/unistr/u16-cpy: New file.
70752         * modules/unistr/u32-cpy: New file.
70753         * lib/unistr/u8-cpy.c: New file.
70754         * lib/unistr/u16-cpy.c: New file.
70755         * lib/unistr/u32-cpy.c: New file.
70756         * lib/unistr/u-cpy.h: New file.
70757
70758         * modules/unistr/u8-cpy-alloc: New file.
70759         * modules/unistr/u16-cpy-alloc: New file.
70760         * modules/unistr/u32-cpy-alloc: New file.
70761         * lib/unistr/u8-cpy-alloc.c: New file.
70762         * lib/unistr/u16-cpy-alloc.c: New file.
70763         * lib/unistr/u32-cpy-alloc.c: New file.
70764         * lib/unistr/u-cpy-alloc.h: New file.
70765
70766         * modules/unistr/u8-endswith: New file.
70767         * modules/unistr/u16-endswith: New file.
70768         * modules/unistr/u32-endswith: New file.
70769         * lib/unistr/u8-endswith.c: New file.
70770         * lib/unistr/u16-endswith.c: New file.
70771         * lib/unistr/u32-endswith.c: New file.
70772         * lib/unistr/u-endswith.h: New file.
70773
70774         * modules/unistr/u8-mblen: New file.
70775         * modules/unistr/u16-mblen: New file.
70776         * modules/unistr/u32-mblen: New file.
70777         * lib/unistr/u8-mblen.c: New file.
70778         * lib/unistr/u16-mblen.c: New file.
70779         * lib/unistr/u32-mblen.c: New file.
70780
70781         * modules/unistr/u8-mbtouc: New file.
70782         * modules/unistr/u16-mbtouc: New file.
70783         * modules/unistr/u32-mbtouc: New file.
70784         * lib/unistr/u8-mbtouc.c: New file.
70785         * lib/unistr/u16-mbtouc.c: New file.
70786         * lib/unistr/u32-mbtouc.c: New file.
70787
70788         * modules/unistr/u8-mbtouc-safe: New file.
70789         * modules/unistr/u16-mbtouc-safe: New file.
70790         * modules/unistr/u32-mbtouc-safe: New file.
70791         * lib/unistr/u8-mbtouc-safe.c: New file.
70792         * lib/unistr/u16-mbtouc-safe.c: New file.
70793         * lib/unistr/u32-mbtouc-safe.c: New file.
70794
70795         * modules/unistr/u8-move: New file.
70796         * modules/unistr/u16-move: New file.
70797         * modules/unistr/u32-move: New file.
70798         * lib/unistr/u8-move.c: New file.
70799         * lib/unistr/u16-move.c: New file.
70800         * lib/unistr/u32-move.c: New file.
70801         * lib/unistr/u-move.h: New file.
70802
70803         * modules/unistr/u8-next: New file.
70804         * modules/unistr/u16-next: New file.
70805         * modules/unistr/u32-next: New file.
70806         * lib/unistr/u8-next.c: New file.
70807         * lib/unistr/u16-next.c: New file.
70808         * lib/unistr/u32-next.c: New file.
70809
70810         * modules/unistr/u8-prev: New file.
70811         * modules/unistr/u16-prev: New file.
70812         * modules/unistr/u32-prev: New file.
70813         * lib/unistr/u8-prev.c: New file.
70814         * lib/unistr/u16-prev.c: New file.
70815         * lib/unistr/u32-prev.c: New file.
70816
70817         * modules/unistr/u8-set: New file.
70818         * modules/unistr/u16-set: New file.
70819         * modules/unistr/u32-set: New file.
70820         * lib/unistr/u8-set.c: New file.
70821         * lib/unistr/u16-set.c: New file.
70822         * lib/unistr/u32-set.c: New file.
70823         * lib/unistr/u-set.h: New file.
70824
70825         * modules/unistr/u8-startswith: New file.
70826         * modules/unistr/u16-startswith: New file.
70827         * modules/unistr/u32-startswith: New file.
70828         * lib/unistr/u8-startswith.c: New file.
70829         * lib/unistr/u16-startswith.c: New file.
70830         * lib/unistr/u32-startswith.c: New file.
70831         * lib/unistr/u-startswith.h: New file.
70832
70833         * modules/unistr/u8-stpcpy: New file.
70834         * modules/unistr/u16-stpcpy: New file.
70835         * modules/unistr/u32-stpcpy: New file.
70836         * lib/unistr/u8-stpcpy.c: New file.
70837         * lib/unistr/u16-stpcpy.c: New file.
70838         * lib/unistr/u32-stpcpy.c: New file.
70839         * lib/unistr/u-stpcpy.h: New file.
70840
70841         * modules/unistr/u8-stpncpy: New file.
70842         * modules/unistr/u16-stpncpy: New file.
70843         * modules/unistr/u32-stpncpy: New file.
70844         * lib/unistr/u8-stpncpy.c: New file.
70845         * lib/unistr/u16-stpncpy.c: New file.
70846         * lib/unistr/u32-stpncpy.c: New file.
70847         * lib/unistr/u-stpncpy.h: New file.
70848
70849         * modules/unistr/u8-strcat: New file.
70850         * modules/unistr/u16-strcat: New file.
70851         * modules/unistr/u32-strcat: New file.
70852         * lib/unistr/u8-strcat.c: New file.
70853         * lib/unistr/u16-strcat.c: New file.
70854         * lib/unistr/u32-strcat.c: New file.
70855         * lib/unistr/u-strcat.h: New file.
70856
70857         * modules/unistr/u8-strchr: New file.
70858         * modules/unistr/u16-strchr: New file.
70859         * modules/unistr/u32-strchr: New file.
70860         * lib/unistr/u8-strchr.c: New file.
70861         * lib/unistr/u16-strchr.c: New file.
70862         * lib/unistr/u32-strchr.c: New file.
70863
70864         * modules/unistr/u8-strcmp: New file.
70865         * modules/unistr/u16-strcmp: New file.
70866         * modules/unistr/u32-strcmp: New file.
70867         * lib/unistr/u8-strcmp.c: New file.
70868         * lib/unistr/u16-strcmp.c: New file.
70869         * lib/unistr/u32-strcmp.c: New file.
70870
70871         * modules/unistr/u8-strcpy: New file.
70872         * modules/unistr/u16-strcpy: New file.
70873         * modules/unistr/u32-strcpy: New file.
70874         * lib/unistr/u8-strcpy.c: New file.
70875         * lib/unistr/u16-strcpy.c: New file.
70876         * lib/unistr/u32-strcpy.c: New file.
70877         * lib/unistr/u-strcpy.h: New file.
70878
70879         * modules/unistr/u8-strcspn: New file.
70880         * modules/unistr/u16-strcspn: New file.
70881         * modules/unistr/u32-strcspn: New file.
70882         * lib/unistr/u8-strcspn.c: New file.
70883         * lib/unistr/u16-strcspn.c: New file.
70884         * lib/unistr/u32-strcspn.c: New file.
70885         * lib/unistr/u-strcspn.h: New file.
70886
70887         * modules/unistr/u8-strdup: New file.
70888         * modules/unistr/u16-strdup: New file.
70889         * modules/unistr/u32-strdup: New file.
70890         * lib/unistr/u8-strdup.c: New file.
70891         * lib/unistr/u16-strdup.c: New file.
70892         * lib/unistr/u32-strdup.c: New file.
70893         * lib/unistr/u-strdup.h: New file.
70894
70895         * modules/unistr/u8-strlen: New file.
70896         * modules/unistr/u16-strlen: New file.
70897         * modules/unistr/u32-strlen: New file.
70898         * lib/unistr/u8-strlen.c: New file.
70899         * lib/unistr/u16-strlen.c: New file.
70900         * lib/unistr/u32-strlen.c: New file.
70901         * lib/unistr/u-strlen.h: New file.
70902
70903         * modules/unistr/u8-strmblen: New file.
70904         * modules/unistr/u16-strmblen: New file.
70905         * modules/unistr/u32-strmblen: New file.
70906         * lib/unistr/u8-strmblen.c: New file.
70907         * lib/unistr/u16-strmblen.c: New file.
70908         * lib/unistr/u32-strmblen.c: New file.
70909
70910         * modules/unistr/u8-strmbtouc: New file.
70911         * modules/unistr/u16-strmbtouc: New file.
70912         * modules/unistr/u32-strmbtouc: New file.
70913         * lib/unistr/u8-strmbtouc.c: New file.
70914         * lib/unistr/u16-strmbtouc.c: New file.
70915         * lib/unistr/u32-strmbtouc.c: New file.
70916
70917         * modules/unistr/u8-strncat: New file.
70918         * modules/unistr/u16-strncat: New file.
70919         * modules/unistr/u32-strncat: New file.
70920         * lib/unistr/u8-strncat.c: New file.
70921         * lib/unistr/u16-strncat.c: New file.
70922         * lib/unistr/u32-strncat.c: New file.
70923         * lib/unistr/u-strncat.h: New file.
70924
70925         * modules/unistr/u8-strncmp: New file.
70926         * modules/unistr/u16-strncmp: New file.
70927         * modules/unistr/u32-strncmp: New file.
70928         * lib/unistr/u8-strncmp.c: New file.
70929         * lib/unistr/u16-strncmp.c: New file.
70930         * lib/unistr/u32-strncmp.c: New file.
70931
70932         * modules/unistr/u8-strncpy: New file.
70933         * modules/unistr/u16-strncpy: New file.
70934         * modules/unistr/u32-strncpy: New file.
70935         * lib/unistr/u8-strncpy.c: New file.
70936         * lib/unistr/u16-strncpy.c: New file.
70937         * lib/unistr/u32-strncpy.c: New file.
70938         * lib/unistr/u-strncpy.h: New file.
70939
70940         * modules/unistr/u8-strnlen: New file.
70941         * modules/unistr/u16-strnlen: New file.
70942         * modules/unistr/u32-strnlen: New file.
70943         * lib/unistr/u8-strnlen.c: New file.
70944         * lib/unistr/u16-strnlen.c: New file.
70945         * lib/unistr/u32-strnlen.c: New file.
70946         * lib/unistr/u-strnlen.h: New file.
70947
70948         * modules/unistr/u8-strpbrk: New file.
70949         * modules/unistr/u16-strpbrk: New file.
70950         * modules/unistr/u32-strpbrk: New file.
70951         * lib/unistr/u8-strpbrk.c: New file.
70952         * lib/unistr/u16-strpbrk.c: New file.
70953         * lib/unistr/u32-strpbrk.c: New file.
70954         * lib/unistr/u-strpbrk.h: New file.
70955
70956         * modules/unistr/u8-strrchr: New file.
70957         * modules/unistr/u16-strrchr: New file.
70958         * modules/unistr/u32-strrchr: New file.
70959         * lib/unistr/u8-strrchr.c: New file.
70960         * lib/unistr/u16-strrchr.c: New file.
70961         * lib/unistr/u32-strrchr.c: New file.
70962
70963         * modules/unistr/u8-strspn: New file.
70964         * modules/unistr/u16-strspn: New file.
70965         * modules/unistr/u32-strspn: New file.
70966         * lib/unistr/u8-strspn.c: New file.
70967         * lib/unistr/u16-strspn.c: New file.
70968         * lib/unistr/u32-strspn.c: New file.
70969         * lib/unistr/u-strspn.h: New file.
70970
70971         * modules/unistr/u8-strstr: New file.
70972         * modules/unistr/u16-strstr: New file.
70973         * modules/unistr/u32-strstr: New file.
70974         * lib/unistr/u8-strstr.c: New file.
70975         * lib/unistr/u16-strstr.c: New file.
70976         * lib/unistr/u32-strstr.c: New file.
70977         * lib/unistr/u-strstr.h: New file.
70978
70979         * modules/unistr/u8-strtok: New file.
70980         * modules/unistr/u16-strtok: New file.
70981         * modules/unistr/u32-strtok: New file.
70982         * lib/unistr/u8-strtok.c: New file.
70983         * lib/unistr/u16-strtok.c: New file.
70984         * lib/unistr/u32-strtok.c: New file.
70985         * lib/unistr/u-strtok.h: New file.
70986
70987         * modules/unistr/u8-uctomb: New file.
70988         * modules/unistr/u16-uctomb: New file.
70989         * modules/unistr/u32-uctomb: New file.
70990         * lib/unistr/u8-uctomb.c: New file.
70991         * lib/unistr/u16-uctomb.c: New file.
70992         * lib/unistr/u32-uctomb.c: New file.
70993
70994         * MODULES.html.sh (Unicode string functions): Add the new modules.
70995
70996 2007-01-08  Bruno Haible  <bruno@clisp.org>
70997
70998         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
70999         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
71000         subdirectories.
71001
71002 2007-01-08  Karl Berry  <karl@gnu.org>
71003
71004         * doc/error.texi: mention that main() fns must set program_name
71005         when progname is used.
71006
71007 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
71008
71009         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
71010         WCTYPE_H is empty, for the benefit of builds from non-distclean
71011         directories.  Problem reported by Eric Blake in
71012         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
71013
71014 2007-01-08  Bruno Haible  <bruno@clisp.org>
71015
71016         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
71017         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
71018         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
71019         PROVIDE_CANONICALIZE_FILENAME_MODE.
71020         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
71021
71022 2007-01-08  Bruno Haible  <bruno@clisp.org>
71023
71024         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
71025         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
71026         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
71027         * lib/fts.c: Likewise.
71028         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
71029
71030 2006-12-25  Bruno Haible  <bruno@clisp.org>
71031
71032         * modules/utf8-ucs4-safe: New file.
71033         * lib/utf8-ucs4-safe.h: New file.
71034         * lib/unistr/utf8-ucs4-safe.c: New file.
71035
71036         * modules/utf16-ucs4-safe: New file.
71037         * lib/utf16-ucs4-safe.h: New file.
71038         * lib/unistr/utf16-ucs4-safe.c: New file.
71039
71040         * MODULES.html.sh (Unicode string functions): Add the new modules.
71041
71042 2007-01-08  Bruno Haible  <bruno@clisp.org>
71043
71044         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
71045         (Depends-on): Add unitypes.
71046         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71047         (u8_mbtouc_aux): Move out to separate file.
71048         (u8_mbtouc): Use ucs4_t, uint8_t types.
71049         * lib/unistr/utf8-ucs4.c: New file.
71050
71051         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
71052         (Depends-on): Add unitypes.
71053         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71054         (u16_mbtouc_aux): Move out to separate file.
71055         (u16_mbtouc): Use ucs4_t, uint16_t types.
71056         * lib/unistr/utf16-ucs4.c: New file.
71057
71058         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
71059         (Depends-on): Add unitypes.
71060         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
71061         (u8_uctomb_aux): Move out to separate file.
71062         (u8_uctomb): Use ucs4_t, uint8_t types.
71063         * lib/unistr/ucs4-utf8.c: New file.
71064
71065         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
71066         (Depends-on): Add unitypes.
71067         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
71068         (u16_uctomb_aux): Move out to separate file.
71069         (u16_uctomb): Use ucs4_t, uint16_t types.
71070         * lib/unistr/ucs4-utf16.c: New file.
71071
71072 2006-12-25  Bruno Haible  <bruno@clisp.org>
71073
71074         * modules/unitypes: New file.
71075         * lib/unitypes.h: New file.
71076         * MODULES.html.sh (func_all_modules): New section "Unicode string
71077         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
71078         this section. Add unitypes.
71079
71080 2007-01-08  Bruno Haible  <bruno@clisp.org>
71081
71082         Avoid variable names that conflict with those from libtool.
71083         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
71084         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
71085         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
71086         library_names_spec to acl_library_names_spec, hardcode_* to
71087         acl_hardcode_*.
71088         Reported by Ralf Wildenhues.
71089
71090 2007-01-08  Bruno Haible  <bruno@clisp.org>
71091
71092         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
71093         definition.
71094         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
71095         definition.
71096         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
71097         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
71098         definition.
71099         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
71100         definition.
71101         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
71102         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
71103         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
71104         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
71105         definition.
71106         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
71107         definition.
71108         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
71109         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
71110         GC_USE_<algorithm>.
71111         * lib/gc-libgcrypt.c: Likewise.
71112         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
71113         * modules/gc-arctwo (configure.ac): Likewise.
71114         * modules/gc-des (configure.ac): Likewise.
71115         * modules/gc-hmac-md5 (configure.ac): Likewise.
71116         * modules/gc-hmac-sha1 (configure.ac): Likewise.
71117         * modules/gc-md2 (configure.ac): Likewise.
71118         * modules/gc-md4 (configure.ac): Likewise.
71119         * modules/gc-md5 (configure.ac): Likewise.
71120         * modules/gc-random (configure.ac): Likewise.
71121         * modules/gc-rijndael (configure.ac): Likewise.
71122         * modules/gc-sha1 (configure.ac): Likewise.
71123
71124 2007-01-08  Bruno Haible  <bruno@clisp.org>
71125
71126         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
71127         macro definition.
71128         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
71129         definition.
71130         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
71131         definition.
71132         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
71133         * modules/fcntl-safer (configure.ac): Likewise.
71134         * modules/fopen-safer (configure.ac): Likewise.
71135         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
71136         GNULIB_FWRITEERROR macro definition.
71137
71138 2007-01-08  Bruno Haible  <bruno@clisp.org>
71139
71140         * m4/gnulib-common.m4: New file.
71141         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
71142         (func_get_filelist): Add m4/gnulib-common.m4.
71143
71144 2007-01-08  Bruno Haible  <bruno@clisp.org>
71145
71146         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
71147         command.
71148
71149 2007-01-08  Jim Meyering  <jim@meyering.net>
71150
71151         Use a more robust test for a "can't happen" condition.
71152         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
71153         narrowed the st_size value.  Presuming the "can't happen" condition
71154         is true, that narrowing could conceivably convert an invalid st_size
71155         value into a valid one.  Instead, use a change based on Matthew
71156         Woehlke's original patch.
71157
71158         Slight readability improvement: use an assert-like macro
71159         in place of literal "abort ()" uses.
71160         * lib/fts.c (fts_assert): Define.
71161         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
71162         Use this macro instead of a bare 'abort'.
71163
71164 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
71165
71166         Don't worry about using IRIX 5.3's wctype.h broken definitions;
71167         simply work around them.
71168         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
71169         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
71170         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
71171         declaring.
71172         Don't bother to define as macros, since the standard doesn't require it.
71173         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
71174         longer worry about IRIX 5.3.
71175         (HAVE_WCTYPE_CTMP_BUG): Remove.
71176
71177 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71178
71179         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
71180         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
71181         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71182         Problems reported by Georg Schwarz for IRIX 5.3.
71183
71184         * gnulib-tool (autoconf_minversion): Take the maximum version number
71185         found, not the minimum.  Problem reported by James Youngman.
71186
71187 2007-01-03  Karl Berry  <karl@gnu.org>
71188
71189         * doc/error.texi: new file, explaining interaction with progname.
71190         * doc/gnulib.texi: include it.  Update copyright.
71191
71192 2007-01-03  Simon Josefsson  <simon@josefsson.org>
71193
71194         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
71195         AC_CANONICAL_HOST, to improve autobuild outputs.
71196
71197 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
71198             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71199
71200         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
71201         sockets, server sockets, and other file descriptors.  Count errors
71202         to compute the return value.  Reorder the code a bit to be easier
71203         to follow.  Don't set event bits that were not requested (except
71204         POLLERR and POLLHUP).
71205
71206 2007-01-01  Bruno Haible  <bruno@clisp.org>
71207
71208         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
71209
71210 2007-01-03  Jim Meyering  <jim@meyering.net>
71211
71212         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
71213
71214 2007-01-02  Bruno Haible  <bruno@clisp.org>
71215
71216         * modules/settime (Include): Require timespec.h.
71217         * modules/nanosleep (Include): Likewise.
71218
71219 2007-01-01  Bruno Haible  <bruno@clisp.org>
71220
71221         * gnulib-tool (func_emit_copyright_notice): Bump year.
71222         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
71223
71224 2007-01-01  Bruno Haible  <bruno@clisp.org>
71225
71226         Improve support for OpenBSD.
71227         * build-aux/config.rpath (libname_spec): Export.
71228         (library_names_spec): New variable. Export.
71229         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
71230         library_names_spec from the config.rpath output. Locate shared library
71231         through the name pattern in library_names_spec.
71232
71233 2007-01-01  Eric Blake  <ebb9@byu.net>
71234
71235         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
71236
71237 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
71238
71239         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
71240         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
71241         assume the C locale, and avoid an "eval" that could cause trouble.
71242         Problem with SORT reported by Bob Proulx.
71243
71244         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
71245         Define.  Trivial patch from Henning Nielsen Lund, originally
71246         sent to bug-grep@gnu.org today.
71247
71248 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
71249
71250         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
71251         struct stat.  Problem reported by Henning Nielsen Lund.
71252         * lib/acl.c: Include acl.h first, to check interface.  Don't
71253         bother to include sys/types.h and sys/stat.h again.
71254
71255 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
71256
71257         Import the following change from libc; problem reported by
71258         Sven Verdoolaege.
71259
71260         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
71261
71262         [BZ #1373]
71263         * lib/argp.h: Remove __NTH for __argp_usage inline function.
71264
71265 2006-12-28  Jim Meyering  <jim@meyering.net>
71266
71267         * build-aux/announce-gen: Do not assume that the package
71268         builds any of tar.gz, tar.bz2, and .xdelta files.
71269         Suggestion from Simon Josefsson.
71270
71271 2006-12-28  Simon Josefsson  <simon@josefsson.org>
71272
71273         * modules/announce-gen: New file.
71274
71275 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
71276
71277         * lib/mbchar.h: Just include <wctype.h>; the wctype module
71278         handles its gotchas now.
71279         * lib/mbswidth.c: Likewise.
71280         * lib/wcwidth.h: Likewise.
71281         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
71282         and iswcntrl; the wctype module does this stuff now.
71283         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71284         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71285         * modules/mbchar (Depends-on): Add wctype.
71286         * modules/mbswidth (Depends-on): Likewise.
71287         * modules/wcwidth (Depends-on): Likewise.
71288
71289 2006-12-27  Eric Blake  <ebb9@byu.net>
71290
71291         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
71292         module uses more than what <wctype.h> is required to provide.
71293
71294 2006-12-26  Eric Blake  <ebb9@byu.net>
71295
71296         * gnulib-tool (sed_extract_prog): Avoid space-tab.
71297
71298 2006-12-26  Eric Blake  <ebb9@byu.net>
71299
71300         * modules/absolute-header: New module.
71301         * modules/fcntl (Depends-on): Depend on it.
71302         * modules/inttypes (Depends-on): Likewise.
71303         * modules/stdint (Depends-on): Likewise.
71304         * modules/sys_stat (Depends-on): Likewise.
71305         * modules/wctype (Depends-on): Likewise.
71306         * MODULES.html.sh (Support for building libraries and
71307         executables): Document it.
71308
71309 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
71310
71311         * gnulib-tool (SED): Remove, undoing previous change.
71312         The problem was that it broke coreutils on Solaris, because
71313         "sed --posix" leaked into a makefile.
71314         (sed): New alias, if 'alias' and GNU sed.
71315
71316 2006-12-24  Jim Meyering  <jim@meyering.net>
71317
71318         Work around an fchownat bug in glibc-2.4:
71319         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
71320         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
71321         in spite of the -P option.
71322         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
71323         New macros.
71324         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
71325         * modules/openat (Files): Add lib/fchownat.c.
71326         * lib/openat.c (fchownat): Don't define here.  Move to...
71327         * lib/fchownat.c: ...this new file.
71328
71329 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
71330
71331         Fix bug reported by Bruno Haible in
71332         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
71333         where quotearg.c didn't compile on Mac OS X 10.2 because it
71334         lacks <wchar.h> and wint_t.
71335         * lib/wctype_.h (__wctype_wint_t): New type.
71336         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
71337         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
71338         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
71339         Arg is now of type __wctype_wint_t, not wint_t.
71340         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
71341         substitute HAVE_WINT_T.
71342         * modules/wctype (Files): Add m4/wint_t.m4.
71343         (wctype.h): Substitute HAVE_WINT_T.
71344
71345 2006-12-23  Bruno Haible  <bruno@clisp.org>
71346
71347         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
71348
71349 2006-12-23  Bruno Haible  <bruno@clisp.org>
71350
71351         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
71352         S_ISLNK.
71353         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
71354         mingw.
71355
71356 2006-12-22  Bruno Haible  <bruno@clisp.org>
71357
71358         * lib/copy-file.c: Include acl.h.
71359         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
71360         Close the file descriptors only after being done with copy_acl.
71361         * modules/copy-file (Depends-on): Add acl.
71362
71363 2006-12-22  Bruno Haible  <bruno@clisp.org>
71364
71365         * gnulib-tool (SED): New variable.
71366         Use $SED instead of sed everywhere.
71367
71368 2006-12-22  Bruno Haible  <bruno@clisp.org>
71369
71370         * modules/no-c++: New file.
71371         * m4/no-c++.m4: New file.
71372         * MODULES.html.sh (Support for building libraries and executables):
71373         Add no-c++.
71374
71375 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
71376
71377         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
71378         Include <limits.h>, and use its INT_MAX to rewrite the
71379         j loop so that it does not overflow 'int'.  Problem reported by
71380         Ralf Wildenhues in
71381         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
71382         Play it safe by shifting left by 1 rather than multiplying by 2,
71383         as GCC is less likely to optimize this away when the value
71384         is signed (when it assumes overflow leads to undefined behavior).
71385         Also, don't assume time_t uses two's complement.
71386
71387 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
71388
71389         * MODULES.html.sh: New module wctype.
71390         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
71391         * lib/fnmatch.c: Don't bother to include <wchar.h> before
71392         <wctype.h>, since the new wctype module should fix this.
71393         * lib/quotearg.c: Include <wctype.h> unconditionally, since
71394         the wctype module should arrange for it.
71395         * lib/regex_internal.h: Likewise.
71396         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
71397         since the wctype module should handle this now.
71398         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
71399         * modules/fnmatch (Depends-on): Add wctype.
71400         * modules/quotearg (Depends-on): Likewise.
71401         * modules/regex (Depends-on): Likewise.
71402
71403 2006-12-19  Bruno Haible  <bruno@clisp.org>
71404
71405         * lib/strdup.h [C++]: Wrap definitions in extern "C".
71406         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
71407
71408 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71409
71410         * modules/savewd (Depends-on): Fix dependency on fcntl.
71411
71412 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71413
71414         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
71415         conforms to C99, rather than relying on the user's environment
71416         setting of STDINT_H.
71417
71418 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
71419         and Eric Blake  <ebb9@byu.net>
71420
71421         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
71422         This is more consistent with the other defines here.
71423         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
71424         Port to z/OS.  Problem reported by Paul Gilmartin.
71425         Change local vars to use gl_ prefix rather than ac_.
71426         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
71427         with other defines.
71428         * modules/double-slash-root: New module.
71429         * modules/dirname (Files): Remove m4/double-slash-root.m4.
71430         (Depends-on): Add double-slash-root.
71431         * MODULES.html.sh (File system functions): Mention new module.
71432
71433 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
71434
71435         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
71436         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
71437         This is for the benefit of gzip, which doesn't do i18n.
71438
71439 2006-12-12  Jim Meyering  <jim@meyering.net>
71440
71441         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
71442         Reported by Andreas Schwab <schwab@suse.de>.
71443
71444 2006-12-12  Bruno Haible  <bruno@clisp.org>
71445
71446         Merge these changes.
71447         2006-09-05  Bruno Haible  <bruno@clisp.org>
71448         * lib/iconvme.c (iconv_string): No need to save and restore errno when
71449         iconv_alloc succeeded.
71450         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
71451         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
71452         test for " && dest " at the end - dest is always != NULL there. Call
71453         iconv with 4xNULL arguments initially, to reset the state. Call iconv
71454         with 2xNULL arguments, also to flush the state storage. Handle the
71455         IRIX iconv behaviour. Realloc the final result, to throw away unused
71456         memory.
71457
71458 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
71459
71460         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
71461         and fchmodat unconditionally, since glibc 2.4 has them.
71462         Problem reported by Arkadiusz Miskiewicz.
71463
71464 2006-12-10  Bruno Haible  <bruno@clisp.org>
71465
71466         * gnulib-tool (func_import): Show the include files only for those
71467         modules that are copied and specified.
71468         Reported by Karl Berry.
71469
71470 2006-12-08  Jim Meyering  <jim@meyering.net>
71471
71472         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
71473         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
71474
71475         * build-aux/announce-gen: Add two new options, both optional:
71476         --bootstrap-tools=TOOL_LIST
71477               a comma-separated list of tools, e.g.,
71478               autoconf,automake,bison,gnulib
71479         --gnulib-snapshot-date=DATE
71480               if gnulib is in the bootstrap tool list,
71481               then report this as the snapshot date.
71482               If not specified, use the current date/time.
71483               If you specify a date here, be sure it's UTC.
71484
71485 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71486
71487         * tests/test-argp-2.sh: Fix test to match actual output.
71488         (func_compare): Fix sed script to be portable.
71489
71490 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
71491
71492         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
71493         workaround for this case.  It is not autoconfigured now; offhand
71494         it's hard to see how to autoconfigure it.
71495
71496 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
71497
71498         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
71499         a directory that is about to be chowned.  Such a directory's
71500         initial file permissions should permit the owner only and this
71501         should not be changed until after the chown, since the group and
71502         other bits would be incorrect if they granted permission before
71503         the chown.
71504
71505         Fix porting problem for iswctype reported by Georg Schwarz in:
71506         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
71507         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
71508         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
71509         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
71510         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
71511
71512 2006-12-03  Jim Meyering  <jim@meyering.net>
71513
71514         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
71515         p->fts_statp may not yet be defined.
71516         (fts_read): Instead, set it in the caller, once p->fts_statp is
71517         sure to be defined, and corresponds to a top-level directory.
71518         This bug made du -x fail.  Here's the coreutils test case:
71519         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
71520         Reported by Mike Frysinger.
71521
71522 2006-12-01  Jim Meyering  <jim@meyering.net>
71523
71524         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
71525         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
71526         Reported by Simon Josefsson.
71527
71528 2006-11-30  Jim Meyering  <jim@meyering.net>
71529
71530         * m4/warning.m4: Use the all-permissive copyright notice
71531         recommended by RMS (rather than LGPL).
71532         * m4/vararrays.m4: Likewise.
71533         * m4/flexmember.m4: Likewise.
71534
71535 2006-11-29  Bruno Haible  <bruno@clisp.org>
71536
71537         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71538         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
71539         using +=.
71540         Reported by Simon Josefsson <simon@josefsson.org>.
71541
71542 2006-11-28  James Youngman <jay@gnu.org>
71543
71544         * README: Advise users that they might find the bug-gnulib@gnu.org
71545         and autotools-announce@gnu.org mailing lists useful.
71546
71547 2006-11-28  Bruno Haible  <bruno@clisp.org>
71548
71549         * m4/ptrdiff_max.m4: Remove file.
71550
71551 2006-11-21  Bruno Haible  <bruno@clisp.org>
71552
71553         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
71554         _AC_COMPUTE_INT.
71555         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71556         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
71557         _AC_COMPUTE_INT.
71558         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71559         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
71560         _AC_COMPUTE_INT.
71561         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71562
71563 2006-11-28  Jim Meyering  <jim@meyering.net>
71564
71565         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
71566         warning from "gcc -Wshadow" about shadowing the builtin.
71567
71568 2006-11-27  Bruno Haible  <bruno@clisp.org>
71569
71570         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
71571         _AC_COMPUTE_INT.
71572         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
71573
71574 2006-11-27  Bruno Haible  <bruno@clisp.org>
71575             Paul Eggert  <eggert@cs.ucla.edu>
71576
71577         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
71578
71579 2006-11-26  Bruno Haible  <bruno@clisp.org>
71580
71581         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
71582         noinst_LTLIBRARIES.
71583
71584 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
71585             Bruno Haible  <bruno@clisp.org>
71586
71587         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
71588         if compiling with "gcc -ansi".
71589
71590 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
71591
71592         Fix some incompatibilities with gcc -ansi -pedantic.
71593         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
71594         if compiling pedantically with GCC, unless it's C99 or later.
71595         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
71596         it mishandles gcc -ansi -pedantic as well.
71597         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
71598         if gcc -pedantic.
71599         * lib/regexec.c (check_node_accept_bytes): Don't use auto
71600         initializers for struct if -pedantic, unless it's C99 or later.
71601
71602 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
71603
71604         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
71605         Don't close an fd more than once. Identical atimes indicate
71606         success, not failure.
71607
71608 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
71609
71610         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
71611
71612 2006-11-23  Jim Meyering  <jim@meyering.net>
71613
71614         * build-aux/announce-gen: New file.  From coreutils.
71615
71616 2006-11-22  Jim Meyering  <jim@meyering.net>
71617
71618         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
71619         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
71620         (fts_read): Use a temporary to narrow the overused st_size member
71621         before using it in a switch statement.  Reported by Matthew Woehlke.
71622
71623         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
71624         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
71625
71626 2006-11-20  Bruno Haible  <bruno@clisp.org>
71627
71628         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
71629         changequote instead of pairs of brackets.
71630         Reported by Andreas Schwab <schwab@suse.de>.
71631
71632 2006-11-21  Jim Meyering  <jim@meyering.net>
71633
71634         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
71635         so as to remain compatible with older compilers.
71636         Patch from Michael Deutschmann.
71637
71638 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71639
71640         * MODULES.html.sh (File system functions): Add openat.
71641
71642         * lib/openat.h (rpl_fstatat): New macro, if
71643         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
71644         (fstatat): Define to rpl_fstatat under the same conditions,
71645         unless COMPILING_FSTATAT.
71646         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
71647         seems to have the bug.
71648         * lib/fstatat.c: New file.
71649         * modules/openat (Files): Add it.
71650
71651 2006-11-20  Bruno Haible  <bruno@clisp.org>
71652
71653         * Makefile: New file.
71654
71655 2006-11-20  Jim Meyering  <jim@meyering.net>
71656
71657         The beginnings of syntax-related checks for gnulib.
71658         * lib/Makefile: New file.
71659         * lib/t-idcache: New script.  Ensure that the two halves of
71660         idcache.c stay in sync.
71661
71662         * lib/idcache.c: Adjust comments in user- and group- portions to
71663         be more accurate, and to be consistent with one another.
71664
71665 2006-11-20  Jim Meyering  <jim@meyering.net>
71666
71667         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
71668         continue using the flexible array member (thus, this module performs
71669         half as many malloc calls), with the addition that...
71670         (getgroup, getuser): Consistently record a non-match via an empty
71671         "name" string, and map an empty string match to a NULL return value.
71672         * modules/idcache (Depends-on): Re-add flexmember.
71673
71674         * lib/idcache.c (getuser): Remove all uses of the register keyword.
71675         (getuidbyname, getgroup, getgidbyname): Likewise.
71676
71677         Use cleaner syntax: NULL rather than 0.
71678         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
71679
71680 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
71681
71682         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
71683         It mishandled the case where the group was missing.
71684         Problem reported by Greg Schafer.
71685         * modules/idcache: Likewise.
71686
71687 2006-11-18  Jim Meyering  <jim@meyering.net>
71688
71689         * check-module (%exempt_header): Add exception for some
71690         conditionally-included headers.
71691
71692         * modules/i-ring (Depends-on): Add verify.
71693         (License): Change to LGPL.
71694
71695 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
71696
71697         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
71698         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
71699         and inttostr.h.  Use snprintf rather than uinttostr, so that
71700         LGPLed code doesn't depend on GPLed.
71701
71702 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
71703
71704         * modules/inline (License): Change from GPL to LGPL.
71705
71706 2006-11-17  Jim Meyering  <jim@meyering.net>
71707
71708         * modules/d-type (License): Switch to LGPL.
71709
71710 2006-11-15  Bruno Haible  <bruno@clisp.org>
71711
71712         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
71713
71714 2006-11-15  Eric Blake  <ebb9@byu.net>
71715
71716         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
71717         the module dependency.
71718
71719 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71720             Bruno Haible  <bruno@clisp.org>
71721
71722         * gnulib-tool (func_create_testdir): Add license consistency check.
71723
71724 2006-11-15  Eric Blake  <ebb9@byu.net>
71725
71726         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
71727         random "(cached)" in configure output.
71728
71729 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71730
71731         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
71732         test for conforming inttypes.h is both announced and cached.
71733
71734         * MODULES.html.sh (seen_modules, seen_files): New variables.
71735         (func_module): Rewrite to use a few less gnulib-tool and sed
71736         invocations.  Avoid a couple of quadratic algorithms for ...
71737         (missed_modules, missed_files): ... these, with ...
71738         (func_append, func_tmpdir): ... these new functions, from
71739         gnulib-tool.  Analogously, install traps for cleanup.
71740
71741         * tests/test-gc.c (main): Remove unused variables.
71742         * tests/test-read-file.c: Include stdlib.h, for 'free'.
71743
71744 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
71745
71746         * modules/inttostr (License): Change to LGPL.
71747
71748 2006-11-14  Eric Blake  <ebb9@byu.net>
71749
71750         * modules/tempname (License): Change to LGPL.
71751
71752 2006-11-14  Eric Blake  <ebb9@byu.net>
71753
71754         * doc/functions.texi (Function Portability): *printf functions on
71755         Cygwin now understand all POSIX size specifiers.
71756
71757 2006-11-14  Bruno Haible  <bruno@clisp.org>
71758
71759         * modules/c-ctype (License): Change to LGPL.
71760
71761 2006-11-12  Bruno Haible  <bruno@clisp.org>
71762
71763         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
71764         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
71765         for GNOME libraries, for which the include files are installed in
71766         subdirectories of $prefix/include.
71767
71768 2006-11-12  Bruno Haible  <bruno@clisp.org>
71769
71770         * m4/lib-link.m4: Require at least autoconf-2.54.
71771         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
71772         name to underscores for the --with option.
71773
71774 2006-11-13  Bruno Haible  <bruno@clisp.org>
71775
71776         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
71777         the tests directory.
71778         Reported by Ralf Wildenhues.
71779
71780 2006-11-13  Bruno Haible  <bruno@clisp.org>
71781
71782         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
71783         (func_emit_initmacro_end): Undo the override here.
71784         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
71785         Works around the famous automake error in coreutils.
71786
71787 2006-11-13  Eric Blake  <ebb9@byu.net>
71788
71789         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
71790         element, not its node.
71791
71792 2006-11-12  Bruno Haible  <bruno@clisp.org>
71793
71794         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
71795         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
71796
71797 2006-11-12  Bruno Haible  <bruno@clisp.org>
71798
71799         * gnulib-tool: New option --local-symlink.
71800         (func_usage): Document it.
71801         (lsymbolic): New variable.
71802         (func_import, func_create_testdir): If --symlink was not specified,
71803         test whether --local-symlink was specified and the file comes from
71804         the local_gnulib_dir.
71805
71806 2006-11-12  Bruno Haible  <bruno@clisp.org>
71807
71808         * gnulib-tool (func_ln): New function.
71809         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
71810
71811 2006-11-12  Bruno Haible  <bruno@clisp.org>
71812
71813         Finish support for source files in subdirectories.
71814         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
71815         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
71816         AUTOMAKE_OPTIONS.
71817         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
71818
71819 2006-11-12  Bruno Haible  <bruno@clisp.org>
71820
71821         * gnulib-tool (func_get_automake_snippet): Synthesize also an
71822         EXTRA_lib_SOURCES augmentation.
71823         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
71824
71825 2006-11-12  Jim Meyering  <jim@meyering.net>
71826
71827         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
71828         file descriptors.  This also averts a failure on systems with
71829         native openat support when a traversed directory lacks "x" access.
71830         * lib/fts_.h: Include "i-ring.h"
71831         (struct FTS) [fts_fd_ring]: New member.
71832         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
71833         (FCHDIR): Add parentheses.
71834         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
71835         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
71836         When descending, rather than simply closing the previous
71837         fts_cwd_fd value, push that file descriptor onto the ring.
71838         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
71839         (fts_open): Initialize the new fd_ring member.
71840         (fts_close): Clear the ring.
71841         (fts_safe_changedir): When possible, use our new fd_ring to skip
71842         the diropen and fstat and dev/ino comparison that would normally
71843         accompany a virtual `chdir ("..")'.
71844
71845         * modules/fts (Depends-on): Add i-ring.
71846         * modules/i-ring: New module.
71847         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
71848         * m4/i-ring.m4: New file.
71849
71850 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71851
71852         * gnulib-tool (func_create_testdir): Fix replacement of
71853         `build-aux' in configure.ac.  Run autotools in gltests
71854         subdirectory.
71855         (func_create_testdir, func_create_megatestdir, test): There is
71856         no need for '--force' in most autotool invocations in a new
71857         tree.  Actually fail the whole test if any of the tools, or the
71858         configure or make stages fail.
71859
71860         Sync from Automake.
71861         * build-aux/gnupload: Revert last change.  Add pointer to upload
71862         instructions of the GNU Maintenance Instructions.
71863         Suggestion by Karl Berry.
71864
71865 2006-11-10  Jim Meyering  <jim@meyering.net>
71866
71867         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
71868
71869 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71870
71871         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
71872         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
71873         (bind_textdomain_codeset) [! ENABLE_NLS]:
71874         Evaluate all the arguments.  That way, callers get compatible behavior
71875         if the arguments have side effects.  Also, it avoids some GCC
71876         diagnostics in some cases; Joel E. Denny reported problems when Bison
71877         was configured with --enable-gcc-warnigs.
71878
71879 2006-11-10  Jim Meyering  <jim@meyering.net>
71880
71881         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
71882         relevant options in CFLAGS (like -O, -fno-inline) are taken into
71883         account.
71884
71885 2006-11-10  Jim Meyering  <jim@meyering.net>
71886
71887         * modules/inline: New file/module.
71888         * modules/xalloc (Files): Remove m4/inline.m4.
71889         (Depends-on): Add inline, instead.
71890         * modules/oset: Likewise.
71891         * modules/list: Likewise.
71892
71893 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
71894
71895         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
71896         Problem reported by Matthew Woehlke.
71897
71898 2006-11-09  Bruno Haible  <bruno@clisp.org>
71899
71900         * lib/tempname.c (gen_tempname): Remove variant that invokes
71901         __gen_tempname.
71902         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
71903         __gen_tempname.
71904
71905 2006-11-08  Bruno Haible  <bruno@clisp.org>
71906
71907         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
71908         to 'yes' instead of 'cross-compiling'.
71909
71910 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
71911
71912         * lib/quotearg.h (quotearg_free): New decl.
71913         * lib/quotearg.c (quotearg_free): New function.
71914         (slot0, nslots, slotvec0, slotvec):
71915         Now file-scope so that quotearg_free can get at them.
71916
71917 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71918
71919         Sync from Automake.
71920         * build-aux/gnupload: Add missing 'gnu' to example URL.
71921         Report by Karl Berry.
71922
71923 2006-11-08  Bruno Haible  <bruno@clisp.org>
71924
71925         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
71926         Suggested by Paul Eggert.
71927
71928 2006-11-08  Jim Meyering  <jim@meyering.net>
71929
71930         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
71931         It's already included if !_LIBC.
71932         (fts_safe_changedir): Add a comment.
71933
71934 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71935
71936         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
71937         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
71938         Matthew Woehlke.
71939
71940         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
71941         definitions up, to avoid colliding with change below.
71942         (static_inline) [HAVE_INLINE]: New macro.
71943         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
71944         Provide extern decls when !HAVE_INLINE.  Do not define unless
71945         static_inline is defined, either by us or by xmalloc.c.  Use
71946         static_inline rather than static inline.
71947         (XCALLOC): Optimize sizeof(T) = 1 case.
71948         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
71949
71950 2006-11-07  Bruno Haible  <bruno@clisp.org>
71951
71952         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
71953         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
71954         AC_C_INLINE.
71955         * modules/xalloc (Files): Add m4/inline.m4.
71956
71957 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71958
71959         * README: Fix typo.
71960         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
71961         (Miscellanous Notes): ...from this.
71962
71963 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
71964
71965         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
71966         Mention that offsetof should be used instead of sizeof.
71967         From Bruno Haible.
71968
71969 2006-11-07  Bruno Haible  <bruno@clisp.org>
71970
71971         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
71972
71973 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
71974
71975         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
71976         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
71977         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71978         (gl_tree_add_before, gl_tree_add_after):
71979         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
71980         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
71981         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71982         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
71983         (gl_linked_add_after, gl_linked_add_at): Likewise.
71984         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
71985         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
71986         (gl_tree_add_before, gl_tree_add_after): Likewise.
71987         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
71988         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
71989         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
71990
71991 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71992
71993         * lib/gl_oset.h: Use C comment style, not C++ comment style.
71994
71995 2006-11-06  Bruno Haible  <bruno@clisp.org>
71996
71997         * m4/inline.m4: New file.
71998         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
71999         * modules/list (Files): Add m4/inline.m4.
72000         * modules/oset (Files): Likewise.
72001
72002 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72003
72004         * lib/idcache.c: Include <stddef.h>, for offsetof.
72005         (struct userid.name): Change from char * to a flexible array member.
72006         All uses changed.
72007         * modules/idcache (Depends-on): Add flexmember.
72008
72009         * MODULES.html.sh (Core language properties): New module flexmember.
72010         * modules/flexmember, m4/flexmember.m4: New files.
72011
72012         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
72013         inline functions that are identical with the old xnmalloc_inline,
72014         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
72015         that we can avoid some unnecessary integer multiplications and
72016         divisions in the common case where the element size is known at
72017         compile time.
72018         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
72019         needed.
72020         (xnboundedmalloc): Remove.
72021         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
72022         arguments, for consistency with rest of this header.
72023         (xcharalloc): Rewrite using XNMALLOC.
72024         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
72025         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
72026         versions have been moved to lib/xalloc.h and renamed to be the
72027         non-*_inline versions.
72028         (xmalloc, xrealloc): Implement without reference to the xnmalloc
72029         and xnrealloc functions, since those functions are now inline and
72030         now call us.
72031         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
72032         renaming described above.
72033         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
72034         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
72035         captures the dependency in AC_C_INLINE.
72036
72037         New module canonicalize-lgpl, proposed by Charles Wilson in
72038         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
72039         with a few small changes afterwards.
72040         * MODULES.html.sh (File system functions): New module
72041         canonicalize-lgpl.
72042         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
72043         and canonicalize_file_name.
72044         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
72045         * modules/canonicalize-lgpl: New files.
72046
72047 2006-11-05  Bruno Haible  <bruno@clisp.org>
72048
72049         * gnulib-tool (func_import, func_create_testdir): Create directories
72050         also for files in subdirectories of lib/.
72051
72052 2006-11-05  Bruno Haible  <bruno@clisp.org>
72053
72054         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
72055         ANSI C compliant.
72056
72057 2006-11-03  Bruno Haible  <bruno@clisp.org>
72058
72059         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72060         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
72061         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
72062         (xnboundedmalloc): New inline function.
72063         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
72064         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
72065         xmalloc.
72066         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
72067         xmalloc.
72068         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
72069         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
72070         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
72071         xmalloc.
72072         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72073         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
72074         xmalloc.
72075         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
72076         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72077         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
72078         xmalloc.
72079         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72080         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
72081         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72082         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
72083         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
72084         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
72085         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
72086
72087 2006-11-03  Bruno Haible  <bruno@clisp.org>
72088
72089         * lib/c-ctype.h [C++]: Define functions without name mangling.
72090         * lib/fwriteerror.h [C++]: Likewise.
72091         * lib/gcd.h [C++]: Likewise.
72092         * lib/linebreak.h [C++]: Likewise.
72093
72094 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72095
72096         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
72097         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
72098         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
72099         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72100         Check for functions and headers just once.
72101         Check for declaration of canonicalize_file_name.
72102         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
72103
72104 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72105
72106         * gnulib-tool (func_import): Fix typo in actioncmd.
72107
72108 2006-11-02  Bruno Haible  <bruno@clisp.org>
72109
72110         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
72111         newline sequence in the Makefile.am snippet as a space, like "make"
72112         does.
72113         Reported by Roger Persson <perrog@gmail.com>.
72114
72115 2006-11-01  Bruno Haible  <bruno@clisp.org>
72116
72117         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
72118         already declared in <string.h>.
72119         * lib/strcase.h (strncasecmp): Don't declare it if yes.
72120
72121 2006-11-01  Bruno Haible  <bruno@clisp.org>
72122
72123         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
72124         * lib/strcase.h: Include <string.h>.
72125         (strcasecmp): Define to rpl_strcasecmp here.
72126
72127 2006-11-01  Bruno Haible  <bruno@clisp.org>
72128
72129         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
72130
72131 2006-11-01  Eric Blake  <ebb9@byu.net>
72132
72133         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
72134
72135         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
72136
72137 2006-10-29  Bruno Haible  <bruno@clisp.org>
72138
72139         Make it compile in C++ mode.
72140         * lib/full-write.c (full_rw): Add a cast.
72141
72142 2006-11-01  Bruno Haible  <bruno@clisp.org>
72143
72144         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
72145         be POSIX compliant.
72146         Reported by Roger Persson <perrog@gmail.com>.
72147
72148 2006-11-01  Eric Blake  <ebb9@byu.net>
72149
72150         * lib/getopt_.h: Fix comments.
72151
72152 2006-10-31  Eric Blake  <ebb9@byu.net>
72153
72154         * modules/tmpdir (Depends-on): Add sys_stat.
72155         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
72156         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
72157         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
72158         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
72159         tempname.
72160
72161 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
72162
72163         Avoid some C++ diagnostics reported by Bruno Haible.
72164         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
72165         xmalloc.
72166         (quotearg_alloc): Use xcharalloc rather than xmalloc.
72167         (struct slotvec): Move to top level.
72168         (quotearg_n_options): Rewrite to avoid xmalloc.
72169         * lib/xalloc.h (xcharalloc): New function.
72170         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
72171         [defined __cplusplus]: Add function template that provides result
72172         type propagation.  This part of the change is from Bruno Haible.
72173
72174 2006-10-29  Bruno Haible  <bruno@clisp.org>
72175
72176         Make it compile in C++ mode.
72177         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
72178         * lib/strnlen1.c (strnlen1): Cast memchr result.
72179         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
72180         * lib/clean-temp.c (string_equals, string_hash): Add casts.
72181         (create_temp_dir): Rename local variable 'template'.
72182         (compile_csharp_using_sscli): Add cast.
72183         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
72184         * lib/findprog.c (find_in_path): Likewise.
72185         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
72186         * lib/wait-process.c (register_slave_subprocess): Likewise.
72187
72188 2006-10-22  Bruno Haible  <bruno@clisp.org>
72189
72190         * modules/tsearch: New file.
72191         * lib/tsearch.h: New file.
72192         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
72193         * m4/tsearch.m4: New file.
72194         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
72195
72196 2006-10-29  Eric Blake  <ebb9@byu.net>
72197
72198         * lib/arcfour.c: Assume config.h.
72199         * lib/arctwo.c: Likewise.
72200         * lib/base64.c: Likewise.
72201         * lib/check-version.c: Likewise.
72202         * lib/crc.c: Likewise.
72203         * lib/des.c: Likewise.
72204         * lib/gc-gnulib.c: Likewise.
72205         * lib/gc-libgcrypt.c: Likewise.
72206         * lib/gc-pbkdf2-sha1.c: Likewise.
72207         * lib/getaddrinfo.c: Likewise.
72208         * lib/getdelim.c: Likewise.
72209         * lib/getline.c: Likewise.
72210         * lib/hmac-md5.c: Likewise.
72211         * lib/hmac-sha1.c: Likewise.
72212         * lib/iconvme.c: Likewise.
72213         * lib/md2.c: Likewise.
72214         * lib/md4.c: Likewise.
72215         * lib/memxor.c: Likewise.
72216         * lib/read-file.c: Likewise.
72217         * lib/readline.c: Likewise.
72218         * lib/rijndael-alg-fst.c: Likewise.
72219         * lib/rijndael-api-fst.c: Likewise.
72220         * lib/xgetdomainname.c: Likewise.
72221
72222 2006-10-28  Eric Blake  <ebb9@byu.net>
72223
72224         * lib/xstrndup.c: Assume config.h.
72225
72226 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
72227
72228         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
72229         stat-macros.h is now for our own macros, whereas stat_h is for
72230         macros in the <sys/stat.h> name space.
72231         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
72232         (STAT_MACROS_H): Remove.
72233         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
72234         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
72235         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
72236         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
72237         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
72238         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
72239         Move these macros to ...
72240         * lib/stat_.h: here.  Don't include stat-macros.h.
72241         * lib/canonicalize.c: Don't include stat-macros.h.
72242         * lib/chown.c: Likewise.
72243         * lib/euidaccess.c: Likewise.
72244         * lib/file-type.c: Likewise.
72245         * lib/filemode.c: Likewise.
72246         * lib/glob.c: Likewise.
72247         * lib/isapipe.c: Likewise.
72248         * lib/lchown.c: Likewise.
72249         * lib/lstat.c: Likewise.
72250         * lib/mkdir-p.c: Likewise.
72251         * lib/rmdir.c: Likewise.
72252         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
72253         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
72254         unless mkdir isn't declared, to speed up 'configure'.
72255         Always create sys/stat.h, since it's unlikely any real sys/stat.h
72256         would define all the S_* symbols.
72257         * modules/canonicalize (Depends-on):
72258         Depend on sys_stat, not stat-macros.
72259         * modules/chown: Likewise.
72260         * modules/euidaccess: Likewise.
72261         * modules/filemode: Likewise.
72262         * modules/file-type: Likewise.
72263         * modules/glob: Likewise.
72264         * modules/isapipe: Likewise.
72265         * modules/lchown: Likewise.
72266         * modules/lstat: Likewise.
72267         * modules/mkancesdirs: Likewise.
72268         * modules/rmdir: Likewise.
72269         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
72270         * modules/modechange: Likewise.
72271         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
72272         (configure.ac): Remove gl_STAT_MACROS.
72273         * modules/sys_stat (Depends-on): Remove stat-macros.
72274
72275 2006-10-27  Bruno Haible  <bruno@clisp.org>
72276
72277         * m4/signed.m4: Remove file.
72278         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
72279         invocation.
72280         * modules/vasnprintf (Files): Remove m4/signed.m4.
72281
72282 2006-10-27  Bruno Haible  <bruno@clisp.org>
72283
72284         Update to GNU gettext 0.16.
72285         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
72286         m4/inttypes-h.m4, m4/signed.m4.
72287         * m4/gettext.m4: Update to GNU gettext 0.16.
72288         * m4/intl.m4: New file, from GNU gettext.
72289         * m4/intldir.m4: New file, from GNU gettext.
72290         * config/srclist.txt: Update
72291
72292 2006-10-27  Eric Blake  <ebb9@byu.net>
72293
72294         * MODULES.html.sh: Document tempname.
72295         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
72296         dependencies.
72297         (Files): Move lib/tempname.c...
72298         * modules/tempname: ...to this new module.
72299         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
72300         (gl_PREREQ_TEMPNAME): Move...
72301         * m4/tempname.m4: ...to this new file.
72302         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
72303         * modules/sys_stat (Depends-on): Add stat-macros.
72304         * lib/stat_.h (includes): Pick up stat macros.
72305         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
72306         if stat macros are broken.
72307         * lib/tempname.c (includes): No need to include "stat-macros.h".
72308         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
72309         (direxists, __path_search) [!_LIBC]: Don't compile these in
72310         gnulib; the tmpdir module covers that.
72311         * lib/tempname.h: New file.
72312
72313 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
72314
72315         * COPYING: Explain how gnulib-tool converts licence headers.
72316         Almost all wording by Eric Blake.
72317
72318 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
72319
72320         * lib/mbchar.h (is_basic_table): Make read-only.
72321         * lib/mbchar.c (is_basic_table): Likewise.
72322         Reported by John Darrington.
72323
72324 2006-10-25  Bruno Haible  <bruno@clisp.org>
72325
72326         * lib/progname.h (set_program_name): Undefine before defining.
72327
72328 2006-10-25  Bruno Haible  <bruno@clisp.org>
72329
72330         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
72331         false for non-gcc C++ compilers.
72332         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
72333
72334 2006-10-24  Bruno Haible  <bruno@clisp.org>
72335
72336         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
72337         iconv implementations like Irix iconv.
72338
72339 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72340
72341         * modules/vararrays: New file.
72342         * m4/vararrays.m4: New file, taken from diffutils.
72343         * MODULES.html.sh: New module vararrays.
72344
72345 2006-10-24  Karl Berry  <karl@gnu.org>
72346
72347         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
72348         Don't call GNU Unix.
72349
72350 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72351
72352         * users.txt: Add Libtool.
72353
72354         Sync from Libtool:
72355
72356         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72357
72358         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
72359         to gnulib's policy of including config.h unconditionally.
72360
72361 2006-10-24  Bruno Haible  <bruno@clisp.org>
72362
72363         * modules/wcwidth (Files): Add m4/wint_t.m4.
72364         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
72365         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
72366
72367 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72368
72369         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
72370         to pacify GCC with some -W flags enabled.  Problem reported by
72371         Bruno Haible.
72372
72373 2006-10-24  Jim Meyering  <jim@meyering.net>
72374
72375         * MODULES.html.sh: Remove uinttostr.  It's not a module.
72376         Reported by Karl Berry.
72377
72378 2006-10-23  Bruno Haible  <bruno@clisp.org>
72379
72380         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
72381
72382 2006-10-24  Bruno Haible  <bruno@clisp.org>
72383
72384         * lib/gl_list.h: Use C comment style, not C++ comment style.
72385
72386 2006-10-23  Eric Blake  <ebb9@byu.net>
72387
72388         * lib/getaddrinfo.c (includes): Add missing include.
72389
72390 2006-10-23  Bruno Haible  <bruno@clisp.org>
72391             Paul Eggert  <eggert@cs.ucla.edu>
72392
72393         Ability to rename obstack_free.
72394         * lib/obstack.h (__obstack_free): New macro. Declare instead of
72395         obstack_free.
72396         (obstack_free): Invoke the __obstack_free macro.
72397         * lib/obstack.c (obstack_free): Use __obstack_free macro.
72398
72399 2006-10-23  Bruno Haible  <bruno@clisp.org>
72400             Paul Eggert  <eggert@cs.ucla.edu>
72401
72402         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
72403         __argc, __argv from the declaration. (They are defined as macros on
72404         mingw.)
72405
72406 2006-10-22  Bruno Haible  <bruno@clisp.org>
72407
72408         * doc/gnulib-intro.texi: New file.
72409         * doc/gnulib.texi: Include it.
72410
72411 2006-10-21  Bruno Haible  <bruno@clisp.org>
72412
72413         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
72414         "Introduction", "Miscellanous Notes", "Particular Modules".
72415
72416 2006-10-21  Bruno Haible  <bruno@clisp.org>
72417
72418         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
72419         Change mostlyclean-local rule to avoid sh syntax error from bash
72420         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
72421
72422 2006-10-23  Jim Meyering  <jim@meyering.net>
72423
72424         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
72425         in place of snprintf.
72426
72427         * modules/inttostr (Files): Add lib/uinttostr.c.
72428         * lib/uinttostr.c (inttostr): New file/function.
72429         * lib/inttostr.h (uinttostr): Declare.
72430         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
72431         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
72432         Add uinttostr.
72433         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
72434
72435 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72436
72437         * lib/canonicalize.c (ELOOP): Define if not already defined.
72438         Problem reported by Bruno Haible in
72439         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
72440
72441 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
72442
72443         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
72444         Problem reported by Perry Smith and Ville Laurikari.
72445
72446         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
72447         uses.
72448
72449 2006-10-19  Bruno Haible  <bruno@clisp.org>
72450
72451         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
72452         for mingw.
72453
72454 2006-10-19  Bruno Haible  <bruno@clisp.org>
72455
72456         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
72457         Needed for mingw.
72458
72459 2006-10-19  Bruno Haible  <bruno@clisp.org>
72460
72461         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
72462
72463 2006-10-19  Bruno Haible  <bruno@clisp.org>
72464
72465         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
72466         it.
72467
72468 2006-10-19  Bruno Haible  <bruno@clisp.org>
72469
72470         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
72471         invocation.
72472
72473 2006-10-19  Bruno Haible  <bruno@clisp.org>
72474
72475         * gnulib-tool (func_create_testdir): Don't include ftruncate and
72476         mountlist by default.
72477
72478 2006-10-16  Bruno Haible  <bruno@clisp.org>
72479
72480         * lib/c-strstr.c: Include c-strstr.h.
72481
72482 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72483
72484         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
72485         in a slash.
72486
72487 2006-10-18  Bruno Haible  <bruno@clisp.org>
72488
72489         * lib/lock.h [C++]: Wrap definitions in extern "C".
72490
72491 2006-10-18  Bruno Haible  <bruno@clisp.org>
72492
72493         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
72494         gl_LIBOBJS list.
72495
72496 2006-10-18  Bruno Haible  <bruno@clisp.org>
72497
72498         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
72499
72500 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
72501
72502         * lib/xstrtol.h: Include gettext.h.
72503         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
72504         Problem reported by Eric Blake.
72505         * modules/xstrtol (Depends-on): Add gettext-h.
72506
72507 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
72508
72509         * lib/strftime.c (advance): New macro.
72510         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
72511         incomplete type, so you can't add 0 to it.  Problem and patch
72512         reported by Eelco Dolstra for dietlibc.
72513
72514 2006-10-18  Jim Meyering  <jim@meyering.net>
72515
72516         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
72517         type for a local, and rename it: s/up/user_proc/.
72518
72519 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
72520
72521         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
72522         READ_UTMP_USER_PROCESS.
72523         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
72524
72525 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
72526
72527         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
72528         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
72529
72530 2006-10-17  Eric Blake  <ebb9@byu.net>
72531
72532         * lib/sigprocmask.c (sigprocmask): Fix typo.
72533
72534         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
72535
72536         * modules/clean-temp (Makefile.am): Don't add to make output...
72537         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
72538         config.h.
72539
72540 2006-10-17  Bruno Haible  <bruno@clisp.org>
72541
72542         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
72543         differently if DEFAULT_TEXT_DOMAIN is set.
72544
72545 2006-10-16  Bruno Haible  <bruno@clisp.org>
72546
72547         * lib/clean-temp.c: Include fwriteerror.h.
72548
72549 2006-10-16  Bruno Haible  <bruno@clisp.org>
72550
72551         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
72552
72553 2006-10-16  Bruno Haible  <bruno@clisp.org>
72554
72555         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
72556         * lib/sigprocmask.h: Include <sys/types.h>.
72557         (sigset_t): Use the system's definition if present.
72558
72559 2006-10-17  Eric Blake  <ebb9@byu.net>
72560
72561         * lib/xvasprintf.c (includes): Assume config.h.
72562         * lib/xasprintf.c (includes): Likewise.
72563
72564 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
72565
72566         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
72567         at least as wide as intmax_t.
72568
72569 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
72570
72571         (Imported from Automake.)
72572         * build-aux/gnupload: Update to version 1.1 of directive file.
72573
72574 2006-10-16  Eric Blake  <ebb9@byu.net>
72575
72576         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
72577         match Automake 1.10a.
72578
72579 2006-10-14  Bruno Haible  <bruno@clisp.org>
72580
72581         * modules/sigprocmask: New file.
72582         * lib/sigprocmask.h: New file.
72583         * lib/sigprocmask.c: New file.
72584         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
72585         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
72586         request sigprocmask.o.
72587         (gl_PREREQ_SIGPROCMASK): New macro.
72588         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
72589         (Depends-on): Add sigprocmask.
72590         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
72591         gt_SIGNALBLOCKING. Test for 'raise' only once.
72592         * lib/fatal-signal.c: Include sigprocmask.h.
72593         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
72594         unblock_fatal_signals): Define always.
72595         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72596         sigprocmask.
72597
72598 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
72599
72600         Sync from Automake.
72601         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
72602         which incorrectly sets the mode of an existing destination
72603         directory.  In some cases the unpatched install-sh could do the
72604         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
72605         system.  We hope this is rare in practice, but it's clearly worth
72606         fixing.  Problem reported by Alex Unleashed in
72607         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
72608         Also, don't bother to check for -m bugs unless we're using -m;
72609         suggested by Stepan Kasal.
72610
72611 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72612
72613         Sync from Automake.
72614         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
72615         `-c' flag, so they appear at the same position as in %FASTDEP%
72616         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
72617         which ignores unknown options only after the first non-option.
72618         Bug report against M4 by Nelson H. F. Beebe.
72619
72620 2006-10-13  Jim Meyering  <jim@meyering.net>
72621
72622         Fix a bug in yesterday's change.
72623         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
72624         p->fts_statp->st_dev would be used uninitialized.
72625         Ensures that we always call fts_stat on the very first entry.
72626         Miklos Szeredi reported that find -xdev stopped working.
72627
72628 2006-10-12  Bruno Haible  <bruno@clisp.org>
72629
72630         * gnulib-tool (func_get_automake_snippet): Append an automatically
72631         computed EXTRA_DIST augmentation.
72632         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
72633         * modules/alloca-opt (Makefile.am): Likewise.
72634         * modules/allocsa (Makefile.am): Likewise.
72635         * modules/arcfour (Makefile.am): Likewise.
72636         * modules/arctwo (Makefile.am): Likewise.
72637         * modules/argmatch (Makefile.am): Likewise.
72638         * modules/argz (Makefile.am): Likewise.
72639         * modules/atexit (Makefile.am): Likewise.
72640         * modules/backupfile (Makefile.am): Likewise.
72641         * modules/byteswap (Makefile.am): Likewise.
72642         * modules/c-strtod (Makefile.am): Likewise.
72643         * modules/c-strtold (Makefile.am): Likewise.
72644         * modules/calloc (Makefile.am): Likewise.
72645         * modules/canon-host (Makefile.am): Likewise.
72646         * modules/canonicalize (Makefile.am): Likewise.
72647         * modules/chdir-long (Makefile.am): Likewise.
72648         * modules/chdir-safer (Makefile.am): Likewise.
72649         * modules/check-version (Makefile.am): Likewise.
72650         * modules/chown (Makefile.am): Likewise.
72651         * modules/cloexec (Makefile.am): Likewise.
72652         * modules/close-stream (Makefile.am): Likewise.
72653         * modules/closeout (Makefile.am): Likewise.
72654         * modules/crc (Makefile.am): Likewise.
72655         * modules/csharpexec (Makefile.am): Likewise.
72656         * modules/cycle-check (Makefile.am): Likewise.
72657         * modules/des (Makefile.am): Likewise.
72658         * modules/dev-ino (Makefile.am): Likewise.
72659         * modules/dirfd (Makefile.am): Likewise.
72660         * modules/dirname (Makefile.am): Likewise.
72661         * modules/dup2 (Makefile.am): Likewise.
72662         * modules/eealloc (Makefile.am): Likewise.
72663         * modules/error (Makefile.am): Likewise.
72664         * modules/euidaccess (Makefile.am): Likewise.
72665         * modules/exclude (Makefile.am): Likewise.
72666         * modules/exitfail (Makefile.am): Likewise.
72667         * modules/fcntl-safer (Makefile.am): Likewise.
72668         * modules/fcntl (Makefile.am): Likewise.
72669         * modules/file-type (Makefile.am): Likewise.
72670         * modules/fileblocks (Makefile.am): Likewise.
72671         * modules/filemode (Makefile.am): Likewise.
72672         * modules/filenamecat (Makefile.am): Likewise.
72673         * modules/fnmatch (Makefile.am): Likewise.
72674         * modules/fopen-safer (Makefile.am): Likewise.
72675         * modules/fpending (Makefile.am): Likewise.
72676         * modules/fprintftime (Makefile.am): Likewise.
72677         * modules/free (Makefile.am): Likewise.
72678         * modules/fsusage (Makefile.am): Likewise.
72679         * modules/ftruncate (Makefile.am): Likewise.
72680         * modules/fts (Makefile.am): Likewise.
72681         * modules/gc-arcfour (Makefile.am): Likewise.
72682         * modules/gc-des (Makefile.am): Likewise.
72683         * modules/gc-hmac-md5 (Makefile.am): Likewise.
72684         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
72685         * modules/gc-md4 (Makefile.am): Likewise.
72686         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72687         * modules/gc-sha1 (Makefile.am): Likewise.
72688         * modules/gc (Makefile.am): Likewise.
72689         * modules/getaddrinfo (Makefile.am): Likewise.
72690         * modules/getcwd (Makefile.am): Likewise.
72691         * modules/getdelim (Makefile.am): Likewise.
72692         * modules/getdomainname (Makefile.am): Likewise.
72693         * modules/getgroups (Makefile.am): Likewise.
72694         * modules/gethostname (Makefile.am): Likewise.
72695         * modules/gethrxtime (Makefile.am): Likewise.
72696         * modules/getline (Makefile.am): Likewise.
72697         * modules/getloadavg (Makefile.am): Likewise.
72698         * modules/getlogin_r (Makefile.am): Likewise.
72699         * modules/getndelim2 (Makefile.am): Likewise.
72700         * modules/getopt (Makefile.am): Likewise.
72701         * modules/getpagesize (Makefile.am): Likewise.
72702         * modules/getpass-gnu (Makefile.am): Likewise.
72703         * modules/getpass (Makefile.am): Likewise.
72704         * modules/getsubopt (Makefile.am): Likewise.
72705         * modules/gettime (Makefile.am): Likewise.
72706         * modules/gettimeofday (Makefile.am): Likewise.
72707         * modules/getugroups (Makefile.am): Likewise.
72708         * modules/getusershell (Makefile.am): Likewise.
72709         * modules/glob (Makefile.am): Likewise.
72710         * modules/group-member (Makefile.am): Likewise.
72711         * modules/hard-locale (Makefile.am): Likewise.
72712         * modules/hash (Makefile.am): Likewise.
72713         * modules/hmac-md5 (Makefile.am): Likewise.
72714         * modules/hmac-sha1 (Makefile.am): Likewise.
72715         * modules/human (Makefile.am): Likewise.
72716         * modules/idcache (Makefile.am): Likewise.
72717         * modules/imaxabs (Makefile.am): Likewise.
72718         * modules/imaxdiv (Makefile.am): Likewise.
72719         * modules/inet_ntop (Makefile.am): Likewise.
72720         * modules/inet_pton (Makefile.am): Likewise.
72721         * modules/intprops (Makefile.am): Likewise.
72722         * modules/inttostr (Makefile.am): Likewise.
72723         * modules/inttypes (Makefile.am): Likewise.
72724         * modules/isapipe (Makefile.am): Likewise.
72725         * modules/javaversion (Makefile.am): Likewise.
72726         * modules/lchmod (Makefile.am): Likewise.
72727         * modules/lchown (Makefile.am): Likewise.
72728         * modules/localcharset (Makefile.am): Likewise.
72729         * modules/long-options (Makefile.am): Likewise.
72730         * modules/lstat (Makefile.am): Likewise.
72731         * modules/malloc (Makefile.am): Likewise.
72732         * modules/mathl (Makefile.am): Likewise.
72733         * modules/mbchar (Makefile.am): Likewise.
72734         * modules/md2 (Makefile.am): Likewise.
72735         * modules/md4 (Makefile.am): Likewise.
72736         * modules/md5 (Makefile.am): Likewise.
72737         * modules/memcasecmp (Makefile.am): Likewise.
72738         * modules/memchr (Makefile.am): Likewise.
72739         * modules/memcmp (Makefile.am): Likewise.
72740         * modules/memcoll (Makefile.am): Likewise.
72741         * modules/memcpy (Makefile.am): Likewise.
72742         * modules/memmem (Makefile.am): Likewise.
72743         * modules/memmove (Makefile.am): Likewise.
72744         * modules/mempcpy (Makefile.am): Likewise.
72745         * modules/memrchr (Makefile.am): Likewise.
72746         * modules/memset (Makefile.am): Likewise.
72747         * modules/memxor (Makefile.am): Likewise.
72748         * modules/mkancesdirs (Makefile.am): Likewise.
72749         * modules/mkdir-p (Makefile.am): Likewise.
72750         * modules/mkdir (Makefile.am): Likewise.
72751         * modules/mkdtemp (Makefile.am): Likewise.
72752         * modules/mkstemp (Makefile.am): Likewise.
72753         * modules/mktime (Makefile.am): Likewise.
72754         * modules/modechange (Makefile.am): Likewise.
72755         * modules/mountlist (Makefile.am): Likewise.
72756         * modules/nanosleep (Makefile.am): Likewise.
72757         * modules/obstack (Makefile.am): Likewise.
72758         * modules/openat (Makefile.am): Likewise.
72759         * modules/pagealign_alloc (Makefile.am): Likewise.
72760         * modules/pathmax (Makefile.am): Likewise.
72761         * modules/physmem (Makefile.am): Likewise.
72762         * modules/poll (Makefile.am): Likewise.
72763         * modules/posixtm (Makefile.am): Likewise.
72764         * modules/posixver (Makefile.am): Likewise.
72765         * modules/putenv (Makefile.am): Likewise.
72766         * modules/quote (Makefile.am): Likewise.
72767         * modules/quotearg (Makefile.am): Likewise.
72768         * modules/raise (Makefile.am): Likewise.
72769         * modules/read-file (Makefile.am): Likewise.
72770         * modules/readline (Makefile.am): Likewise.
72771         * modules/readlink (Makefile.am): Likewise.
72772         * modules/readtokens (Makefile.am): Likewise.
72773         * modules/readutmp (Makefile.am): Likewise.
72774         * modules/realloc (Makefile.am): Likewise.
72775         * modules/regex (Makefile.am): Likewise.
72776         * modules/rename-dest-slash (Makefile.am): Likewise.
72777         * modules/rename (Makefile.am): Likewise.
72778         * modules/rijndael (Makefile.am): Likewise.
72779         * modules/rmdir (Makefile.am): Likewise.
72780         * modules/rpmatch (Makefile.am): Likewise.
72781         * modules/safe-read (Makefile.am): Likewise.
72782         * modules/safe-write (Makefile.am): Likewise.
72783         * modules/same-inode (Makefile.am): Likewise.
72784         * modules/same (Makefile.am): Likewise.
72785         * modules/save-cwd (Makefile.am): Likewise.
72786         * modules/savedir (Makefile.am): Likewise.
72787         * modules/setenv (Makefile.am): Likewise.
72788         * modules/settime (Makefile.am): Likewise.
72789         * modules/sha1 (Makefile.am): Likewise.
72790         * modules/sig2str (Makefile.am): Likewise.
72791         * modules/snprintf (Makefile.am): Likewise.
72792         * modules/stat-macros (Makefile.am): Likewise.
72793         * modules/stat-time (Makefile.am): Likewise.
72794         * modules/stdbool (Makefile.am): Likewise.
72795         * modules/stdint (Makefile.am): Likewise.
72796         * modules/stdlib-safer (Makefile.am): Likewise.
72797         * modules/stpcpy (Makefile.am): Likewise.
72798         * modules/stpncpy (Makefile.am): Likewise.
72799         * modules/strcase (Makefile.am): Likewise.
72800         * modules/strcasestr (Makefile.am): Likewise.
72801         * modules/strchrnul (Makefile.am): Likewise.
72802         * modules/strcspn (Makefile.am): Likewise.
72803         * modules/strdup (Makefile.am): Likewise.
72804         * modules/strerror (Makefile.am): Likewise.
72805         * modules/strftime (Makefile.am): Likewise.
72806         * modules/strndup (Makefile.am): Likewise.
72807         * modules/strnlen (Makefile.am): Likewise.
72808         * modules/strpbrk (Makefile.am): Likewise.
72809         * modules/strsep (Makefile.am): Likewise.
72810         * modules/strstr (Makefile.am): Likewise.
72811         * modules/strtod (Makefile.am): Likewise.
72812         * modules/strtoimax (Makefile.am): Likewise.
72813         * modules/strtok_r (Makefile.am): Likewise.
72814         * modules/strtol (Makefile.am): Likewise.
72815         * modules/strtoll (Makefile.am): Likewise.
72816         * modules/strtoul (Makefile.am): Likewise.
72817         * modules/strtoull (Makefile.am): Likewise.
72818         * modules/strtoumax (Makefile.am): Likewise.
72819         * modules/strverscmp (Makefile.am): Likewise.
72820         * modules/sys_socket (Makefile.am): Likewise.
72821         * modules/sys_stat (Makefile.am): Likewise.
72822         * modules/sysexits (Makefile.am): Likewise.
72823         * modules/time_r (Makefile.am): Likewise.
72824         * modules/timegm (Makefile.am): Likewise.
72825         * modules/timespec (Makefile.am): Likewise.
72826         * modules/tmpfile-safer (Makefile.am): Likewise.
72827         * modules/trim (Makefile.am): Likewise.
72828         * modules/unistd-safer (Makefile.am): Likewise.
72829         * modules/unlinkdir (Makefile.am): Likewise.
72830         * modules/unlocked-io (Makefile.am): Likewise.
72831         * modules/userspec (Makefile.am): Likewise.
72832         * modules/utime (Makefile.am): Likewise.
72833         * modules/utimecmp (Makefile.am): Likewise.
72834         * modules/utimens (Makefile.am): Likewise.
72835         * modules/vasnprintf (Makefile.am): Likewise.
72836         * modules/vasprintf (Makefile.am): Likewise.
72837         * modules/vsnprintf (Makefile.am): Likewise.
72838         * modules/xalloc (Makefile.am): Likewise.
72839         * modules/xgetcwd (Makefile.am): Likewise.
72840         * modules/xnanosleep (Makefile.am): Likewise.
72841         * modules/xreadlink (Makefile.am): Likewise.
72842         * modules/xstrtod (Makefile.am): Likewise.
72843         * modules/xstrtol (Makefile.am): Likewise.
72844         * modules/xstrtold (Makefile.am): Likewise.
72845         * modules/yesno (Makefile.am): Likewise.
72846         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
72847
72848 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
72849
72850         * modules/error (Makefile.am): Distribute files through
72851         EXTRA_DIST, not lib_SOURCES.
72852
72853 2006-10-12  Eric Blake  <ebb9@byu.net>
72854
72855         * modules/error (Makefile.am): Distribute files in /lib.
72856         * modules/obstack (Makefile.am): Likewise.
72857
72858 2006-10-12  Bruno Haible  <bruno@clisp.org>
72859
72860         * modules/acl (Makefile.am): Distribute all files in lib/ through
72861         EXTRA_DIST.
72862         * modules/arcfour (Makefile.am): Likewise.
72863         * modules/arctwo (Makefile.am): Likewise.
72864         * modules/argmatch (Makefile.am): Likewise.
72865         * modules/argz (Makefile.am): Likewise.
72866         * modules/atexit (Makefile.am): Likewise.
72867         * modules/backupfile (Makefile.am): Likewise.
72868         * modules/c-strtod (Makefile.am): Likewise.
72869         * modules/c-strtold (Makefile.am): Likewise.
72870         * modules/calloc (Makefile.am): Likewise.
72871         * modules/canon-host (Makefile.am): Likewise.
72872         * modules/canonicalize (Makefile.am): Likewise.
72873         * modules/chdir-long (Makefile.am): Likewise.
72874         * modules/chdir-safer (Makefile.am): Likewise.
72875         * modules/check-version (Makefile.am): Likewise.
72876         * modules/chown (Makefile.am): Likewise.
72877         * modules/cloexec (Makefile.am): Likewise.
72878         * modules/close-stream (Makefile.am): Likewise.
72879         * modules/closeout (Makefile.am): Likewise.
72880         * modules/crc (Makefile.am): Likewise.
72881         * modules/cycle-check (Makefile.am): Likewise.
72882         * modules/des (Makefile.am): Likewise.
72883         * modules/dirfd (Makefile.am): Likewise.
72884         * modules/dirname (Makefile.am): Likewise.
72885         * modules/dup2 (Makefile.am): Likewise.
72886         * modules/euidaccess (Makefile.am): Likewise.
72887         * modules/exclude (Makefile.am): Likewise.
72888         * modules/exitfail (Makefile.am): Likewise.
72889         * modules/fcntl-safer (Makefile.am): Likewise.
72890         * modules/file-type (Makefile.am): Likewise.
72891         * modules/fileblocks (Makefile.am): Likewise.
72892         * modules/filemode (Makefile.am): Likewise.
72893         * modules/filenamecat (Makefile.am): Likewise.
72894         * modules/fnmatch (Makefile.am): Likewise.
72895         * modules/fopen-safer (Makefile.am): Likewise.
72896         * modules/fpending (Makefile.am): Likewise.
72897         * modules/fprintftime (Makefile.am): Likewise.
72898         * modules/free (Makefile.am): Likewise.
72899         * modules/fsusage (Makefile.am): Likewise.
72900         * modules/ftruncate (Makefile.am): Likewise.
72901         * modules/fts (Makefile.am): Likewise.
72902         * modules/gc (Makefile.am): Likewise.
72903         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
72904         * modules/getaddrinfo (Makefile.am): Likewise.
72905         * modules/getcwd (Makefile.am): Likewise.
72906         * modules/getdelim (Makefile.am): Likewise.
72907         * modules/getdomainname (Makefile.am): Likewise.
72908         * modules/getgroups (Makefile.am): Likewise.
72909         * modules/gethostname (Makefile.am): Likewise.
72910         * modules/gethrxtime (Makefile.am): Likewise.
72911         * modules/getline (Makefile.am): Likewise.
72912         * modules/getloadavg (Makefile.am): Likewise.
72913         * modules/getlogin_r (Makefile.am): Likewise.
72914         * modules/getopt (Makefile.am): Likewise.
72915         * modules/getpass (Makefile.am): Likewise.
72916         * modules/getpass-gnu (Makefile.am): Likewise.
72917         * modules/getsubopt (Makefile.am): Likewise.
72918         * modules/gettime (Makefile.am): Likewise.
72919         * modules/gettimeofday (Makefile.am): Likewise.
72920         * modules/getugroups (Makefile.am): Likewise.
72921         * modules/getusershell (Makefile.am): Likewise.
72922         * modules/glob (Makefile.am): Likewise.
72923         * modules/group-member (Makefile.am): Likewise.
72924         * modules/hard-locale (Makefile.am): Likewise.
72925         * modules/hash (Makefile.am): Likewise.
72926         * modules/hmac-md5 (Makefile.am): Likewise.
72927         * modules/hmac-sha1 (Makefile.am): Likewise.
72928         * modules/human (Makefile.am): Likewise.
72929         * modules/idcache (Makefile.am): Likewise.
72930         * modules/imaxabs (Makefile.am): Likewise.
72931         * modules/imaxdiv (Makefile.am): Likewise.
72932         * modules/inet_ntop (Makefile.am): Likewise.
72933         * modules/inet_pton (Makefile.am): Likewise.
72934         * modules/inttostr (Makefile.am): Likewise.
72935         * modules/isapipe (Makefile.am): Likewise.
72936         * modules/lchown (Makefile.am): Likewise.
72937         * modules/long-options (Makefile.am): Likewise.
72938         * modules/lstat (Makefile.am): Likewise.
72939         * modules/malloc (Makefile.am): Likewise.
72940         * modules/mathl (Makefile.am): Likewise.
72941         * modules/mbchar (Makefile.am): Likewise.
72942         * modules/md2 (Makefile.am): Likewise.
72943         * modules/md4 (Makefile.am): Likewise.
72944         * modules/md5 (Makefile.am): Likewise.
72945         * modules/memcasecmp (Makefile.am): Likewise.
72946         * modules/memchr (Makefile.am): Likewise.
72947         * modules/memcmp (Makefile.am): Likewise.
72948         * modules/memcoll (Makefile.am): Likewise.
72949         * modules/memcpy (Makefile.am): Likewise.
72950         * modules/memmem (Makefile.am): Likewise.
72951         * modules/memmove (Makefile.am): Likewise.
72952         * modules/mempcpy (Makefile.am): Likewise.
72953         * modules/memrchr (Makefile.am): Likewise.
72954         * modules/memset (Makefile.am): Likewise.
72955         * modules/memxor (Makefile.am): Likewise.
72956         * modules/mkancesdirs (Makefile.am): Likewise.
72957         * modules/mkdir (Makefile.am): Likewise.
72958         * modules/mkdir-p (Makefile.am): Likewise.
72959         * modules/mkdtemp (Makefile.am): Likewise.
72960         * modules/mkstemp (Makefile.am): Likewise.
72961         * modules/mktime (Makefile.am): Likewise.
72962         * modules/modechange (Makefile.am): Likewise.
72963         * modules/mountlist (Makefile.am): Likewise.
72964         * modules/nanosleep (Makefile.am): Likewise.
72965         * modules/openat (Makefile.am): Likewise.
72966         * modules/pagealign_alloc (Makefile.am): Likewise.
72967         * modules/physmem (Makefile.am): Likewise.
72968         * modules/poll (Makefile.am): Likewise.
72969         * modules/posixtm (Makefile.am): Likewise.
72970         * modules/posixver (Makefile.am): Likewise.
72971         * modules/putenv (Makefile.am): Likewise.
72972         * modules/quote (Makefile.am): Likewise.
72973         * modules/quotearg (Makefile.am): Likewise.
72974         * modules/raise (Makefile.am): Likewise.
72975         * modules/read-file (Makefile.am): Likewise.
72976         * modules/readline (Makefile.am): Likewise.
72977         * modules/readlink (Makefile.am): Likewise.
72978         * modules/readtokens (Makefile.am): Likewise.
72979         * modules/readutmp (Makefile.am): Likewise.
72980         * modules/realloc (Makefile.am): Likewise.
72981         * modules/regex (Makefile.am): Likewise.
72982         * modules/rename (Makefile.am): Likewise.
72983         * modules/rename-dest-slash (Makefile.am): Likewise.
72984         * modules/rijndael (Makefile.am): Likewise.
72985         * modules/rmdir (Makefile.am): Likewise.
72986         * modules/rpmatch (Makefile.am): Likewise.
72987         * modules/safe-read (Makefile.am): Likewise.
72988         * modules/safe-write (Makefile.am): Likewise.
72989         * modules/same (Makefile.am): Likewise.
72990         * modules/save-cwd (Makefile.am): Likewise.
72991         * modules/savedir (Makefile.am): Likewise.
72992         * modules/setenv (Makefile.am): Likewise.
72993         * modules/settime (Makefile.am): Likewise.
72994         * modules/sha1 (Makefile.am): Likewise.
72995         * modules/sig2str (Makefile.am): Likewise.
72996         * modules/snprintf (Makefile.am): Likewise.
72997         * modules/stdlib-safer (Makefile.am): Likewise.
72998         * modules/stpcpy (Makefile.am): Likewise.
72999         * modules/stpncpy (Makefile.am): Likewise.
73000         * modules/strcase (Makefile.am): Likewise.
73001         * modules/strcasestr (Makefile.am): Likewise.
73002         * modules/strchrnul (Makefile.am): Likewise.
73003         * modules/strcspn (Makefile.am): Likewise.
73004         * modules/strdup (Makefile.am): Likewise.
73005         * modules/strerror (Makefile.am): Likewise.
73006         * modules/strftime (Makefile.am): Likewise.
73007         * modules/strndup (Makefile.am): Likewise.
73008         * modules/strnlen (Makefile.am): Likewise.
73009         * modules/strpbrk (Makefile.am): Likewise.
73010         * modules/strsep (Makefile.am): Likewise.
73011         * modules/strstr (Makefile.am): Likewise.
73012         * modules/strtod (Makefile.am): Likewise.
73013         * modules/strtoimax (Makefile.am): Likewise.
73014         * modules/strtok_r (Makefile.am): Likewise.
73015         * modules/strtol (Makefile.am): Likewise.
73016         * modules/strtoll (Makefile.am): Likewise.
73017         * modules/strtoul (Makefile.am): Likewise.
73018         * modules/strtoull (Makefile.am): Likewise.
73019         * modules/strtoumax (Makefile.am): Likewise.
73020         * modules/strverscmp (Makefile.am): Likewise.
73021         * modules/time_r (Makefile.am): Likewise.
73022         * modules/timegm (Makefile.am): Likewise.
73023         * modules/tmpfile-safer (Makefile.am): Likewise.
73024         * modules/unistd-safer (Makefile.am): Likewise.
73025         * modules/unlinkdir (Makefile.am): Likewise.
73026         * modules/userspec (Makefile.am): Likewise.
73027         * modules/utime (Makefile.am): Likewise.
73028         * modules/utimecmp (Makefile.am): Likewise.
73029         * modules/utimens (Makefile.am): Likewise.
73030         * modules/vasnprintf (Makefile.am): Likewise.
73031         * modules/vasprintf (Makefile.am): Likewise.
73032         * modules/vsnprintf (Makefile.am): Likewise.
73033         * modules/xalloc (Makefile.am): Likewise.
73034         * modules/xgetcwd (Makefile.am): Likewise.
73035         * modules/xnanosleep (Makefile.am): Likewise.
73036         * modules/xreadlink (Makefile.am): Likewise.
73037         * modules/xstrtod (Makefile.am): Likewise.
73038         * modules/xstrtol (Makefile.am): Likewise.
73039         * modules/xstrtold (Makefile.am): Likewise.
73040         * modules/yesno (Makefile.am): Likewise.
73041
73042 2006-10-12  Jim Meyering  <jim@meyering.net>
73043
73044         * m4/getloadavg.m4: Revert the change below.
73045
73046         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
73047         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
73048         fail with a symlink, which is what coreutils' ./bootstrap now
73049         creates by default.
73050
73051 2006-10-12  Bruno Haible  <bruno@clisp.org>
73052
73053         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
73054         mingw.
73055         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
73056         MSVC and mingw explicitly.
73057
73058 2006-10-11  Simon Josefsson  <jas@extundo.com>
73059             Bruno Haible  <bruno@clisp.org>
73060
73061         Add support for multiple gnulib-tool invocations in the scope of a
73062         single configure.ac file.
73063         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
73064         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
73065         with the same contents as the _LIBADD variable.
73066         (func_emit_initmacro_start, func_emit_initmacro_end,
73067         func_emit_initmacro_done): New functions.
73068         (func_import, func_create_testdir): Invoke them. Allow the identifiers
73069         gl_LIBOBJS and gl_LTLIBOBJS.
73070
73071 2006-10-11  Bruno Haible  <bruno@clisp.org>
73072
73073         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
73074         (func_create_testdir): Don't create po/Makefile.am, don't invoke
73075         autoreconf. Instead, invoke autopoint explicitly but move back the
73076         *.m4 files from gnulib.
73077
73078 2006-10-11  Bruno Haible  <bruno@clisp.org>
73079
73080         * gnulib-tool (func_usage): Make module names after --create-testdir
73081         optional.
73082         (func_create_testdir): If no module was specified, use nearly all
73083         modules.
73084
73085 2006-10-12  Jim Meyering  <jim@meyering.net>
73086
73087         Big performance improvement for fts-based tools that use FTS_NOSTAT.
73088         Avoid spurious inode-mismatch problems on non-POSIX file systems.
73089         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
73090         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
73091         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
73092         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
73093         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
73094         (fts_set_stat_required): New function.
73095         (fts_open): Defer the calls to fts_stat, if possible or requested.
73096         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
73097         into fts_stat itself.
73098         (fts_read): Perform any required (deferred) fts_stat call.
73099         (fts_build): Likewise, for the directory we're about to open and read.
73100         In the readdir loop, carefully decide whether each entry will require
73101         an eventual call to fts_stat, using dirent.d_type info if available.
73102         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
73103         a command line argument into this function.  Update all callers.
73104         Map a return value of FTS_DOT to FTS_D for a command line argument.
73105         * modules/fts (Depends-on): Add d-type.  Alphabetize.
73106         Thanks to Miklos Szeredi for his tenacity and for the initial
73107         bug report about "find" failing on a FUSE-based file system.
73108
73109         * lib/fts.c (fts_open): Use consistent indentation.
73110
73111 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73112
73113         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
73114         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
73115         reported by Jim Meyering.  All uses of cache variables renamed
73116         to match Autoconf's.
73117         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
73118         the other one.
73119
73120         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
73121         Fix misspelling in diagnostic.
73122
73123 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73124
73125         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
73126         defined.  Problem reported by Matthew Woehlke.
73127
73128         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
73129         Add support for Tandem NonStop R series.
73130         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
73131         Use new macro.
73132
73133         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
73134         (has_trailing_slash): Omit size arg; all callers changed.
73135         Omit 'inline', since it doesn't help performance and we'd
73136         need to configure it.
73137         Don't count //, ///, etc. as having a trailing slash.
73138         As a side effect, this removes a C99ism reported by Matthew Woehlke.
73139         (rpl_rename_dest_slash): On failure, use rename's errno rather
73140         than (in some cases) an incorrect or junk errno.
73141         Simplify code by removing need to compute length; this does
73142         cause it to make two passes instead of one over the file name,
73143         but it's worth it.
73144
73145         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
73146         change, since Autoconf's version may no longer be appropriate now
73147         that we are using CVS Autoconf's version.  Add support for Tandem.
73148
73149 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73150             Bruno Haible  <bruno@clisp.org>
73151
73152         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
73153         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
73154         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
73155         gl_AC_TYPE_LONG_LONG.
73156
73157         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
73158         instead of HAVE_LONG_LONG.
73159         * lib/printf-args.c (printf_fetchargs): Likewise.
73160         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
73161         * lib/vasnprintf.c (VASNPRINTF): Likewise.
73162         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
73163         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
73164         gl_AC_TYPE_LONG_LONG.
73165
73166 2006-10-11  Bruno Haible  <bruno@clisp.org>
73167
73168         * m4/longlong.m4: Add comments.
73169         * m4/ulonglong.m4: Likewise.
73170
73171 2006-10-10  Bruno Haible  <bruno@clisp.org>
73172
73173         Make it possible to #define stpcpy, strdup to aliases.
73174         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
73175         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
73176
73177 2006-10-10  Bruno Haible  <bruno@clisp.org>
73178
73179         Make it possible to #define gcd to an alias.
73180         * lib/gcd.c: Include config.h.
73181
73182 2006-10-10  Bruno Haible  <bruno@clisp.org>
73183
73184         Make it possible to #define c_isascii to an alias.
73185         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
73186         defined. Undefine the macros before defining them, to avoid gcc
73187         warnings.
73188         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
73189         define NO_C_CTYPE_MACROS early.
73190
73191 2006-10-10  Bruno Haible  <bruno@clisp.org>
73192
73193         Make it possible to #define set_program_name to an alias.
73194         * lib/progname.c: Don't undefine set_program_name; instead, undefine
73195         ENABLE_RELOCATABLE early.
73196
73197 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73198
73199         Port to Tandem NSK OSS, which has 64-bit signed int but at most
73200         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
73201         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
73202         More generally, don't assume that 64-bit signed int is available
73203         if unsigned int is, and vice versa.
73204         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
73205         unsigned symbols, not on their signed counterparts.
73206         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
73207         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
73208         (UINT64_C, UINTMAX_C):
73209         Likewise.
73210         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
73211         unsigned counterparts.
73212         (Have_long_long, Unsigned): New macros.
73213         (Int): Renamed from INT.
73214         (strtoimax): Use the new macros.
73215         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
73216         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
73217         * modules/inttypes (inttypes.h): Substitute
73218         HAVE_UNSIGNED_LONG_LONG_INT.
73219         * modules/stdint (stdint.h): Likewise.
73220         (Files): Add m4/ulonglong.m4.
73221
73222 2006-10-10  Bruno Haible  <bruno@clisp.org>
73223
73224         Fix a gcc -Wshadow warning.
73225         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
73226         to 'bucket'.
73227         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
73228         gl_linked_indexof_from_to): Likewise.
73229         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
73230         Likewise.
73231         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
73232         Likewise.
73233         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
73234         Reported by Eric Blake.
73235
73236 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
73237
73238         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
73239         for NetBSD.  Problem reported by Bruno Haible.
73240
73241 2006-10-09  Jim Meyering  <jim@meyering.net>
73242
73243         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
73244         Patch from Bruno Haible.
73245
73246 2006-10-09  Jim Meyering  <jim@meyering.net>
73247
73248         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
73249         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
73250         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
73251
73252 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73253
73254         Don't include <config.h> twice; this doesn't work in some cases,
73255         e.g., when config.h has "#define intmax_t long long int" and
73256         we include <config.h>, <inttypes.h>, <config.h> in that order.
73257         Problem reported by Matthew Woehlke in:
73258         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
73259         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
73260         * lib/fts-cycle.c: Don't include config.h.
73261         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
73262         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
73263         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
73264         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
73265         inttypes.h.
73266         * lib/xstrtoumax.c: Likewise.
73267         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
73268         __strtol and the like, so that this module is more like its siblings.
73269         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
73270         Remove; no longer needed now that we assume gnulib inttypes.h.
73271
73272 2006-10-08  Bruno Haible  <bruno@clisp.org>
73273
73274         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
73275         option.
73276
73277 2006-10-07  Jim Meyering  <jim@meyering.net>
73278
73279         * modules/inttypes (inttypes.h): Revert what seems to have been
73280         an inadvertent part of today's change: use "|", not "/" in the
73281         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
73282
73283 2006-10-07  Bruno Haible  <bruno@clisp.org>
73284
73285         * modules/sublist: New file.
73286
73287 2006-10-07  Bruno Haible  <bruno@clisp.org>
73288
73289         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
73290         * modules/argz (argz.h): Likewise.
73291         * modules/arpa_inet (arpa/inet.h): Likewise.
73292         * modules/byteswap (byteswap.h): Likewise.
73293         * modules/configmake (configmake.h): Likewise.
73294         * modules/fcntl (fcntl.h): Likewise.
73295         * modules/fnmatch (fnmatch.h): Likewise.
73296         * modules/getopt (getopt.h): Likewise.
73297         * modules/glob (glob.h): Likewise.
73298         * modules/inttypes (inttypes.h): Likewise.
73299         * modules/netinet_in (netinet/in.h): Likewise.
73300         * modules/poll (poll.h): Likewise.
73301         * modules/stdbool (stdbool.h): Likewise.
73302         * modules/stdint (stdint.h): Likewise.
73303         * modules/sys_select (sys/select.h): Likewise.
73304         * modules/sys_socket (sys/socket.h): Likewise.
73305         * modules/sys_stat (sys/stat.h): Likewise.
73306         * modules/sysexits (sysexits.h): Likewise.
73307         * modules/unistd (unistd.h): Likewise.
73308         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73309         Add a "DO NOT EDIT" comment to the generated file.
73310         (func_import): Likewise for gnulib-comp.m4.
73311
73312 2006-10-07  Bruno Haible  <bruno@clisp.org>
73313
73314         * lib/gl_sublist.h: New file.
73315         * lib/gl_sublist.c: New file.
73316
73317 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73318
73319         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
73320         name (relative to the original working directory) and the file
73321         name component (relative to the temporary working directory).  All
73322         callers changed.
73323         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
73324         * lib/mkdir-p.c (make_dir_parents): Likewise.
73325         * lib/mkdir-p.h (make_dir_parents): Likewise.
73326
73327 2006-10-06  Eric Blake  <ebb9@byu.net>
73328
73329         Define several macros for use by the clean-temp module.
73330         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
73331         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
73332         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
73333
73334         * lib/clean-temp.h (close_stream_temp): New declaration.
73335         * lib/clean-temp.c (includes): Pull in headers according to what
73336         other modules are in use.
73337         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
73338
73339 2006-10-06  Bruno Haible  <bruno@clisp.org>
73340
73341         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
73342         instead of fopen, fwriteerror.
73343
73344 2006-10-06  Bruno Haible  <bruno@clisp.org>
73345
73346         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
73347         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
73348         int.
73349         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
73350         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
73351         Return an error indicator.
73352         Suggested by Eric Blake.
73353
73354 2006-10-06  Bruno Haible  <bruno@clisp.org>
73355
73356         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
73357         Reported by Eric Blake.
73358
73359 2006-10-06  Bruno Haible  <bruno@clisp.org>
73360
73361         * modules/closeout (Description): Mention stderr too.
73362
73363 2006-10-06  Bruno Haible  <bruno@clisp.org>
73364         and Paul Eggert  <eggert@cs.ucla.edu>
73365
73366         * lib/closeout.c (close_stdout): Also close stderr.
73367         * lib/closeout.h: Update comment.
73368
73369 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
73370
73371         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
73372         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
73373         * lib/dirchownmod.c: Include lchown.h.
73374         * lib/lchown.c: Don't include files that lchown.h now includes.
73375         Don't declare chown, since lchown.h now does that.
73376         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
73377         (lchown): Define to rpl_chown if lchown is declared but
73378         does not exist.  Declare using a prototype if lchown is not
73379         declared.  Add a copyright notice.
73380         * lib/mkstemp.h: Include <unistd.h>.
73381         * lib/openat.c: Include lchown.h.
73382
73383         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
73384         we now test for that separately.
73385         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
73386         rather than O_NOFOLLOW, when testing whether it's possible to
73387         avoid a race condition reliably.
73388         * lib/savewd.c (savewd_chdir): Likewise.
73389
73390         Remove macros that are no longer needed now that stdint.h is
73391         reliable.
73392         * lib/fsusage.c (UINTMAX_MAX): Remove.
73393         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
73394         * lib/utimecmp.c (SIZE_MAX): Remove.
73395
73396         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
73397
73398         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
73399         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
73400         O_NOATIME works.
73401
73402 2006-10-05  Bruno Haible  <bruno@clisp.org>
73403
73404         * lib/gl_list.h (gl_sortedlist_search_from_to,
73405         gl_sortedlist_indexof_from_to): New declarations.
73406         (gl_list_implementation): New fields sortedlist_search_from_to,
73407         sortedlist_indexof_from_to.
73408         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
73409         inline functions.
73410         * lib/gl_list.c (gl_sortedlist_search_from_to,
73411         gl_sortedlist_indexof_from_to): New functions.
73412         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
73413         function.
73414         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
73415         (gl_array_sortedlist_search_from_to): New function.
73416         (gl_array_list_implementation): Update.
73417         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
73418         function.
73419         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
73420         (gl_carray_sortedlist_search_from_to): New function.
73421         (gl_carray_list_implementation): Update.
73422         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
73423         gl_linked_sortedlist_indexof_from_to): New functions.
73424         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73425         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73426         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
73427         gl_tree_sortedlist_indexof_from_to): New functions.
73428         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73429         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73430         Update.
73431         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73432         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
73433         Update.
73434
73435 2006-10-05  Bruno Haible  <bruno@clisp.org>
73436
73437         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
73438         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
73439         (struct gl_list_implementation): Add fields search_from_to,
73440         indexof_from_to. Remove fields search, indexof.
73441         (gl_list_search): Use the search_from_to method.
73442         (gl_list_search_from, gl_list_search_from_to): New functions.
73443         (gl_list_indexof): Use the indexof_from_to method.
73444         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73445         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
73446         (gl_list_search_from, gl_list_search_from_to): New functions.
73447         (gl_list_indexof): Use the indexof_from_to method.
73448         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
73449         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
73450         gl_array_indexof. Add start_index, end_index arguments.
73451         (gl_array_search_from_to): Renamed from gl_array_search. Add
73452         start_index, end_index arguments.
73453         (gl_array_remove, gl_array_list_implementation): Update.
73454         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
73455         gl_carray_indexof. Add start_index, end_index arguments.
73456         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
73457         start_index, end_index arguments.
73458         (gl_carray_remove, gl_carray_list_implementation): Update.
73459         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
73460         gl_linked_search. Add start_index, end_index arguments.
73461         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
73462         start_index, end_index arguments.
73463         (gl_linked_remove): Update.
73464         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
73465         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
73466         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
73467         field to 'size_t'.
73468         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
73469         gl_tree_search. Add start_index, end_index arguments.
73470         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73471         start_index, end_index arguments.
73472         (gl_tree_remove): Update.
73473         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
73474         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
73475         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
73476         function.
73477         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
73478         gl_tree_search. Add start_index, end_index arguments.
73479         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
73480         start_index, end_index arguments.
73481         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
73482         Update.
73483         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
73484
73485 2006-10-05  Bruno Haible  <bruno@clisp.org>
73486
73487         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
73488
73489         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
73490         fwriteerror_temp): New declarations.
73491         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
73492         (descriptors): New variable.
73493         (cleanup): First, close the descriptors.
73494         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
73495         fclose_temp, fwriteerror_temp): New functions.
73496
73497 2006-10-04  Jim Meyering  <jim@meyering.net>
73498
73499         * lib/fts.c (fts_open): Tiny comment change.
73500
73501 2006-10-04  Bruno Haible  <bruno@clisp.org>
73502
73503         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
73504         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
73505         gl_LOCK_BODY.
73506         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
73507         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
73508         gl_LOCK_EARLY_BODY.
73509         (gl_LOCK): Require gl_LOCK_BODY.
73510
73511 2006-10-04  Bruno Haible  <bruno@clisp.org>
73512
73513         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
73514         (gl_oset_search_atleast): New declaration.
73515         (struct gl_oset_implementation): Add field 'search_atleast'.
73516         (gl_oset_search_atleast): New inline function.
73517         * lib/gl_oset.c (gl_oset_search_atleast): New function.
73518         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
73519         (gl_array_oset_implementation): Update.
73520         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
73521         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
73522         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
73523
73524 2006-10-04  Bruno Haible  <bruno@clisp.org>
73525
73526         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
73527
73528 2006-10-03  Bruno Haible  <bruno@clisp.org>
73529
73530         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
73531         from gl_avltreehash_list_implementation.
73532
73533 2006-10-03  Bruno Haible  <bruno@clisp.org>
73534
73535         * lib/gl_oset.c (gl_oset_add): Fix return type.
73536
73537 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
73538
73539         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
73540
73541 2006-10-02  Eric Blake  <ebb9@byu.net>
73542
73543         * modules/strnlen (Depends-on): Add extensions.
73544
73545 2006-10-02  Eric Blake  <ebb9@byu.net>
73546
73547         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
73548         definition in 2.60+.
73549
73550 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
73551
73552         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
73553         checks.
73554
73555 2006-10-02  Bruno Haible  <bruno@clisp.org>
73556
73557         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
73558         to the AUTOMAKE_OPTIONS.
73559         Reported by Jim Meyering.
73560
73561 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
73562
73563         Work around bug in Solaris 10 /proc file system:
73564         /proc/self/fd/NNN/.. isn't the parent directory of
73565         the directory whose file descriptor is NNN.  This needs to
73566         be worked around at run time, not compile time, since a
73567         program might be built on Solaris 8, where things work, and
73568         run on Solaris 10.
73569         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
73570         to use the following interface instead:
73571         (OPENAT_BUFFER_SIZE): New macro.
73572         (openat_proc_name): New function.
73573         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
73574         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
73575         Likewise.
73576         * lib/openat-proc.c: New file.
73577         * modules/openat (Files): Add lib/openat-proc.c.
73578         (Depends-on): Add same-inode, stdbool.
73579         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
73580
73581 2006-09-29  Bruno Haible  <bruno@clisp.org>
73582
73583         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
73584         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
73585         argument. Set stdout_closed before testing for ferror, not after.
73586         (fwriteerror, fwriteerror_no_ebadf): New functions.
73587
73588 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73589
73590         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
73591
73592 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
73593
73594         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
73595         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
73596
73597 2006-09-28  Jim Meyering  <jim@meyering.net>
73598
73599         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
73600         Include <unistd.h>.
73601
73602 2006-09-28  Bruno Haible  <bruno@clisp.org>
73603
73604         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
73605         * modules/linkedhash-list (Depends-on): Likewise.
73606         * modules/rbtreehash-list (Depends-on): Likewise.
73607
73608 2006-09-28  Bruno Haible  <bruno@clisp.org>
73609
73610         * lib/strndup.h: Simplify the redefinition of strndup.
73611         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
73612         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
73613
73614 2006-09-28  Bruno Haible  <bruno@clisp.org>
73615
73616         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
73617         * lib/gl_linkedhash_list.c: Likewise.
73618         * lib/gl_rbtreehash_list.c: Likewise.
73619
73620 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
73621
73622         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
73623         getaddrinfo.
73624
73625         * lib/__fpending.h: Don't include <stdio_ext.h> unless
73626         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
73627         it causes <stdio_ext.h> to cause a compile-time error.
73628         Problem reported by Nelson H. F. Beebe.
73629         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
73630         of HAVE_DECL___PENDING.
73631
73632         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
73633         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
73634         declaration.
73635
73636 2006-09-27  Jim Meyering  <jim@meyering.net>
73637
73638         This file could end up with a definition for a function
73639         named __strndup, rather than rpl_strndup on a system with
73640         incomplete weak_alias support.
73641         * lib/strndup.c (strndup): Rename from __strndup.
73642         Remove #defines that used to map __strndup to strndup.
73643         Don't use K&R prototypes.
73644         Remove LIBC-related code, since this file is not sync'd with glibc.
73645         * lib/strndup.h: Revamp, accordingly.
73646         * m4/strndup.m4: Modernize.
73647
73648 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
73649
73650         * modules/savewd (Depends-on): Add 'raise'.
73651         * lib/savewd.c: Include <signal.h>, for 'raise'.
73652
73653 2006-09-26  Jim Meyering  <jim@meyering.net>
73654
73655         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
73656         when we detect Darwin 8.7.0's acl_get_file bug.
73657         Rearrange to perform the new (below) run-test while $LIBS
73658         contains any acl-related library.  Set USE_ACL at the end.
73659         (gl_ACL_GET_FILE): New function.
73660
73661 2006-09-26  Eric Blake  <ebb9@byu.net>
73662
73663         * lib/verror.c: Include <config.h> unconditionally.
73664
73665 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
73666
73667         * modules/clock-time (Maintainer): Add self.
73668         * modules/getlogin_r (Depends-on): Add extensions.
73669
73670 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73671
73672         * modules/clock-time: New module.
73673         * modules/nanosleep (Depends-on): Add clock-time.
73674         * modules/gethrxtime (Depends-on): Likewise.
73675         * modules/gettime (Depends-on): Likewise.
73676         * modules/settime (Depends-on): Likewise.
73677
73678         * modules/fts-lgpl: Depend on openat.
73679         * modules/mkancesdirs: Depend on savewd.
73680         * modules/mkdir-p: Likewise.
73681
73682 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73683
73684         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
73685
73686         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
73687         `gl_have_arbitrary_file_name_length_limit' to
73688         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
73689         actually works between configure runs.
73690
73691 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73692             Bruno Haible  <bruno@clisp.org>
73693
73694         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
73695
73696 2006-09-25  Jim Meyering  <jim@meyering.net>
73697
73698         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
73699         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
73700
73701 2006-09-25  Eric Blake  <ebb9@byu.net>
73702
73703         * gnulib-tool (func_import, func_create_testdir): Fix typos in
73704         exec's in 2006-09-18 patch when shuffling fds.
73705
73706 2006-09-25  Bruno Haible  <bruno@clisp.org>
73707
73708         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
73709         Reported by Jim Meyering.
73710
73711 2006-09-24  Jim Meyering  <jim@meyering.net>
73712
73713         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
73714         compare a pointer against a literal "0".  That caused failures with
73715         at least HP-UX's hpcc.
73716
73717 2006-09-22  Simon Josefsson  <jas@extundo.com>
73718
73719         * modules/gc-sha1:
73720         * modules/gc-md4:
73721         * modules/gc-hmac-sha1:
73722         * modules/gc-hmac-md5:
73723         * modules/gc-des:
73724         * modules/gc-arcfour: Distribute more files.
73725
73726 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73727
73728         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
73729         (gl_linked_iterator_from_to): Initialize struct completely.
73730         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
73731         (gl_tree_iterator_from_to): Likewise
73732         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
73733         * lib/gl_array_list.c [lint] (gl_array_iterator)
73734         (gl_array_iterator_from_to): Likewise.
73735         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
73736         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
73737         (gl_carray_iterator_from_to): Likewise.
73738
73739         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
73740         * lib/md4.c (md4_process_block): Remove unused variable.
73741         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
73742         parentheses for clarity.
73743
73744 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73745
73746         * modules/bison-i18n (Depends-on): Add gettext.
73747
73748 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73749
73750         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
73751         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
73752         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
73753         also add missing comma that caused broken test.
73754         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
73755         stdlib.h, for `abort'.
73756         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
73757         variables.
73758         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
73759         include unistd.h if present, for `rmdir'.
73760         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
73761         variables.
73762         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
73763         in the process include standard headers for prototypes.
73764         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
73765         gets declared on GNU/Linux.
73766         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
73767         unistd.h, for `rmdir'.
73768         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
73769
73770         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
73771         always true.
73772         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
73773
73774         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
73775
73776 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73777
73778         * gnulib-tool (func_version): Create output all at once.  This
73779         may help avoid triggering unnecessary SIGPIPEs, and at any
73780         rate it doesn't hurt.
73781
73782 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73783             Bruno Haible  <bruno@clisp.org>
73784
73785         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
73786         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
73787         * m4/signed.m4 (bh_C_SIGNED): Likewise.
73788
73789         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
73790         (gl_FUNC_VASPRINTF): Invoke it.
73791
73792 2006-09-22  Bruno Haible  <bruno@clisp.org>
73793
73794         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
73795         getloadavg.c as first argument.
73796
73797 2006-09-22  Bruno Haible  <bruno@clisp.org>
73798
73799         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
73800         at the beginning of the gl_INIT macro.
73801         * modules/getloadavg (configure.ac): Pass $gl_source_base to
73802         gl_GETLOADAVG.
73803
73804 2006-09-22  Bruno Haible  <bruno@clisp.org>
73805
73806         * gnulib-tool (func_create_megatestdir): Don't include the config-h
73807         module.
73808         Suggested by Ralf Wildenhues.
73809
73810 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73811
73812         Import this patch from libc:
73813
73814         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
73815
73816         * lib/regex_internal.c (re_string_reconstruct): Handle
73817         offset < pstr->valid_raw_len && pstr->offsets_needed case.
73818         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
73819         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
73820         re_string_context_at.
73821
73822         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
73823         now requires it.
73824         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
73825         gl_REGEX now does it for us.
73826         (gl_REGEX): Add test taken from
73827         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
73828
73829         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
73830         Check that large offsets work.  Modernize Autoconf usages.
73831         Prefer "yes" to mean a good thing rather than a bad.
73832         Don't put "#define mkstemp" in config.h, as this might interfere
73833         with standard system headers that "#define mkstemp mkstemp64".
73834
73835         * modules/mkstemp (Depends-on): Add extensions, so that
73836         mkstemp is visible on some platforms.
73837         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
73838         (Include): Change to "mkstemp.h" from <stdlib.h>.
73839         (Files): Add mkstemp.h.
73840
73841         * lib/mkstemp.h: New file, since some standard headers
73842         #define mkstemp.
73843         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
73844         Include "mkstemp.h".
73845         Make the _LIBC code resemble glibc original more,
73846         e.g., use K&R style.
73847         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
73848         (mkstemp): Remove, since mkstemp.h does this for us.
73849         * lib/stdlib--.h: Include mkstemp.h.
73850
73851         Import this patch from libc:
73852
73853         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73854
73855         * lib/tempname.c (__gen_tempname): Change attempts_min
73856         into a macro.  Use preprocessor to decide how to initialize
73857         attempts [Coverity CID 67].
73858
73859 2006-09-20  Bruno Haible  <bruno@clisp.org>
73860
73861         * lib/mkdtemp.c: Import from libc.
73862         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
73863                 * sysdeps/posix/tempname.c (__gen_tempname): Change
73864                 attempts_min into a macro.  Use preprocessor to decide how to
73865                 initialize attempts [Coverity CID 67].
73866         2001-11-27  Paul Eggert  <eggert@twinsun.com>
73867                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
73868                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
73869
73870 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73871
73872         * gnulib-tool (func_exit): New function, to allow to pass the
73873         exit status portably through the trap.  Use everywhere.
73874         (--help, --version): Signal a write error.
73875         (trap): catch SIGPIPE, for write errors.
73876         Exit at the end of the trap, with the correct exit status.
73877
73878 2006-09-19  Karl Berry  <karl@gnu.org>
73879
73880         * doc/gnulib.texi: note about the license texinfo files.
73881
73882 2006-09-19  Eric Blake  <ebb9@byu.net>
73883
73884         * gnulib-tool: Avoid space-tab.
73885
73886 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73887
73888         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
73889         that prevented coreutils 6.1 from building.  Problem reported
73890         by Petter Reinholdtsen.
73891
73892 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
73893
73894         * gnulib-tool (avoidlist): Fix typo that broke options like
73895         --avoid=lock that are used by coreutils bootstrap.
73896
73897 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
73898
73899         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
73900         more systematically.
73901
73902 2006-09-18  Jim Meyering  <jim@meyering.net>
73903
73904         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
73905
73906 2006-09-18  Bruno Haible  <bruno@clisp.org>
73907
73908         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
73909
73910 2006-09-18  Bruno Haible  <bruno@clisp.org>
73911
73912         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
73913         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
73914         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
73915         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
73916         * m4/gettext.m4: Require autoconf >= 2.52.
73917         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
73918         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
73919         of gl_cv_header_inttypes_h.
73920
73921 2006-09-18  Bruno Haible  <bruno@clisp.org>
73922
73923         * lib/javaversion.c: Include configmake.h.
73924
73925 2006-09-18  Bruno Haible  <bruno@clisp.org>
73926
73927         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
73928         avoid that the while loops be executed in a subshell.
73929
73930 2006-09-18  Bruno Haible  <bruno@clisp.org>
73931
73932         * MODULES.html.sh (func_module): Break long lines.
73933         Suggested by Bruce Korb <bkorb@gnu.org>.
73934
73935 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73936
73937         Speed up by a factor of 1.12.
73938         * gnulib-tool (nl): New variable.
73939         (func_import): Rewrite include directive extraction to only read each
73940         directive once.
73941
73942 2006-09-17  Bruno Haible  <bruno@clisp.org>
73943
73944         * modules/javaversion (Makefile.am): Remove DEFS setting.
73945         (Depends-on): Add configmake, for PKGDATADIR definition.
73946
73947 2006-09-17  Bruno Haible  <bruno@clisp.org>
73948
73949         * gnulib-tool (func_create_testdir): Rewrite all files at once.
73950
73951 2006-09-17  Bruno Haible  <bruno@clisp.org>
73952
73953         * gnulib-tool (func_append): New function, stolen from libtool.m4.
73954         (func_modules_transitive_closure, func_modules_add_dummy,
73955         func_modules_to_filelist, func_import, func_create_testdir,
73956         func_create_megatestdir, ...): Use it wherever possible.
73957         Suggested by Ralf Wildenhues.
73958
73959 2006-09-16  Karl Berry  <karl@gnu.org>
73960
73961         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
73962         to avoid sectioning errors.
73963         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
73964         [ifinfo]: blank line after @center-ed titles.
73965         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
73966         Spell FSF address consistently with others.
73967         (These changes approved by rms.)
73968
73969 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73970
73971         Speed up by a factor of 1.61.
73972         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
73973         already checked module names again.
73974
73975 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73976
73977         Speed up by a factor of 1.13.
73978         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
73979         for new_files, and the input to func_add_or_update.
73980
73981 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73982
73983         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
73984         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
73985
73986 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73987
73988         * modules/mkancesdirs (Depends-on): Add fcntl.
73989         * modules/savewd: New file.
73990         * MODULES.html.sh (File system functions): Add savewd.
73991
73992         * modules/configmake (Makefile.am): Add support for the
73993         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
73994
73995 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
73996
73997         * m4/savewd.m4: New file.
73998
73999 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74000
74001         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
74002         (dirchownmod): New arg FD.  All callers changed.
74003         Use FD rather than opening the directory ourself, as opening is
74004         now the caller's responsibility.
74005         * lib/dirchownmod.h: Likewise.
74006         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
74007         hosts that require <sys/types.h> before <sys/stat.h>.  Include
74008         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
74009         (test_dir): Remove.
74010         (mkancesdirs): Return length of prefix of FILE that has already
74011         been made, or -2 if there is a child doing the work.  Redo
74012         algorithm so that it is O(N) rather than O(N**2).  Optimize away
74013         ".", and treat ".." specially since it might stray back into
74014         already-created areas.  Use a subprocess if necessary.  New arg
74015         WD; all users changed.  MAKE_DIR function should now return 1
74016         if it creates a directory that is not readable.  Return -2 if
74017         a child process is spun off.
74018         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
74019         Adjust signature to match code.
74020         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
74021         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
74022         all users changed.
74023         * lib/savewd.c, lib/savewd.h: New files.
74024
74025 2006-09-15  Jim Meyering  <jim@meyering.net>
74026
74027         * modules/rename-dest-slash: New module.
74028         * MODULES.html.sh (posix_compat): Add it here.
74029
74030         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
74031
74032 2006-09-15  Jim Meyering  <jim@meyering.net>
74033
74034         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
74035         file.
74036
74037         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
74038
74039 2006-09-15  Jim Meyering  <jim@meyering.net>
74040
74041         * lib/rename-dest-slash.c (has_trailing_slash): Use
74042         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
74043         (rpl_rename_dest_slash): Perform the cheaper trailing slash
74044         test before testing whether SRC is a directory.
74045         Suggestions from Bruno Haible.
74046
74047         Avoid a warning about an unused variable.
74048         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
74049         into the #ifdef block where it's used.
74050
74051         * lib/rename-dest-slash.c: New file.
74052
74053 2006-09-14  Bruno Haible  <bruno@clisp.org>
74054
74055         * lib/allocsa.c: Include <config.h> unconditionally.
74056         * lib/asnprintf.c: Likewise.
74057         * lib/asprintf.c: Likewise.
74058         * lib/c-strcasecmp.c: Likewise.
74059         * lib/c-strcasestr.c: Likewise.
74060         * lib/c-strncasecmp.c: Likewise.
74061         * lib/c-strstr.c: Likewise.
74062         * lib/classpath.c: Likewise.
74063         * lib/clean-temp.c: Likewise.
74064         * lib/concatpath.c: Likewise.
74065         * lib/copy-file.c: Likewise.
74066         * lib/csharpcomp.c: Likewise.
74067         * lib/csharpexec.c: Likewise.
74068         * lib/execute.c: Likewise.
74069         * lib/fatal-signal.c: Likewise.
74070         * lib/findprog.c: Likewise.
74071         * lib/fwriteerror.c: Likewise.
74072         * lib/gl_array_list.c: Likewise.
74073         * lib/gl_array_oset.c: Likewise.
74074         * lib/gl_avltree_list.c: Likewise.
74075         * lib/gl_avltree_oset.c: Likewise.
74076         * lib/gl_avltreehash_list.c: Likewise.
74077         * lib/gl_carray_list.c: Likewise.
74078         * lib/gl_linked_list.c: Likewise.
74079         * lib/gl_linkedhash_list.c: Likewise.
74080         * lib/gl_list.c: Likewise.
74081         * lib/gl_oset.c: Likewise.
74082         * lib/gl_rbtree_list.c: Likewise.
74083         * lib/gl_rbtree_oset.c: Likewise.
74084         * lib/gl_rbtreehash_list.c: Likewise.
74085         * lib/imaxabs.c: Likewise.
74086         * lib/imaxdiv.c: Likewise.
74087         * lib/javacomp.c: Likewise.
74088         * lib/javaexec.c: Likewise.
74089         * lib/javaversion.c: Likewise.
74090         * lib/linebreak.c: Likewise.
74091         * lib/localcharset.c: Likewise.
74092         * lib/lock.c: Likewise.
74093         * lib/mbchar.c: Likewise.
74094         * lib/mbswidth.c: Likewise.
74095         * lib/mkdtemp.c: Likewise.
74096         * lib/pipe.c: Likewise.
74097         * lib/printf-args.c: Likewise.
74098         * lib/printf-parse.c: Likewise.
74099         * lib/progname.c: Likewise.
74100         * lib/progreloc.c: Likewise.
74101         * lib/readlink.c: Likewise.
74102         * lib/sh-quote.c: Likewise.
74103         * lib/stpcpy.c: Likewise.
74104         * lib/stpncpy.c: Likewise.
74105         * lib/strcasecmp.c: Likewise.
74106         * lib/strcasestr.c: Likewise.
74107         * lib/strcspn.c: Likewise.
74108         * lib/striconv.c: Likewise.
74109         * lib/strncasecmp.c: Likewise.
74110         * lib/strnlen1.c: Likewise.
74111         * lib/strstr.c: Likewise.
74112         * lib/strtok_r.c: Likewise.
74113         * lib/tls.c: Likewise.
74114         * lib/tmpdir.c: Likewise.
74115         * lib/unicodeio.c: Likewise.
74116         * lib/unsetenv.c: Likewise.
74117         * lib/vasnprintf.c: Likewise.
74118         * lib/vasprintf.c: Likewise.
74119         * lib/wait-process.c: Likewise.
74120         * lib/xallocsa.c: Likewise.
74121         * lib/xsetenv.c: Likewise.
74122         * lib/xstriconv.c: Likewise.
74123
74124 2006-09-13  Simon Josefsson  <jas@extundo.com>
74125
74126         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
74127         that internally, suggested by Ralf Wildenhues
74128         <Ralf.Wildenhues@gmx.de>.
74129
74130 2006-09-13  Simon Josefsson  <jas@extundo.com>
74131
74132         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
74133         @LIBOBJS@.
74134         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74135
74136 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74137
74138         * lib/_fpending.c: Include <config.h> unconditionally, since we no
74139         longer worry about uses that don't define HAVE_CONFIG_H.
74140         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
74141         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
74142         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
74143         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
74144         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
74145         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
74146         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
74147         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
74148         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
74149         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
74150         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
74151         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
74152         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
74153         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
74154         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
74155         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
74156         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
74157         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
74158         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
74159         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
74160         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
74161         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
74162         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
74163         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
74164         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
74165         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
74166         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
74167         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
74168         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
74169         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
74170         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
74171         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
74172         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
74173         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
74174         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
74175         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
74176         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
74177         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
74178         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
74179         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
74180         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
74181         Likewise.
74182
74183 2006-09-13  Eric Blake  <ebb9@byu.net>
74184
74185         * lib/getopt.c: Fix typo in last commit.
74186
74187 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
74188
74189         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
74190         dgettext.
74191
74192 2006-09-12  Jim Meyering  <jim@meyering.net>
74193
74194         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
74195         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
74196         Reported by Nelson H. F. Beebe.
74197
74198 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
74199
74200         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
74201         program_invocation_name and program_invocation_short_name are
74202         initialized.
74203         * lib/argp-namefrob.h: Move declarations of program_invocation_name
74204         and program_invocation_short_name to argp.h, so they are visible
74205         to user programs.
74206         * lib/argp.h: Likewise
74207
74208 2006-09-10  Bruno Haible  <bruno@clisp.org>
74209
74210         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
74211         m4/inttypes_h.m4, m4/uintmax_t.m4.
74212
74213 2006-09-10  Bruno Haible  <bruno@clisp.org>
74214
74215         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
74216         gl_AC_TYPE_UINTMAX_T.
74217
74218 2006-09-10  Bruno Haible  <bruno@clisp.org>
74219
74220         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
74221
74222 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74223
74224         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
74225         convention.  Text proposed by Bruno Haible.
74226         (struct argp_option): Document the use of N_() wrappers.
74227
74228         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
74229         '\v', and translate the two parts separately, instead of feeding
74230         the whole string to gettext.  This allows to exclude
74231         '\v' from the strings visible to the translator by writing doc
74232         strings as N_("..") "\v" N_("..").
74233
74234 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
74235
74236         * config/srclist.txt: Undo latest change; the bug was fixed.
74237
74238 2006-09-09  Bruno Haible  <bruno@clisp.org>
74239
74240         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
74241         assignments if building a library without libtool.
74242         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
74243         in func_emit_lib_Makefile_am.
74244         (func_import): When building a static library libfoo.a, arrange to
74245         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
74246         (func_create_testdir): Likewise.
74247         * modules/gc (configure.ac, Makefile.am): If building statically,
74248         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
74249         * modules/iconvme (configure.ac, Makefile.am): Likewise.
74250         * modules/striconv (configure.ac, Makefile.am): Likewise.
74251         Based on a suggestion by Ralf Wildenhues.
74252
74253 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74254
74255         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74256         Check for unistd.h too, since Autoconf doesn't assume POSIX.
74257         Also:
74258
74259         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74260         Add year_2050_test to catch glibc bug 2821
74261         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74262
74263         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74264         Prefer #ifdef to #if.
74265
74266         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
74267         Return from 'main' instead of calling 'exit'.
74268
74269 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74270
74271         * lib/mktime.c (guess_time_tm): Fix bug where mktime
74272         returned the maximum time_t value rather than (time_t) -1.
74273         Problem originally reported by William Bardwell
74274         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
74275
74276         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74277         Moved to here ...
74278         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
74279         ... from here.
74280
74281 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
74282
74283         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
74284         2821 is fixed.
74285
74286 2006-09-08  Jim Meyering  <jim@meyering.net>
74287
74288         Don't make generated files read-only.  That would bother too many
74289         people.  However, do retain the ability to work when targets are
74290         read-only: remove the destination and temporary files before writing
74291         them (when generated via sed or echo), or by using the -f option for
74292         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
74293         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74294         * modules/byteswap, modules/configmake, modules/fcntl:
74295         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74296         * modules/localcharset, modules/netinet_in, modules/poll:
74297         * modules/stdbool, modules/stdint, modules/sys_select:
74298         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74299
74300 2006-09-08  Jim Meyering  <jim@meyering.net>
74301
74302         Avoid new build failure on FreeBSD 6.0.
74303         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
74304         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
74305         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
74306
74307 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74308
74309         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
74310
74311 2006-09-07  Jim Meyering  <jim@meyering.net>
74312
74313         Fix global typo in last change: use chmod u-w, not chmod u-x.
74314         Spotted by Paul Eggert and Bruce Korb.
74315         * modules/alloca-opt, modules/argz, modules/arpa_inet:
74316         * modules/byteswap, modules/configmake, modules/fcntl:
74317         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
74318         * modules/localcharset, modules/netinet_in, modules/poll:
74319         * modules/stdbool, modules/stdint, modules/sys_select:
74320         * modules/sys_socket, modules/sys_stat, modules/sysexits:
74321
74322 2006-09-06  Jim Meyering  <jim@meyering.net>
74323
74324         Make generated files be read-only.
74325         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
74326         Ensure that each generated file is now read-only.
74327         * modules/argz: Likewise.
74328         * modules/arpa_inet: Likewise.
74329         * modules/byteswap: Likewise.
74330         * modules/configmake: Likewise.
74331         * modules/fcntl: Likewise.
74332         * modules/fnmatch: Likewise.
74333         * modules/getopt: Likewise.
74334         * modules/glob: Likewise.
74335         * modules/inttypes: Likewise.
74336         * modules/netinet_in: Likewise.
74337         * modules/poll: Likewise.
74338         * modules/stdbool: Likewise.
74339         * modules/stdint: Likewise.
74340         * modules/sys_select: Likewise.
74341         * modules/sys_socket: Likewise.
74342         * modules/sys_stat: Likewise.
74343         * modules/sysexits: Likewise.
74344         * modules/localcharset: Same as above, but continue using temporary
74345         file named "t-$@" (why different?) rather than the "$@-t" used
74346         everywhere else.
74347
74348         * modules/sysexits (Makefile.am): Replace literal occurrences
74349         of "sysexit.h" more readable, and more consistent, "$@".
74350
74351 2006-09-06  Bruno Haible  <bruno@clisp.org>
74352
74353         * modules/striconv: New file.
74354         * modules/xstriconv: New file.
74355         * MODULES.html.sh (Internationalization functions): Add striconv,
74356         xstriconv.
74357
74358 2006-09-06  Bruno Haible  <bruno@clisp.org>
74359
74360         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
74361         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
74362         not using libtool correctly.
74363
74364 2006-09-06  Bruno Haible  <bruno@clisp.org>
74365
74366         * lib/striconv.h: New file.
74367         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
74368         iconvstring.c.
74369         * lib/xstriconv.h: New file.
74370         * lib/xstriconv.c: New file.
74371
74372 2006-09-06  Bruno Haible  <bruno@clisp.org>
74373
74374         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74375         lib_..._LDFLAGS.
74376
74377 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74378
74379         * lib/argz_.h: Sync from Libtool.
74380
74381         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
74382                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74383
74384         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
74385
74386 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74387
74388         * modules/trim: New file.
74389
74390 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
74391
74392         * lib/trim.h: New file.
74393         * lib/trim.c: New file.
74394
74395 2006-09-05  Bruno Haible  <bruno@clisp.org>
74396
74397         * MODULES.html.sh (String handling): Add trim.
74398
74399 2006-09-04  Karl Berry  <karl@gnu.org>
74400
74401         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
74402         until next release.
74403
74404 2006-09-03  Bruno Haible  <bruno@clisp.org>
74405
74406         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
74407         correctly.
74408
74409 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74410
74411         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
74412         not gl_GETLOADAVG.  Omit unneeded semicolons.
74413         Problems reported by Ralf Wildenhues in
74414         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74415         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
74416         at the end, which is the usual gnulib style.
74417
74418         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
74419         of doing all the work ourselves.
74420         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
74421         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
74422
74423 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74424
74425         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
74426         Problem reported by Ralf Wildenhues in
74427         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
74428
74429         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
74430         HAVE_STRUCT_STATFS_F_FSTYPENAME.
74431
74432 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
74433
74434         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
74435         yesterday's patch by changing test -n to test -z.
74436
74437 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74438
74439         * modules/getloadavg (Files): Add m4/getloadavg.m4.
74440         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
74441         the former is now obsolescent.
74442
74443         * modules/chdir-long (Depends-on): Add fcntl.
74444
74445 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74446
74447         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
74448         obsolescent, and programs should use gnulib instead.
74449         * m4/getloadavg.m4: New file, with contents taken from Autoconf
74450         but with prefixes changed.
74451
74452 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
74453
74454         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
74455         or stdbool.h, because they might not exist while configuring.
74456
74457         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
74458         Don't include unistd.h or limits.h; not needed, since chdir-long.h
74459         does that for us.
74460         (O_DIRECTORY): Remove.
74461
74462 2006-08-31  Eric Blake  <ebb9@byu.net>
74463
74464         * gnulib-tool: Don't let emacs change spaces to TAB.
74465
74466 2006-08-31  Bruno Haible  <bruno@clisp.org>
74467
74468         * gnulib-tool: When calling func_import more than once, do it in a
74469         subshell.
74470         Reported by Eric Blake <ebb9@byu.net>.
74471
74472 2006-08-31  Bruno Haible  <bruno@clisp.org>
74473
74474         * gnulib-tool (nl): Remove variable.
74475         (sed_transform_lib_file): Use more robust test for config-h module.
74476         (func_import): Fix typo in 2006-08-25 patch.
74477
74478 2006-08-31  Bruno Haible  <bruno@clisp.org>
74479
74480         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
74481         specified, augment Makefile.am variables instead of assigning them.
74482
74483 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74484
74485         Work around a bug in both the Linux and SunOS 64-bit kernels:
74486         nanosleep mishandles sleeps for longer than 2**31 seconds.
74487         Problem reported by Frank v Waveren in
74488         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74489         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
74490         Check for nanosleep bug.
74491         (LIB_NANOSLEEP): Append clock_gettime library if needed.
74492
74493 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74494
74495         Work around a bug in both the Linux and SunOS 64-bit kernels:
74496         nanosleep mishandles sleeps for longer than 2**31 seconds.
74497         Problem reported by Frank v Waveren in
74498         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
74499         * lib/nanosleep.c (BILLION): New constant.
74500         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
74501         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
74502         implementation.
74503
74504 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74505
74506         * modules/nanosleep (Depends-on): Add gettime.
74507
74508 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
74509         and Simon Josefsson  <jas@extundo.com>
74510         and Oskar Liljeblad  <oskar@osk.mine.nu>
74511
74512         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
74513         * gnulib-tool (func_import): New license type 'unmodifiable license
74514         text'.
74515         * modules/fdl: Use it.  Longer description.
74516         * module/gpl, module/lgpl: New files.
74517
74518 2006-08-30  Jim Meyering  <jim@meyering.net>
74519
74520         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
74521         shadowing the parameter.
74522
74523 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74524
74525         Sync from Libtool:
74526
74527         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74528
74529         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
74530         sharing with gnulib.  Report by Eric Blake.
74531
74532 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74533
74534         * modules/isapipe: New file.
74535         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
74536
74537 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74538
74539         * modules/configmake (Makefile.am): Add a comment, and omit
74540         the CONFIGMAKE_ prefix from generated macro names.  Suggested
74541         by Bruno Haible.
74542
74543 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74544
74545         * m4/isapipe.m4: New file.
74546
74547 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
74548
74549         * lib/isapipe.c, lib/isapipe.h: New files.
74550
74551 2006-08-29  Jim Meyering  <jim@meyering.net>
74552
74553         * modules/configmake (Makefile.am): Make configmake.h depend on
74554         Makefile.  Otherwise, a stale configmake.h could hang around.
74555
74556 2006-08-29  Eric Blake  <ebb9@byu.net>
74557
74558         * lib/error.c (error_at_line, print_errno_message): Match libc, after
74559         resolution of upstream bug 3044.
74560
74561 2006-08-29  Bruno Haible  <bruno@clisp.org>
74562
74563         * modules/localcharset (Depends-on): Add configmake.
74564         (Makefile.am): Remove setting of LIBDIR through DEFS.
74565
74566 2006-08-29  Bruno Haible  <bruno@clisp.org>
74567
74568         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
74569         defined.
74570
74571 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74572
74573         * modules/fcntl: New file.
74574         * modules/chdir-safer (Depends-on): Add fcntl.
74575         * modules/fts: Likewise.
74576         * modules/mkdir-p: Likewise.
74577
74578         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
74579         This undoes the most recent change, since we're now addressing the
74580         problem in a different way.
74581
74582         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
74583         into output, since the output might be called Makefile.am even
74584         if $makefile_name is something different.
74585         (func_import): Use $makefile_am rather than
74586         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
74587         empty.
74588
74589         * modules/inttypes (Files): Add m4/inttypes-h.m4.
74590
74591 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74592
74593         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
74594         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
74595         recent change to stdint.m4, since we're now addressing the problem in a
74596         different way.
74597
74598 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74599
74600         * m4/fcntl_h.m4: New file.
74601
74602 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
74603
74604         * lib/fcntl_.h: New file.
74605         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
74606         the fcntl module.
74607         * lib/dirchownmod.c: Likewise.
74608         * lib/fts.c: Likewise.
74609
74610         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
74611         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
74612         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
74613         just before including <inttypes.h>, to avoid circular inclusion.
74614
74615 2006-08-28  Jim Meyering  <jim@meyering.net>
74616
74617         * doc/visibility.texi: Actually read and correct the grammar of the
74618         sentence affected by yesterday's change.
74619
74620 2006-08-28  Eric Blake  <ebb9@byu.net>
74621
74622         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
74623         needs wrapper.
74624
74625 2006-08-28  Eric Blake  <ebb9@byu.net>
74626
74627         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
74628
74629 2006-08-28  Eric Blake  <ebb9@byu.net>
74630
74631         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
74632
74633 2006-08-28  Bruno Haible  <bruno@clisp.org>
74634
74635         * modules/c-strstr: New file, from GNU gettext.
74636         * MODULES.html.sh (String handling): Add c-strstr.
74637
74638 2006-08-28  Bruno Haible  <bruno@clisp.org>
74639
74640         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
74641         macros.
74642         Reported by Eric Blake.
74643
74644 2006-08-28  Bruno Haible  <bruno@clisp.org>
74645
74646         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
74647         (VASNPRINTF): Return a string of length > INT_MAX without failing.
74648         * lib/vasprintf.c: Include errno.h, limits.h.
74649         (EOVERFLOW): New fallback definition.
74650         (vasprintf): Test here whether the string length is > INT_MAX.
74651         * lib/vsnprintf.c: Include errno.h, limits.h.
74652         (EOVERFLOW): New fallback definition.
74653         (vsnprintf): Fix bug when generated string was too long for the buffer.
74654         Test here whether the string length is > INT_MAX.
74655
74656 2006-08-28  Bruno Haible  <bruno@clisp.org>
74657
74658         * lib/inttypes_.h (SCNX*): Remove definitions.
74659         Reported by Eric Blake.
74660
74661 2006-08-28  Bruno Haible  <bruno@clisp.org>
74662
74663         * lib/c-strstr.h: New file, from GNU gettext.
74664         * lib/c-strstr.c: New file, from GNU gettext.
74665
74666 2006-08-28  Bruno Haible  <bruno@clisp.org>
74667
74668         * gnulib-tool: Reorder some statements.
74669
74670 2006-08-28  Bruno Haible  <bruno@clisp.org>
74671
74672         * gnulib-tool: New option --makefile-name.
74673         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
74674         $makefile_name.
74675         (func_import): Write $makefile_name to the cache file, and read it from
74676         there unless explicitly specified. Use $makefile_name as file name
74677         instead of Makefile.am. Adjust the recommendations accordingly.
74678
74679 2006-08-28  Bruno Haible  <bruno@clisp.org>
74680
74681         * gnulib-tool (func_verify_module): Check against misapplying patch.
74682
74683 2006-08-28  Bruno Haible  <bruno@clisp.org>
74684
74685         * gnulib-tool (func_relativize, func_relconcat): New functions.
74686         Give an error if --local-dir is given with --update.
74687         Remove trailing slashes from $local_gnulib_dir.
74688         (func_import): Store the relativized $local_gnulib_dir in
74689         gnulib-cache.m4, and read it from there if not specified explicitly.
74690
74691 2006-08-28  Bruno Haible  <bruno@clisp.org>
74692
74693         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
74694         is the current directory. Respect also $local_gnulib_dir.
74695
74696 2006-08-28  Bruno Haible  <bruno@clisp.org>
74697             Simon Josefsson  <jas@extundo.com>
74698
74699         BeOS portability.
74700         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
74701
74702 2006-08-27  Jim Meyering  <jim@meyering.net>
74703
74704         * doc/visibility.texi: Remove duplicate word: "pointer".
74705
74706 2006-08-26  Bruno Haible  <bruno@clisp.org>
74707
74708         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
74709         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
74710         (Makefile.am): Create inttypes.h from inttypes_.h.
74711         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
74712
74713         * modules/imaxabs: New file.
74714
74715         * modules/imaxdiv: New file.
74716
74717 2006-08-26  Bruno Haible  <bruno@clisp.org>
74718
74719         * m4/inttypes.m4: New file.
74720         * m4/_inttypes_h.m4: Remove file.
74721         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
74722         PRI_MACROS_BROKEN.
74723         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
74724
74725         * m4/imaxabs.m4: New file.
74726
74727         * m4/imaxdiv.m4: New file.
74728
74729 2006-08-26  Bruno Haible  <bruno@clisp.org>
74730
74731         * lib/inttypes_.h: New file.
74732         * lib/inttypes.h: Remove file.
74733         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
74734
74735         * lib/imaxabs.c: New file.
74736
74737         * lib/imaxdiv.c: New file.
74738
74739 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74740
74741         New config-h module, so that "make" output needn't be cluttered
74742         by -DHAVE_CONFIG_H.
74743         * MODULES.html.sh (Support for building libraries and executables):
74744         Add config-h.
74745         * modules/config-h: New file.
74746         * gnulib-tool (nl, sed_transform_lib_file): New vars.
74747         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
74748         the config-h module is used.
74749
74750         New configmake module, so that "make" output needn't be cluttered
74751         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
74752         * MODULES.html.sh (Support for building libraries and executables):
74753         Add configmake.
74754         * modules/configmake: New file.
74755
74756 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
74757
74758         * m4/config-h.m4: New file.
74759
74760 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74761
74762         * config/srclist.txt: Add elisp-comp.
74763
74764 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
74765
74766         * MODULES.html.sh (Support for building libraries and executables):
74767         Add elisp-comp.
74768         * build-aux/elisp-comp: New file.
74769         * modules/elisp-comp: New file.
74770
74771 2006-08-24  Bruno Haible  <bruno@clisp.org>
74772
74773         * gnulib-tool (func_create_testdir): Use non-default values of
74774         sourcebase and m4base.
74775
74776 2006-08-24  Bruno Haible  <bruno@clisp.org>
74777
74778         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
74779         HTML structure.
74780
74781 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
74782
74783         * modules/openat (Depends-on): Add lchown.
74784
74785 2006-08-23  Bruno Haible  <bruno@clisp.org>
74786
74787         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
74788         of gl_LOCK_EARLY instead of gl_LOCK.
74789
74790 2006-08-23  Bruno Haible  <bruno@clisp.org>
74791
74792         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
74793         on OSF/1 to no.
74794         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
74795
74796 2006-08-23  Bruno Haible  <bruno@clisp.org>
74797
74798         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
74799         as unusable.
74800
74801         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
74802         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
74803         (gl_LOCK): New macro.
74804
74805 2006-08-22  Simon Josefsson  <jas@extundo.com>
74806
74807         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
74808         to md5 module.
74809
74810 2006-08-22  Simon Josefsson  <jas@extundo.com>
74811
74812         * MODULES.html.sh: Add "Support for maintaining and release
74813         projects".
74814
74815         * build-aux/gnupload: New file, from coreutils.
74816
74817 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74818
74819         Avoid the need for AC_LIBSOURCES in m4 macros.
74820         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
74821         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
74822         * modules/check-version (EXTRA_DIST): Add check-version.h.
74823         * modules/crc (EXTRA_DIST): Add crc.h.
74824         * modules/des (EXTRA_DIST): Add des.h.
74825         * modules/gc (EXTRA_DIST): Add gc.h.
74826         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
74827         * modules/getline (EXTRA_DIST): Add getline.h.
74828         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
74829         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
74830         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
74831         * modules/md2 (EXTRA_DIST): Add md2.h.
74832         * modules/md4 (EXTRA_DIST): Add md4.h.
74833         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
74834         * modules/read-file (EXTRA_DIST): Add read-file.h.
74835         * modules/readline (EXTRA_DIST): Add readline.h.
74836         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
74837         rijndael-api-fst.h.
74838
74839 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74840
74841         * m4/rijndael.m4 (gl_ARCFOUR):
74842         * m4/arctwo.m4 (gl_ARCTWO):
74843         * m4/check-version.m4 (gl_CHECK_VERSION):
74844         * m4/crc.m4 (gl_CRC):
74845         * m4/des.m4 (gl_DES):
74846         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
74847         * m4/gc.m4 (gl_GC):
74848         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
74849         * m4/getline.m4 (gl_FUNC_GETLINE):
74850         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
74851         * m4/hmac-md5.m4 (gl_HMAC_MD5):
74852         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
74853         * m4/md2.m4 (gl_MD2):
74854         * m4/md4.m4 (gl_MD4):
74855         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
74856         * m4/read-file.m4 (gl_FUNC_READ_FILE):
74857         * m4/readline.m4 (gl_FUNC_READLINE):
74858         * m4/rijndael.m4 (gl_RIJNDAEL):
74859         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
74860         to get the necessary .h files and whatnot.
74861
74862 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
74863
74864         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
74865         gnulib rather than the other way around.
74866         * config/srclistvars.sh (COREUTILS): Remove.
74867
74868 2006-08-22  Jim Meyering  <jim@meyering.net>
74869
74870         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
74871
74872         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
74873
74874 2006-08-22  Eric Blake  <ebb9@byu.net>
74875
74876         * modules/regexprops-generic: New file.
74877         * MODULES.html.sh (Support for building documentation): List it.
74878
74879 2006-08-22  Eric Blake  <ebb9@byu.net>
74880
74881         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
74882         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
74883         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
74884         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
74885
74886 2006-08-22  Bruno Haible  <bruno@clisp.org>
74887
74888         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
74889         and lib_LTLIBRARIES like the other lib_* variables.
74890
74891 2006-08-22  Bruno Haible  <bruno@clisp.org>
74892
74893         * build-aux/x-to-1.in: New file, from GNU gettext.
74894
74895 2006-08-22  Bruno Haible  <bruno@clisp.org>
74896
74897         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
74898         <utmpx.h> exists.
74899
74900 2006-08-22  Bruno Haible  <bruno@clisp.org>
74901
74902         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
74903         <utmpx.h> exists.
74904
74905 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74906
74907         BeOS portability.
74908         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
74909         exist.
74910         Problem reported by Bruno Haible.
74911
74912 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
74913
74914         Avoid the need for AC_LIBSOURCES in m4 macros.
74915         * modules/acl (EXTRA_DIST): Add acl.h.
74916         * modules/argmatch (Files): Add m4/argmatch.m4.
74917         (configure.ac): Add gl_ARGMATCH.
74918         (EXTRA_DIST): Renamed from lib_SOURCES, for
74919         consistency with the other modules.  Remove argmatch.c.
74920         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
74921         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
74922         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
74923         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
74924         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
74925         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
74926         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
74927         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
74928         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
74929         * modules/closeout (EXTRA_DIST): Add closeout.h.
74930         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
74931         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
74932         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
74933         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
74934         dirname.h; remove basename.c and stripslash.c.
74935         * modules/exclude (EXTRA_DIST): Add exclude.h.
74936         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
74937         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
74938         * modules/file-type (EXTRA_DIST): Add file-type.h.
74939         * modules/filemode (EXTRA_DIST): Add filemode.h.
74940         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
74941         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74942         * modules/fpending (EXTRA_DIST): Add __fpending.h.
74943         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
74944         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
74945         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
74946         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
74947         * modules/getdate (EXTRA_DIST): Add getdate.c.
74948         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
74949         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
74950         * modules/getpass (EXTRA_DIST): Add getpass.h.
74951         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
74952         * modules/group-member (EXTRA_DIST): Add group-member.h.
74953         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
74954         * modules/hash (EXTRA_DIST): Add hash.h.
74955         * modules/human (EXTRA_DIST): Add human.h.
74956         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
74957         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
74958         * modules/lchown (EXTRA_DIST): Add lchown.h.
74959         * modules/long-options (EXTRA_DIST): Add long-options.h.
74960         * modules/lstat (EXTRA_DIST): Add lstat.h.
74961         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
74962         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
74963         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
74964         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
74965         * modules/memxor (EXTRA_DIST): Add memxor.h.
74966         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
74967         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
74968         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
74969         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
74970         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
74971         * modules/physmem (EXTRA_DIST): Add physmem.h.
74972         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
74973         * modules/posixver (EXTRA_DIST): Add posixver.h.
74974         * modules/quote (EXTRA_DIST): Add quote.h.
74975         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
74976         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
74977         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
74978         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
74979         regex_internal.h regexec.c.
74980         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
74981         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
74982         * modules/same (EXTRA_DIST): Add same.h.
74983         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
74984         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
74985         * modules/savedir (EXTRA_DIST): Add savedir.h.
74986         * modules/sha1 (EXTRA_DIST): Add sha1.h.
74987         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
74988         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
74989         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
74990         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
74991         * modules/strdup (EXTRA_DIST): Add strdup.h.
74992         * modules/strftime (EXTRA_DIST): Add strftime.h.
74993         * modules/strndup (EXTRA_DIST): Add strndup.h.
74994         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
74995         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
74996         * modules/time_r (EXTRA_DIST): Add time_r.h.
74997         * modules/timespec (EXTRA_DIST): Add timespec.h.
74998         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
74999         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
75000         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
75001         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
75002         * modules/userspec (EXTRA_DIST): Add userspec.h.
75003         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
75004         * modules/utimens (EXTRA_DIST): Add utimens.h.
75005         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
75006         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
75007         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
75008         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
75009         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
75010         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
75011         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
75012         * modules/yesno (EXTRA_DIST): Add yesno.h.
75013
75014 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75015
75016         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
75017
75018         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
75019         * m4/dev-ino.m4, same-inode.m4: Remove.
75020
75021         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
75022         * m4/acl.m4 (AC_FUNC_ACL):
75023         * m4/backupfile.m4 (gl_BACKUPFILE):
75024         * m4/c-strtod.m4 (gl_C99_STRTOLD):
75025         * m4/canon-host.m4 (gl_CANON_HOST):
75026         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75027         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
75028         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
75029         * m4/cloexec.m4 (gl_CLOEXEC):
75030         * m4/close-stream.m4 (gl_CLOSE_STREAM):
75031         * m4/closeout.m4 (gl_CLOSEOUT):
75032         * m4/dirfd.m4 (gl_FUNC_DIRFD):
75033         * m4/dirname.m4 (gl_DIRNAME):
75034         * m4/exclude.m4 (gl_EXCLUDE):
75035         * m4/exitfail.m4 (gl_EXITFAIL):
75036         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
75037         * m4/file-type.m4 (gl_FILE_TYPE):
75038         * m4/filemode.m4 (gl_FILEMODE):
75039         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
75040         * m4/fpending.m4 (gl_FUNC_FPENDING):
75041         * m4/fprintftime.m4 (gl_FPRINTFTIME):
75042         * m4/fts.m4 (gl_FUNC_FTS):
75043         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
75044         * m4/getdate.m4 (gl_GETDATE):
75045         * m4/gethrxtime.m4 (gl_GETHRXTIME):
75046         * m4/getpagesize.m4 (gl_GETPAGESIZE):
75047         * m4/getpass.m4 (gl_FUNC_GETPASS):
75048         * m4/gettime.m4 (gl_GETTIME):
75049         * m4/getugroups.m4 (gl_GETUGROUPS):
75050         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
75051         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
75052         * m4/hard-locale.m4 (gl_HARD_LOCALE):
75053         * m4/hash.m4 (gl_HASH):
75054         * m4/idcache.m4 (gl_IDCACHE):
75055         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
75056         * m4/lchown.m4 (gl_FUNC_LCHOWN):
75057         * m4/long-options.m4 (gl_LONG_OPTIONS):
75058         * m4/lstat.m4 (gl_FUNC_LSTAT):
75059         * m4/md5.m4 (gl_MD5):
75060         * m4/memcasecmp.m4 (gl_MEMCASECMP):
75061         * m4/memcoll.m4 (gl_MEMCOLL):
75062         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
75063         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
75064         * m4/memxor.m4 (gl_MEMXOR):
75065         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
75066         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
75067         * m4/modechange.m4 (gl_MODECHANGE):
75068         * m4/mountlist.m4 (gl_MOUNTLIST):
75069         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75070         * m4/openat.m4 (gl_FUNC_OPENAT):
75071         * m4/pathmax.m4 (gl_PATHMAX):
75072         * m4/physmem.m4 (gl_PHYSMEM):
75073         * m4/posixtm.m4 (gl_POSIXTM):
75074         * m4/posixver.m4 (gl_POSIXVER):
75075         * m4/quote.m4 (gl_QUOTE):
75076         * m4/quotearg.m4 (gl_QUOTEARG):
75077         * m4/readtokens.m4 (gl_READTOKENS):
75078         * m4/readutmp.m4 (gl_READUTMP):
75079         * m4/regex.m4 (gl_REGEX):
75080         * m4/safe-read.m4 (gl_SAFE_READ):
75081         * m4/safe-write.m4 (gl_SAFE_WRITE):
75082         * m4/same.m4 (gl_SAME):
75083         * m4/save-cwd.m4 (gl_SAVE_CWD):
75084         * m4/savedir.m4 (gl_SAVEDIR):
75085         * m4/settime.m4 (gl_SETTIME):
75086         * m4/sha1.m4 (gl_SHA1):
75087         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
75088         * m4/stat-macros.m4 (gl_STAT_MACROS):
75089         * m4/stat-time.m4 (gl_STAT_TIME):
75090         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
75091         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
75092         * m4/strdup.m4 (gl_FUNC_STRDUP):
75093         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
75094         * m4/strndup.m4 (gl_FUNC_STRNDUP):
75095         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
75096         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
75097         * m4/time_r.m4 (gl_TIME_R):
75098         * m4/timespec.m4 (gl_TIMESPEC):
75099         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
75100         * m4/unlinkdir.m4 (gl_UNLINKDIR):
75101         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
75102         * m4/userspec.m4 (gl_USERSPEC):
75103         * m4/utimecmp.m4 (gl_UTIMECMP):
75104         * m4/utimens.m4 (gl_UTIMENS):
75105         * m4/xalloc.m4 (gl_XALLOC):
75106         * m4/xgetcwd.m4 (gl_XGETCWD):
75107         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
75108         * m4/xreadlink.m4 (gl_XREADLINK):
75109         * m4/xstrtod.m4 (gl_XSTRTOD):
75110         * m4/yesno.m4 (gl_YESNO):
75111         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75112         to get the necessary .h files and whatnot.
75113
75114 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
75115             Bruno Haible  <bruno@clisp.org>
75116
75117         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
75118         /bin/sh understanding of '!' conditional negation.
75119
75120 2006-08-21  Jim Meyering  <jim@meyering.net>
75121
75122         * modules/openat (Depends-on): Really alphabetize.
75123
75124         * modules/acl (Depends-on): Add error and quote.
75125
75126         * check-module (find_included_lib_files): Add at-func.c to the
75127         ok-to-include-more-than-once white list.
75128
75129         * modules/openat (Depends-on): Add lstat.  Alphabetize.
75130
75131 2006-08-21  Bruno Haible  <bruno@clisp.org>
75132
75133         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75134         Emit a pkgdata_DATA variable only if some snippets add contents to it.
75135         Reported by Martin Lambers <marlam@marlam.de>.
75136
75137 2006-08-21  Bruno Haible  <bruno@clisp.org>
75138
75139         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
75140         specify an installation location, don't emit a noinst_LIBRARIES or
75141         noinst_LTLIBRARIES assignment.
75142
75143 2006-08-21  Bruno Haible  <bruno@clisp.org>
75144
75145         BeOS portability.
75146         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
75147         BeOS has mbrtowc() but no <wctype.h>.
75148
75149 2006-08-21  Bruno Haible  <bruno@clisp.org>
75150
75151         BeOS portability.
75152         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
75153         exist.
75154
75155 2006-08-21  Bruno Haible  <bruno@clisp.org>
75156
75157         BeOS portability.
75158         * lib/mbchar.h: Include <wctype.h> only if it exists.
75159
75160 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75161
75162         Remove files that are no longer needed by their respective modules.
75163         * m4/obstack.m4: Remove.
75164         * m4/strerror_r.m4: Remove.
75165         * m4/uint32_t.m4: Remove.
75166         * m4/uintptr_t.m4: Remove.
75167         * m4/ullong_max.m4: Remove.
75168         * m4/xstrtoimax.m4: Remove.
75169         * m4/xstrtoumax.m4: Remove.
75170
75171         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
75172         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
75173         dependencies now capture this.
75174
75175         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
75176         Do not use AC_LIBSOURCES, since gnulib modules now do this.
75177         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
75178         * m4/human.m4 (gl_HUMAN): Likewise.
75179         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
75180         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
75181
75182         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
75183
75184         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
75185         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
75186         stdint.
75187         * m4/human.m4 (gl_HUMAN): Likewise.
75188         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
75189         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
75190         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75191         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75192         * m4/xstrtol (gl_XSTRTOL): Likewise.
75193
75194         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
75195         AC_TYPE_LONG_LONG_INT.
75196         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
75197         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
75198         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
75199         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
75200
75201         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
75202         on stdbool.
75203
75204         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
75205         (gl_PREREQ_XSTRTOUL): Remove.
75206
75207         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
75208
75209         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
75210         mode.
75211
75212 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75213
75214         Add and change modules to make it easier for coreutils to use
75215         gnulib-tool.
75216         * modules/backupfile (Files): Remove m4/d-ino.m4.
75217         (Depends-on): Add d-ino.
75218         * modules/cycle-check (Depends-on): Add stdint.
75219         (lib_SOURCES): Add cycle-check.h.
75220         * modules/d-ino: New module.
75221         * modules/d-type: New module.
75222         * modules/error (Files): Remove m4/strerror_r.m4.
75223         * modules/filemode (Files): Add m4/st_dm_mode.m4.
75224         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75225         m4/inttypes_h.m4, m4/uintmax_t.m4.
75226         (Depends-on): Add stdint.
75227         (lib_SOURCES): Add fsusage.h.
75228         * modules/getcwd (Files): Remove d-ino.m4.
75229         (Depends-on): Add d-ino.
75230         * modules/getndelim2 (Depends-on): Add stdint.
75231         * modules/glob (Files): Remove m4/d-type.m4.
75232         (Depends-on): Add d-type.
75233         * modules/host-os: New module.
75234         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
75235         m4/inttypes_h.m4, m4/uintmax_t.m4.
75236         * Depends-on: Add stdint.
75237         (lib_SOURCES): Add human.h.
75238         * modules/inttostr (Files): Remove m4/intmax_t.m4,
75239         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
75240         m4/uintmax_t.m4, m4/ulonglong.m4.
75241         (Depends-on): Add stdint.
75242         (EXTRA_DIST): Add inttostr.h.
75243         * modules/lchmod: New module.
75244         * modules/link-follow: New module.
75245         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
75246         (Depends-on): Add lchmod.
75247         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
75248         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
75249         (Depends-on): Add stdint.
75250         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
75251         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
75252         (Depends-on): Add stdint.
75253         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
75254         * modules/perl: New module.
75255         * modules/regex (Depends-on): Add stdint.
75256         * modules/rmdir-errno: New module.
75257         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75258         m4/intmax_t.m4.
75259         (Depends-on): Add stdint.
75260         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
75261         m4/uintmax_t.m4.
75262         (Depends-on): Add stdint.
75263         * modules/unlink-busy: New module.
75264         * modules/utimecmp (Depends-on): Add stdint.
75265         * modules/uptime: New module.
75266         * modules/winsz-ioctl: New module.
75267         * modules/winsz-termios: New module.
75268         * modules/xnanosleep (Depends-on): Add nanosleep.
75269         * modules/ullong_max: Remove.
75270         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
75271         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
75272         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
75273         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
75274         (Depends-on): Add inttypes.
75275         (lib_SOURCES): Add xstrtol.h.
75276         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
75277         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
75278         * MODULES.html.sh: Move 'assert' into the assert section.
75279         Move 'dummy' into the linking section.
75280         Remove ullong_max.
75281         Add section for compatibility checks for POSIX:2001 functions,
75282         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
75283         winsz-ioctl, and winsz-termios into it.
75284         Add lchmod.
75285         Add top-level Misc section and put host-os, perl, and uptime
75286         into it.
75287
75288 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75289
75290         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
75291         now assume the stdint module.  Do not include inttypes.h.
75292         * lib/fsusage.h: Likewise.
75293         * lib/getndelim2.c: Likewise.
75294         * lib/human.h: Likewise.
75295         * lib/inttostr.h: Likewise.
75296         * lib/obstack.c: Likewise.
75297         * lib/regex_internal.h: Likewise.
75298         * lib/tempname.c: Likewise.
75299         * lib/utimecmp.c: Likewise.
75300         * lib/xstrtol.h: Likewise.
75301
75302         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
75303
75304         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
75305         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
75306         * lib/xtime.h: Likewise.
75307
75308 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75309
75310         * modules/openat (Files): Add lib/fchmodat.c.
75311         Fixes problem reported by Jay Youngman.
75312
75313 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75314
75315         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
75316         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
75317
75318 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
75319             Bruno Haible  <bruno@clisp.org>
75320
75321         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
75322         and is a script that invokes bison. Tighten the code. Add comments.
75323
75324 2006-08-18  Jim Meyering  <jim@meyering.net>
75325
75326         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
75327         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
75328         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
75329         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
75330
75331 2006-08-18  Bruno Haible  <bruno@clisp.org>
75332
75333         * modules/bison-i18n: New file.
75334         * MODULES.html.sh (Internationalization functions): Add it.
75335
75336 2006-08-18  Bruno Haible  <bruno@clisp.org>
75337
75338         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
75339         sys/statvfs.h. When getmntinfo was found, check its declaration and
75340         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
75341
75342 2006-08-18  Bruno Haible  <bruno@clisp.org>
75343
75344         * m4/bison-i18n.m4: New file, from bison.
75345
75346 2006-08-18  Bruno Haible  <bruno@clisp.org>
75347
75348         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
75349         (ME_DUMMY): Treat "kernfs" as a dummy.
75350         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
75351
75352 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75353
75354         Update from coreutils.
75355
75356         2006-08-15  Jim Meyering  <jim@meyering.net>
75357
75358         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
75359
75360         2006-01-17  Jim Meyering  <jim@meyering.net>
75361
75362         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
75363
75364         2006-01-11  Jim Meyering  <jim@meyering.net>
75365
75366         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
75367         Check for the lchmod function.
75368
75369 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75370
75371         Update from coreutils.
75372
75373         * lib/__fpending.h: Add copyright notice.
75374         * lib/fprintftime.h: Likewise.
75375         * lib/savedir.c: Use (C) in copyright notice.
75376         * lib/savedir.h: Likewise.
75377
75378         2006-08-15  Jim Meyering  <jim@meyering.net>
75379
75380         * lib/at-func.c: New file, with the logic of all emulated at-functions.
75381         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
75382         in support of the EXPECTED_ERRNO macro.
75383         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
75384         definitions.  Instead, define the appropriate symbols and include
75385         "at-func.c".
75386         * lib/mkdirat.c (mkdirat): Likewise.
75387         * lib/fchmodat.c (fchmodat): Likewise.
75388         (ENOSYS): Remove definition.
75389         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
75390         it.  Don't include "unistd--.h" -- it wasn't ever used.
75391
75392         2006-01-17  Jim Meyering  <jim@meyering.net>
75393
75394         Rewrite fts.c not to change the current working directory,
75395         by using openat, fstatat, fdopendir, etc..
75396
75397         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
75398         (HAVE_OPENAT_SUPPORT): Define.
75399         [_LIBC] (fchdir): Don't undef or define; no longer used.
75400         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
75401         Now, this `function' always succeeds, and consumes its file descriptor
75402         parameter -- so callers must not close such FDs.  Update callers.
75403         (diropen_fd, opendirat, cwd_advance_fd): New functions.
75404         (diropen): Add parameter, SP.  Adjust all callers.
75405         Implement using diropen_fd, rather than open.
75406         (fts_open): Initialize new member, fts_cwd_fd.
75407         Remove fts_rft-setting code.
75408         (fts_close): Close fts_cwd_fd, if necessary.
75409         (__opendir2): Define in terms of opendir or opendirat,
75410         depending on whether the FST_NOCHDIR flag is set.
75411         (fts_build): Since fts_safe_changedir consumes its FD, and since
75412         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
75413         and close the dup'd file descriptor upon failure.
75414         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
75415         (fts_safe_changedir): Tweak semantics to reflect that this function
75416         now calls cwd_advance_fd and hence consumes its FD argument.
75417         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
75418         [struct FTS] (fts_rft): Remove now-unused member.
75419         [struct FTS] (fts_cycle.state): Improve comment.
75420
75421         * lib/openat.c (openat_needs_fchdir): New function.
75422         * lib/openat.h (openat_needs_fchdir): Declare it.
75423
75424 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
75425
75426         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
75427         Problem and fix reported by Pádraig Brady in
75428         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
75429
75430 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75431
75432         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
75433
75434 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75435
75436         * lib/memcoll.c (memcoll): Optimize for the common case where the
75437         arguments are bytewise equal.
75438
75439 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75440
75441         * doc/regexprops-generic.texi: Add a copyright notice.
75442
75443 2006-08-15  Bruno Haible  <bruno@clisp.org>
75444
75445         * modules/tmpdir (License): Change to LGPL.
75446
75447 2006-08-15  Bruno Haible  <bruno@clisp.org>
75448
75449         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
75450         module.
75451
75452 2006-08-14  Simon Josefsson  <jas@extundo.com>
75453
75454         * config/srclist.txt: Add gnupload.
75455
75456 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75457
75458         Change copyright notice from LGPL 2 to GPL 2, since that's the
75459         standard form used in the gnulib repository.
75460         * tests/test-lock.c: Likewise.
75461         * tests/test-stdint.c: Likewise.
75462         * tests/test-tls.c: Likewise.
75463
75464         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
75465         prelude-manager.  User shorter URLs for GNU projects, without '?'.
75466         Add copyright notice.
75467
75468         * check-module: Add copyright notice.  Output a copyright
75469         notice if "--version" is specified.
75470         * modules/COPYING: New file.
75471         * tests/test-getaddrinfo.c: Add copyright notice.
75472         * tests/test-verify.c: Likewise.
75473
75474 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75475
75476         Change copyright notice from LGPL 2 to GPL 2, since that's the
75477         standard form used in the gnulib repository.
75478         * lib/lock.c: LGPL -> GPL.
75479         * lib/lock.h: Likewise.
75480         * lib/strnlen1.c: Likewise.
75481         * lib/strnlen1.h: Likewise.
75482         * lib/tls.c: Likewise.
75483         * lib/tls.h: Likewise.
75484         * lib/tmpdir.c: Likewise.
75485
75486         * lib/TODO: Remove; this belongs only in coreutils.
75487
75488 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75489
75490         Add copyright notices to long-enough files that lack them, since
75491         otherwise the files aren't clearly free.  Use the same notice that
75492         getdate.texi already uses.
75493         * doc/alloca-opt.texi: Add copyright notice.
75494         * doc/alloca.texi: Likewise.
75495         * doc/ctime.texi: Likewise.
75496         * doc/functions.texi: Likewise.
75497         * doc/gcd.texi: Likewise.
75498         * doc/gnulib-tool.texi: Likewise.
75499         * doc/inet_ntoa.texi: Likewise.
75500         * doc/visibility.texi: Likewise.
75501
75502         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
75503         * doc/quote.texi: Add copyright notice.
75504
75505         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
75506         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
75507         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
75508         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
75509         is now obsolete, and give a pointer to the Sun list.
75510         Add copyright notice.
75511
75512 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
75513
75514         * config/srclistvars.sh: Add copyright notice.
75515
75516 2006-08-14  Eric Blake  <ebb9@byu.net>
75517
75518         Import the following change from libc:
75519
75520         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
75521
75522         Upstream bug 2997.
75523         * lib/misc/error.c: Add space between program name and message if file
75524         name is missing.
75525
75526 2006-08-12  Karl Berry  <karl@gnu.org>
75527
75528         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
75529         remove, these originate in gnulib now.
75530
75531 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75532
75533         * doc/Makefile (standards.info standards.html standards.dvi):
75534         Also depend on make-stds.texi.
75535
75536 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75537
75538         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
75539         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
75540
75541         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
75542         in wchar_t.  Problem reported by Eric Blake.
75543
75544         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
75545         LEN is smaller than SIZE.  Suggested by Bruno Haible.
75546         Also, help the compiler to keep LEN in a register.
75547
75548 2006-08-11  Eric Blake  <ebb9@byu.net>
75549
75550         * users.txt: Sort.  Add tar.
75551
75552 2006-08-11  Bruno Haible  <bruno@clisp.org>
75553
75554         * users.txt: New file.
75555
75556 2006-08-11  Bruno Haible  <bruno@clisp.org>
75557
75558         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
75559         before <wchar.h>. Needed for OSF/1 and BSD/OS.
75560
75561 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75562
75563         * modules/snprintf (Depends-on): Remove minmax.
75564         (Maintainer): Add self and Bruno.
75565
75566 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
75567
75568         * lib/.cppi-disable: Add snprintf.h, socket_.h.
75569         * lib/snprintf.c: Include <errno.h> and <limits.h>.
75570         (EOVERFLOW): Define if the system does not.
75571         Do not include "minmax.h"; it wasn't used.
75572         (snprintf): Don't assume size_t promotes to an unsigned type.
75573         Fix bug when generated string was too long for the buffer: the
75574         buffer's contents are supposed to be the initial prefix of the
75575         output.  Don't assume vasnprintf returns EOVERFLOW if the size
75576         exceeds INT_MAX; do the check ourselves.
75577
75578         Import the following changes from libc:
75579
75580         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
75581
75582         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
75583         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
75584         set wc to the byte which couldn't be converted.
75585         (re_string_reconstruct): Don't clear valid_raw_len before calling
75586         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
75587         tip_context using re_string_context_at.
75588
75589         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
75590
75591         * lib/posix/regex.h: g++ still cannot handled [restrict].
75592
75593         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
75594
75595         * lib/posix/regex.h: Remove special handling for VMS.
75596
75597 2006-08-10  Jim Meyering  <jim@meyering.net>
75598
75599         * modules/same-inode: New module.
75600         * modules/dev-ino: New module.
75601         * modules/cycle-check: Depend on these modules, rather than simply
75602         including their .h files.
75603         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
75604         required via m4/cycle-check.m4.
75605         * modules/same: Depend on new same-inode module, rather than
75606         including same-inode.h.
75607         * modules/chdir-safer: New file.
75608
75609         * modules/chown (Depends-on): Add stat-macros.
75610
75611 2006-08-10  Jim Meyering  <jim@meyering.net>
75612
75613         * m4/cycle-check.m4: New file.
75614         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
75615         * m4/dev-ino.m4, m4/same-inode.m4: New files.
75616
75617 2006-08-10  Eric Blake  <ebb9@byu.net>
75618
75619         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
75620         in from original proposal.
75621
75622 2006-08-10  Eric Blake  <ebb9@byu.net>
75623         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75624
75625         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
75626         namespace.
75627
75628 2006-08-10  Bruno Haible  <bruno@clisp.org>
75629
75630         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
75631         as well.
75632
75633 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75634
75635         Sync from coreutils.
75636
75637         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
75638
75639         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
75640         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
75641
75642 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75643
75644         * modules/restrict: Remove; no longer needed now that we assume
75645         Autoconf 2.59 or later.
75646         * MODULES.html.sh: Remove 'restrict'.
75647         * modules/argp (Depends-on): Remove 'restrict'.
75648         * modules/base64 (Depends-on): Likewise.
75649         * modules/gc (Depends-on): Likewise.
75650         * modules/getaddrinfo (Depends-on): Likewise.
75651         * modules/glob (Depends-on): Likewise.
75652         * modules/inet_ntop (Depends-on): Likewise.
75653         * modules/inet_pton (Depends-on): Likewise.
75654         * modules/memxor (Depends-on): Likewise.
75655         * modules/regex (Depends-on): Likewise.
75656         * modules/strtok_r (Depends-on): Likewise.
75657         * modules/time_r (Depends-on): Likewise.
75658
75659 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75660
75661         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
75662         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
75663         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75664         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
75665         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
75666         * m4/memxor.m4 (gl_MEMXOR): Likewise.
75667         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
75668         gl_C_RESTRICT replaced by AC_C_RESTRICT.
75669
75670         Merge from coreutils.
75671         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
75672         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
75673         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
75674         * m4/time_r.m4 (gl_TIME_R): Likewise.
75675
75676 2006-08-09  Karl Berry  <karl@gnu.org>
75677
75678         * config/srclist.txt: no more gettext-tools, per Bruno.
75679
75680 2006-08-08  Eric Blake  <ebb9@byu.net>
75681
75682         * modules/verror: New module.
75683         * MODULES.html.sh: Document it.
75684
75685 2006-08-08  Eric Blake  <ebb9@byu.net>
75686
75687         * lib/verror.h, lib/verror.c: New files.
75688
75689 2006-08-08  Eric Blake  <ebb9@byu.net>
75690
75691         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
75692         verror_at_line output complies with GNU Coding Standards even when
75693         file is NULL.
75694
75695 2006-08-07  Bruno Haible  <bruno@clisp.org>
75696
75697         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
75698         versions of AIX.
75699         Reported by Ralf Wildenhues.
75700
75701 2006-08-07  Bruno Haible  <bruno@clisp.org>
75702
75703         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
75704         in an AC_DEFUN. Needed so that the autoconf snippets can use
75705         AC_REQUIRE.
75706
75707 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75708
75709         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75710         Initialize pkgdata_DATA.
75711         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
75712         overriding it.
75713
75714 2006-08-06  Eric Blake  <ebb9@byu.net>
75715
75716         * lib/error.h: Fold in some upstream changes from glibc.
75717         * lib/error.c: Likewise.
75718
75719 2006-08-04  Bruno Haible  <bruno@clisp.org>
75720
75721         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75722         Make the mostlyclean-local rule depend on mostlyclean-generic.
75723         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
75724
75725 2006-07-31  Bruno Haible  <bruno@clisp.org>
75726
75727         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
75728         <stdlib.h>, <string.h>.
75729
75730 2006-07-30  Bruno Haible  <bruno@clisp.org>
75731
75732         * modules/readlink (License): Change to LGPL.
75733
75734 2006-07-30  Bruno Haible  <bruno@clisp.org>
75735
75736         * modules/javaversion (Makefile.am): Distribute javaversion.java and
75737         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
75738         set PKGDATADIR to point to it.
75739
75740 2006-07-30  Bruno Haible  <bruno@clisp.org>
75741
75742         * modules/csharpexec (configure.ac): Comment out macro invocation.
75743         * modules/javaexec (configure.ac): Likewise.
75744         * modules/javacomp-script (configure.ac): Likewise.
75745
75746         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
75747
75748 2006-07-30  Bruno Haible  <bruno@clisp.org>
75749
75750         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
75751         linked-list.
75752
75753 2006-07-30  Bruno Haible  <bruno@clisp.org>
75754
75755         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
75756
75757 2006-07-30  Bruno Haible  <bruno@clisp.org>
75758
75759         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75760         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
75761         get removed.
75762
75763 2006-07-29  Bruno Haible  <bruno@clisp.org>
75764
75765         Make it possible for gnulib-tool to work with locally modified or
75766         augmented gnulib repositories.
75767         * gnulib-tool (func_usage): Document --local-dir option.
75768         (local_gnulib_dir): New variable.
75769         Handle --local-dir option.
75770         (func_lookup_file): New function.
75771         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
75772         (func_get_description, func_get_filelist, func_get_description,
75773         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
75774         func_get_automake_snippet, func_get_include_directive,
75775         func_get_license, func_get_maintainer): Use func_lookup_file.
75776         (func_import, func_create_testdir): Use func_lookup_file.
75777
75778 2006-07-29  Bruno Haible  <bruno@clisp.org>
75779
75780         * modules/setenv (Depends-on): Add unistd.
75781
75782 2006-07-29  Bruno Haible  <bruno@clisp.org>
75783
75784         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
75785
75786 2006-07-29  Bruno Haible  <bruno@clisp.org>
75787
75788         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
75789
75790 2006-07-29  Bruno Haible  <bruno@clisp.org>
75791
75792         * gnulib-tool (import, update): If there is no Makefile.am, look at
75793         aclocal.m4, instead of bailing out.
75794
75795 2006-07-29  Bruno Haible  <bruno@clisp.org>
75796
75797         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
75798         Categorize the options by when they are useful.
75799
75800 2006-07-29  Bruno Haible  <bruno@clisp.org>
75801
75802         * gnulib-tool (func_usage): Document option --no-libtool.
75803         Handle option --no-libtool.
75804         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
75805         for changed semantics of $libtool variable.
75806         (func_import): Likewise. If libtool is not used, show this through
75807         an option --no-libtool.
75808         (func_create_testdir): Update.
75809
75810 2006-07-29  Bruno Haible  <bruno@clisp.org>
75811
75812         * gnulib-tool (func_import): Extend error message about missing
75813         --doc-base.
75814
75815 2006-07-29  Bruno Haible  <bruno@clisp.org>
75816
75817         * gnulib-tool (func_import): Don't create the $docbase directory if
75818         there is no file to store there.
75819
75820 2006-07-29  Bruno Haible  <bruno@clisp.org>
75821
75822         * gnulib-tool (autoconf_minversion): If a --dir option is given and
75823         relevant, look for configure.ac there, not in the current directory.
75824         Also use a simple search for AC_PREREQ, not "autoconf --trace".
75825
75826 2006-07-29  Bruno Haible  <bruno@clisp.org>
75827
75828         * gnulib-tool (SORT): New variable.
75829         (func_usage): Undocument --assume-autoconf option.
75830         Remove --assume-autoconf option handling.
75831         (autoconf_minversion): Determine from the contents of configure.ac.
75832         (func_import): Remove autoconf_minversion handling.
75833         Suggested by Eric Blake.
75834
75835 2006-07-29  Bruno Haible  <bruno@clisp.org>
75836
75837         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
75838
75839 2006-07-29  Bruno Haible  <bruno@clisp.org>
75840
75841         * config/srclist.txt (*setenv.[ch]): Remove rules.
75842
75843 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75844
75845         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
75846
75847 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75848
75849         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
75850         arpa/inet.h.
75851
75852 2006-07-28  Simon Josefsson  <jas@extundo.com>
75853
75854         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
75855         * modules/inet_pton (Depends-on): Likewise.
75856
75857 2006-07-28  Simon Josefsson  <jas@extundo.com>
75858
75859         * m4/netinet_in_h.m4: New file.
75860
75861 2006-07-28  Simon Josefsson  <jas@extundo.com>
75862
75863         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
75864         #include's.
75865
75866 2006-07-28  Simon Josefsson  <jas@extundo.com>
75867
75868         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
75869         #include's.
75870
75871 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
75872
75873         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
75874         setgid on directories only if they set these bits.
75875         * lib/modechange.h: Remove obsolete comment about masks.
75876
75877 2006-07-28  Eric Blake  <ebb9@byu.net>
75878
75879         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
75880         macro expansion.
75881
75882 2006-07-28  Bruno Haible  <bruno@clisp.org>
75883
75884         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
75885
75886 2006-07-28  Bruno Haible  <bruno@clisp.org>
75887
75888         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
75889
75890 2006-07-28  Bruno Haible  <bruno@clisp.org>
75891
75892         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
75893         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
75894         Define fallbacks.
75895         Avoids link error on FreeBSD 4.x.
75896         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75897
75898         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
75899         encoding.
75900         * lib/mbswidth.c (iswcntrl): Likewise.
75901
75902 2006-07-27  Bruno Haible  <bruno@clisp.org>
75903
75904         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
75905         test.
75906
75907 2006-07-27  Bruno Haible  <bruno@clisp.org>
75908
75909         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
75910         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
75911         defined.
75912
75913 2006-07-26  Eric Blake  <ebb9@byu.net>
75914
75915         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
75916
75917 2006-07-26  Eric Blake  <ebb9@byu.net>
75918
75919         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
75920         like mingw that lack mkstemp.
75921         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
75922         avoid compilation warning on mingw.
75923
75924 2006-07-26  Bruno Haible  <bruno@clisp.org>
75925
75926         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
75927         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
75928         INT_FAST*_MIN, INTPTR_MIN.
75929
75930 2006-07-25  Bruno Haible  <bruno@clisp.org>
75931
75932         * modules/version-etc (Depends-on): Add stdarg.
75933
75934 2006-07-25  Bruno Haible  <bruno@clisp.org>
75935
75936         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
75937         complex commands.
75938
75939 2006-07-25  Bruno Haible  <bruno@clisp.org>
75940
75941         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
75942         defined in <stdarg.h> or config.h.
75943
75944 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75945
75946         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
75947         (gl_STDIO_SAFER): Remove.
75948
75949 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
75950
75951         * MODULES.html.sh (File stream based Input/Output):
75952         Add fopen-safer, tmpfile-safer; remove stdio-safer.
75953         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
75954         * modules/fopen-safer, modules/tmpfile-safer: New files.
75955         * modules/stdio-safer: Remove.
75956
75957 2006-07-24  Bruno Haible  <bruno@clisp.org>
75958
75959         * modules/tmpdir: New file.
75960         * MODULES.html.sh (File system functions): Add it.
75961
75962 2006-07-24  Bruno Haible  <bruno@clisp.org>
75963
75964         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
75965         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
75966
75967 2006-07-24  Bruno Haible  <bruno@clisp.org>
75968
75969         * modules/clean-temp: New file.
75970
75971 2006-07-24  Bruno Haible  <bruno@clisp.org>
75972
75973         * m4/tmpdir.m4: New file, from GNU gettext.
75974
75975 2006-07-24  Bruno Haible  <bruno@clisp.org>
75976
75977         * lib/tmpdir.h: New file, from GNU gettext.
75978         * lib/tmpdir.c: New file, from GNU gettext.
75979
75980 2006-07-24  Bruno Haible  <bruno@clisp.org>
75981
75982         * lib/clean-temp.h: New file, from GNU gettext.
75983         * lib/clean-temp.c: New file, from GNU gettext.
75984
75985 2006-07-23  Eric Blake  <ebb9@byu.net>
75986
75987         * modules/stdio-safer (Files): Add tmpfile-safer.c.
75988         (Depends-on): Add binary-io.
75989
75990 2006-07-23  Eric Blake  <ebb9@byu.net>
75991
75992         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
75993
75994 2006-07-23  Eric Blake  <ebb9@byu.net>
75995
75996         * lib/tmpfile-safer.c: New file.
75997         * lib/stdio-safer.h (fopen_safer): Add prototype.
75998         * lib/stdio--.h (tmpfile): Make safer.
75999
76000 2006-07-23  Bruno Haible  <bruno@clisp.org>
76001
76002         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
76003         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
76004         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
76005         gl_linked_remove_at): Use it.
76006
76007 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76008         and Simon Josefsson <jas@extundo.com>
76009
76010         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
76011
76012         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
76013
76014 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76015
76016         * modules/close-stream: New file.
76017         * modules/closeout (Description): Make it clear that it exits
76018         with a diagnostic on error.
76019         (Depends-on): Add close-stream.  Remove fpending, stdbool.
76020         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
76021
76022 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76023
76024         * m4/close-stream.m4: New file.
76025
76026 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76027
76028         * lib/close-stream.c, lib/close-stream.h: New files.
76029
76030 2006-07-22  Bruno Haible  <bruno@clisp.org>
76031
76032         Merge from GNU gettext 0.15.
76033
76034         2006-05-01  Bruno Haible  <bruno@clisp.org>
76035
76036                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
76037
76038         2006-07-22  Bruno Haible  <bruno@clisp.org>
76039
76040                 * modules/javaversion: New file.
76041                 * MODULES.html.sh (Java): Add javaversion.
76042
76043         2006-03-12  Bruno Haible  <bruno@clisp.org>
76044
76045                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
76046
76047         2005-12-04  Bruno Haible  <bruno@clisp.org>
76048
76049                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
76050                 (untested).
76051
76052         2006-06-21  Bruno Haible  <bruno@clisp.org>
76053
76054                 Avoid warnings from recent versions of mcs.
76055                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
76056                 -o, -L, -r any more. Use options documented since mcs-1.0
76057                 instead. Similarly for -g.
76058
76059         2005-12-04  Bruno Haible  <bruno@clisp.org>
76060
76061                 * build-aux/csharpcomp.sh.in: Suffix for resources is
76062                 .resources, not .resource.
76063
76064         2005-07-09  Bruno Haible  <bruno@clisp.org>
76065
76066                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
76067                 add a .dll suffix.
76068                 Reported by Mark Junker <mjscod@gmx.de>.
76069
76070         2006-07-22  Bruno Haible  <bruno@clisp.org>
76071
76072                 * modules/gettext: Upgrade to gettext-0.15.
76073                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
76074                 m4/visibility.m4.
76075                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
76076
76077 2006-07-22  Bruno Haible  <bruno@clisp.org>
76078
76079         Merge from GNU gettext 0.15.
76080
76081         2006-03-25  Bruno Haible  <bruno@clisp.org>
76082
76083                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
76084
76085         2006-07-21  Bruno Haible  <bruno@clisp.org>
76086
76087                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
76088                 "1.1".
76089
76090         2006-05-09  Bruno Haible  <bruno@clisp.org>
76091
76092                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
76093                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
76094                 for the conftestver execution.
76095
76096         2006-05-01  Bruno Haible  <bruno@clisp.org>
76097
76098                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
76099                 optional target-version argument. Verify that the compiler
76100                 groks source of the specified source-version, or add -source
76101                 option as necessary. Verify that the compiler produces
76102                 bytecode in the specified target-version, or add -target and
76103                 -source options as necessary. Make the result of the test
76104                 available as variable CONF_JAVAC. Also log error output in
76105                 config.log.
76106
76107         2006-03-11  Bruno Haible  <bruno@clisp.org>
76108
76109                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
76110
76111         2006-05-09  Bruno Haible  <bruno@clisp.org>
76112
76113                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
76114                 CLASSPATH_SEPARATOR to a semicolon.
76115
76116         2006-03-12  Bruno Haible  <bruno@clisp.org>
76117
76118                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
76119                 available as variable CONF_JAVA, for subsequent autoconf
76120                 tests. Also log error output in config.log.
76121
76122         2006-07-19  Bruno Haible  <bruno@clisp.org>
76123
76124                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
76125                 that getline works on glibc2 systems. Needed to avoid trouble
76126                 in relocatable.c.
76127                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
76128
76129         2005-12-04  Bruno Haible  <bruno@clisp.org>
76130
76131                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
76132                 launcher (untested).
76133
76134         2005-12-04  Bruno Haible  <bruno@clisp.org>
76135
76136                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
76137
76138         2006-07-22  Bruno Haible  <bruno@clisp.org>
76139
76140                 * gettext.m4: Update from GNU gettext-0.15.
76141                 * nls.m4: Likewise.
76142                 * po.m4: Likewise.
76143                 * inttypes-pri.m4: Likewise.
76144                 * inttypes-h.m4: Renamed from inttypes.m4.
76145                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
76146
76147 2006-07-22  Bruno Haible  <bruno@clisp.org>
76148
76149         Merge from GNU gettext 0.15.
76150
76151         2005-07-05  Bruno Haible  <bruno@clisp.org>
76152
76153                 * printf-args.c (printf_fetchargs): Work around broken
76154                 definition of wint_t on mingw.
76155
76156         2005-02-12  Bruno Haible  <bruno@clisp.org>
76157
76158                 * xallocsa.h: Add extern "C" for C++.
76159
76160         2006-05-17  Bruno Haible  <bruno@clisp.org>
76161
76162                 Cygwin portability.
76163                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
76164
76165         2006-04-30  Bruno Haible  <bruno@clisp.org>
76166
76167                 * progreloc.c: Include <mach-o/dyld.h> if available.
76168                 (find_executable): Use _NSGetExecutablePath when possible.
76169
76170         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76171
76172                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
76173                 function.
76174
76175         2005-12-29  Bruno Haible  <bruno@clisp.org>
76176
76177                 * progreloc.c (set_program_name_and_installdir): Fix
76178                 compilation error.
76179
76180         2005-12-04  Bruno Haible  <bruno@clisp.org>
76181
76182                 Cygwin portability.
76183                 * progreloc.c: Include <windows.h> also on Cygwin.
76184                 (find_executable): Add support for Cygwin.
76185                 (set_program_name_and_installdir): Handle also platforms with
76186                 nonempty EXEEXT.
76187
76188         2006-07-11  Bruno Haible  <bruno@clisp.org>
76189
76190                 * javacomp.c: Fix a comment.
76191                 Reported by Jim Meyering.
76192
76193         2006-04-30  Bruno Haible  <bruno@clisp.org>
76194
76195                 * javacomp.h (compile_java_class): Add source_version,
76196                 target_version arguments.
76197                 * javacomp.c: Rewritten to choose only a compiler that
76198                 respects the specified source_version and target_version.
76199
76200         2006-06-27  Bruno Haible  <bruno@clisp.org>
76201
76202                 Assume correct S_ISDIR macro.
76203                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
76204
76205         2006-07-22  Bruno Haible  <bruno@clisp.org>
76206
76207                 * javaversion.h: New file, from GNU gettext.
76208                 * javaversion.c: New file, from GNU gettext.
76209                 * javaversion.java: New file, from GNU gettext.
76210                 * javaversion.class: New file, from GNU gettext.
76211
76212         2006-05-17  Bruno Haible  <bruno@clisp.org>
76213
76214                 Cygwin portability.
76215                 * javaexec.c (execute_java_class): Test for jview program
76216                 also on Cygwin.
76217
76218         2006-04-09  Bruno Haible  <bruno@clisp.org>
76219
76220                 * fatal-signal.c: Don't include string.h.
76221                 (at_fatal_signal): Use a copying loop instead of memcpy.
76222
76223         2005-12-04  Bruno Haible  <bruno@clisp.org>
76224
76225                 * csharpexec.c: Add support for 'clix' launcher (untested).
76226                 (execute_csharp_using_sscli): New function.
76227                 (execute_csharp_program): Call it.
76228
76229         2006-06-21  Bruno Haible  <bruno@clisp.org>
76230
76231                 Avoid warnings from recent versions of mcs.
76232                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
76233                 -o, -L, -r any more. Use options documented since mcs-1.0
76234                 instead. Similarly for -g.
76235
76236         2005-07-09  Bruno Haible  <bruno@clisp.org>
76237
76238                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
76239                 add a .dll suffix.
76240                 Reported by Mark Junker <mjscod@gmx.de>.
76241
76242         2006-06-17  Bruno Haible  <bruno@clisp.org>
76243
76244                 * config.charset: Update for NetBSD 3.0.
76245
76246         2006-05-17  Bruno Haible  <bruno@clisp.org>
76247
76248                 Cygwin portability.
76249                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
76250
76251         2006-05-16  Bruno Haible  <bruno@clisp.org>
76252
76253                 * localcharset.c [CYGWIN]: Include <windows.h>.
76254                 (get_charset_aliases): For Cygwin, return the same CPxxx
76255                 aliases list as under WIN32.
76256                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
76257                 the environment variables. Fall back to GetACP().
76258
76259         2006-04-05  Bruno Haible  <bruno@clisp.org>
76260
76261                 * config.charset: Update Juan Manuel Guerrero's address.
76262
76263         2005-02-12  Bruno Haible  <bruno@clisp.org>
76264
76265                 * allocsa.h: Add extern "C" for C++.
76266
76267         2005-02-10  Bruno Haible  <bruno@clisp.org>
76268
76269                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
76270                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
76271
76272         2006-07-22  Bruno Haible  <bruno@clisp.org>
76273
76274                 * gettext.h: Update to GNU gettext-0.15.
76275
76276 2006-07-22  Bruno Haible  <bruno@clisp.org>
76277
76278         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
76279         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
76280         lib-prefix.m4, longdouble.m4, ssize_t.m4.
76281
76282 2006-07-21  Eric Blake  <ebb9@byu.net>
76283
76284         * modules/stdlib-safer: New file.
76285         * MODULES.html.sh (File stream based Input/Output): Add
76286         stdlib-safer.
76287
76288 2006-07-21  Eric Blake  <ebb9@byu.net>
76289
76290         * lib/stdlib-safer.h: New file from coreutils, required by
76291         stdlib--.h.
76292
76293 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
76294
76295         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
76296
76297 2006-07-20  Bruno Haible  <bruno@clisp.org>
76298
76299         * gnulib-tool: Recognize new option --assume-autoconf.
76300         (autoconf_minversion): New variable.
76301         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
76302
76303 2006-07-20  Bruno Haible  <bruno@clisp.org>
76304
76305         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
76306
76307 2006-07-19  Derek R. Price  <derek@ximbiot.com>
76308
76309         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
76310         Reindent and repaginate.
76311
76312 2006-07-19  Derek Price  <derek@ximbiot.com>
76313
76314         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
76315         Correct grammar.
76316
76317 2006-07-17  Bruno Haible  <bruno@clisp.org>
76318
76319         * modules/list: New file.
76320         * modules/array-list: New file.
76321         * modules/carray-list, modules/carray-list-tests: New files.
76322         * modules/linked-list, modules/linked-list-tests: New files.
76323         * modules/avltree-list, modules/avltree-list-tests: New files.
76324         * modules/rbtree-list, modules/rbtree-list-tests: New files.
76325         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
76326         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
76327         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
76328         * modules/oset: New file.
76329         * modules/array-oset: New file.
76330         * modules/avltree-oset, modules/avltree-oset-tests: New files.
76331         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
76332         * tests/test-carray_list.c: New file.
76333         * tests/test-linked_list.c: New file.
76334         * tests/test-avltree_list.c: New file.
76335         * tests/test-rbtree_list.c: New file.
76336         * tests/test-linkedhash_list.c: New file.
76337         * tests/test-avltreehash_list.c: New file.
76338         * tests/test-rbtreehash_list.c: New file.
76339         * tests/test-avltree_oset.c: New file.
76340         * tests/test-rbtree_oset.c: New file.
76341         * MODULES.html.sh (Container data structures): New section.
76342
76343 2006-07-17  Bruno Haible  <bruno@clisp.org>
76344
76345         * m4/gl_list.m4: New file.
76346
76347 2006-07-17  Bruno Haible  <bruno@clisp.org>
76348
76349         * lib/gl_list.h: New file.
76350         * lib/gl_list.c: New file.
76351         * lib/gl_array_list.h: New file.
76352         * lib/gl_array_list.c: New file.
76353         * lib/gl_carray_list.h: New file.
76354         * lib/gl_carray_list.c: New file.
76355         * lib/gl_linked_list.h: New file.
76356         * lib/gl_linked_list.c: New file.
76357         * lib/gl_anylinked_list1.h: New file.
76358         * lib/gl_anylinked_list2.h: New file.
76359         * lib/gl_avltree_list.h: New file.
76360         * lib/gl_avltree_list.c: New file.
76361         * lib/gl_anyavltree_list1.h: New file.
76362         * lib/gl_anyavltree_list2.h: New file.
76363         * lib/gl_rbtree_list.h: New file.
76364         * lib/gl_rbtree_list.c: New file.
76365         * lib/gl_anyrbtree_list1.h: New file.
76366         * lib/gl_anyrbtree_list2.h: New file.
76367         * lib/gl_anytree_list1.h: New file.
76368         * lib/gl_anytree_list2.h: New file.
76369         * lib/gl_linkedhash_list.h: New file.
76370         * lib/gl_linkedhash_list.c: New file.
76371         * lib/gl_anyhash_list1.h: New file.
76372         * lib/gl_anyhash_list2.h: New file.
76373         * lib/gl_avltreehash_list.h: New file.
76374         * lib/gl_avltreehash_list.c: New file.
76375         * lib/gl_rbtreehash_list.h: New file.
76376         * lib/gl_rbtreehash_list.c: New file.
76377         * lib/gl_anytreehash_list1.h: New file.
76378         * lib/gl_anytreehash_list2.h: New file.
76379
76380         * lib/gl_oset.h: New file.
76381         * lib/gl_oset.c: New file.
76382         * lib/gl_array_oset.h: New file.
76383         * lib/gl_array_oset.c: New file.
76384         * lib/gl_avltree_oset.h: New file.
76385         * lib/gl_avltree_oset.c: New file.
76386         * lib/gl_rbtree_oset.h: New file.
76387         * lib/gl_rbtree_oset.c: New file.
76388         * lib/gl_anytree_oset.h: New file.
76389
76390 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76391
76392         * m4/mkancesdirs.m4: New file.
76393         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
76394         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
76395         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
76396         it.
76397
76398 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76399
76400         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
76401         * lib/mkancesdirs.h: New files.
76402         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
76403         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
76404         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
76405         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
76406         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
76407         callers changed.  Revamp internals significantly, by not
76408         attempting to create directories that are temporarily more
76409         permissive than the final results.  Do not attempt to use
76410         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
76411         This removes some race conditions, fixes some bugs, and simplifies
76412         things.  Use new dirchownmod function to do owner and mode changes.
76413         * lib/mkdir-p.h: Likewise.
76414         * lib/modechange.c (octal_to_mode): New function.
76415         (struct mode_change): New member mentioned.
76416         (make_node_op_equals): New arg mentioned.  All callers changed.
76417         (mode_compile): Keep track of which mode bits the user has explicitly
76418         mentioned.
76419         (mode_adjust): New arg DIR, so that we implement the X op correctly.
76420         New arg PMODE_BITS, to keep track of which mode bits the user
76421         mentioned; it treats S_ISUID and S_ISGID speciall.
76422         All callers changed.
76423         * lib/modechange.h: Likewise.
76424
76425 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
76426
76427         * MODULES.html.sh: Add mkancestors.
76428         * modules/mkancesdirs: New module.
76429         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
76430         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
76431         The chdir-safer and afs files are now orphans; I'll remove them
76432         unless someone speaks up.
76433         Add lib/dirchownmod.c, lib/dirchownmod.h.
76434         (Depends-on): Remove alloca, chown, save-cwd, dirname.
76435         Add lchown, mkancesdirs.
76436         (Maintainer): Add self.
76437
76438 2006-07-15  Karl Berry  <karl@gnu.org>
76439
76440         * gnulib-tool: help message wording/arrangement.
76441
76442 2006-07-14  Simon Josefsson  <jas@extundo.com>
76443
76444         * doc/gnulib.texi (Libtool and Windows): New section.
76445
76446 2006-07-12  Simon Josefsson  <jas@extundo.com>
76447
76448         * modules/gendocs (License): Fix license, approved by Karl.
76449
76450 2006-07-12  Eric Blake  <ebb9@byu.net>
76451
76452         * MODULES.html.sh: Add gendocs.
76453
76454 2006-07-11  Eric Blake  <ebb9@byu.net>
76455
76456         * modules/fdl: New module, to install doc/fdl.texi.
76457         * MODULES.html.sh: Add new section for documentation modules.
76458         * gnulib-tool: Avoid space-tab.
76459         (--doc-base): New option, to manage files from doc.
76460
76461 2006-07-11  Eric Blake  <ebb9@byu.net>
76462
76463         * m4/absolute-header.m4: Fix comments to match recent change.
76464
76465 2006-07-11  Eric Blake  <ebb9@byu.net>
76466
76467         * gnulib-tool: List --doc-base before --tests-base.
76468
76469 2006-07-11  Derek R. Price  <derek@ximbiot.com>
76470
76471         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
76472
76473 2006-07-11  Bruno Haible  <bruno@clisp.org>
76474
76475         * README: Mention where to put documentation.
76476
76477 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76478
76479         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
76480
76481 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76482
76483         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
76484         to stdint.m4.
76485
76486 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
76487
76488         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
76489         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
76490         "no/such/file/stdint.h" when there is no such file, so that
76491         the resulting C code can be parsed by dodgy compilers.
76492         Problems reported by Bob Proulx.
76493
76494 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76495
76496         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
76497         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76498         macros into the GNU _D_EXACT_NAMLEN.
76499         * lib/savedir.c:  Likewise.
76500         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
76501
76502 2006-07-10  Derek R. Price  <derek@ximbiot.com>
76503         and Paul Eggert  <eggert@cs.ucla.edu>
76504
76505         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
76506         * m4/savedir.m4:
76507         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
76508         macros into the GNU _D_EXACT_NAMLEN.
76509
76510 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76511
76512         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
76513         around the absolute name, to work around a problem with the HP-UX
76514         11.23 native C compiler, reported by Bob Proulx.
76515
76516 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76517
76518         * doc/maintain.texi, make-stds.texi: Sync from
76519         <http://savannah.gnu.org/projects/gnustandards>.
76520
76521 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76522
76523         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
76524
76525 2006-07-09  Jim Meyering  <jim@meyering.net>
76526
76527         * m4/glob.m4: Remove a doubled word in a comment.
76528
76529 2006-07-09  Jim Meyering  <jim@meyering.net>
76530
76531         * lib/argp-pv.c: Remove a doubled word in a comment.
76532         * lib/check-version.c (check_version): Likewise.
76533         * lib/javacomp.c (compile_java_class): Likewise.
76534
76535 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
76536
76537         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
76538         for the benefit of people using Autoconf 2.60.  If you want to
76539         support older Autoconf versions you can copy m4/onceonly_2_57.m4
76540         (or m4/onceonly.m4, if pre-2.57) manually.
76541
76542 2006-07-08  Jim Meyering  <jim@meyering.net>
76543
76544         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
76545         comment.
76546         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
76547         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
76548         comment.
76549
76550 2006-07-08  Jim Meyering  <jim@meyering.net>
76551
76552         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
76553
76554 2006-07-07  Simon Josefsson  <jas@extundo.com>
76555
76556         * tests/test-crc.c: Change expected crc value, the test vector
76557         were probably computed using the old broken crc.c?
76558
76559 2006-07-06  Simon Josefsson  <jas@extundo.com>
76560
76561         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
76562         now the canonical place for the M4 file).
76563
76564         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
76565         from the sys_socket dependency now.
76566
76567         * modules/inet_pton (Files): Ditto.
76568
76569         * modules/inet_ntop (Files): Ditto.
76570
76571 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76572
76573         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
76574         not gl_PREREQ_GETUSERSHELL.
76575
76576 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76577
76578         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
76579         with only one argument, for Autoconf 2.60.
76580         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
76581         expand to nothing, so add a shell command to avoid syntax error.
76582         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76583
76584 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76585
76586         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
76587
76588 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76589
76590         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
76591         no longer needed.  Check for isblank decl.
76592         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
76593         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
76594         of existence.
76595
76596 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76597
76598         * lib/getloadavg.c: Use __VMS, not VMS.
76599         * lib/getopt.c: Likewise.
76600         * lib/getpagesize.h: Likewise.
76601         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
76602         and probably does not work.
76603
76604 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
76605
76606         * lib/.cppi-disable: Add wcwidth.
76607         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
76608         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
76609         (ISGRAPH): Remove.  All uses changed to isgraph.
76610         (FOLD) [!defined _LIBC]: Remove special case.
76611         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
76612         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
76613         HAVE_ISBLANK.
76614         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
76615         case.
76616
76617 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
76618
76619         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
76620         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
76621         brackets.  Other minor changes to suppress some compiler
76622         warnings.
76623
76624 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76625         and Paul Eggert  <eggert@cs.ucla.edu>
76626
76627         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
76628         of invoking obsolescent AC_HEADER_DIRENT macro.
76629         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
76630         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
76631         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
76632         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
76633         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
76634         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76635         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
76636         * m4/readdir.m4: Remove; no longer needed.
76637
76638 2006-07-06  Derek R. Price  <derek@ximbiot.com>
76639         and Paul Eggert  <eggert@cs.ucla.edu>
76640
76641         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
76642         Don't worry about this obsolete case any more.
76643         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
76644         directories.
76645         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
76646         worry about this obsolete case any more.
76647         * lib/fts.c: Likewise.
76648         * lib/getcwd.c: Likewise.
76649         * lib/glob.h: Likewise.
76650         * lib/savedir.c: Likewise.
76651
76652 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76653
76654         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
76655         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
76656         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
76657         needed.
76658         All uses removed.
76659         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76660         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76661         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
76662         needed.
76663         * m4/getdate.m4 (gl_GETDATE): Likewise.
76664         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76665         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76666         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76667         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76668         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
76669         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76670         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
76671         needed.
76672
76673 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
76674
76675         * lib/memcasecmp.c: Include <limits.h>.
76676         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
76677         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
76678         Don't assume isdigit succeeds only on '0' through '9'.
76679
76680 2006-07-05  Eric Blake  <ebb9@byu.net>
76681
76682         * modules/getaddrinfo (Depends-on): Add snprintf.
76683
76684 2006-07-05  Eric Blake  <ebb9@byu.net>
76685
76686         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
76687         to avoid 'header present but could not be compiled' on cygwin.
76688
76689 2006-07-05  Eric Blake  <ebb9@byu.net>
76690
76691         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
76692         missing from netdb.h.
76693         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
76694
76695 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76696
76697         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
76698         no longer needed.
76699         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
76700         * m4/getdate.m4 (gl_GETDATE): Likewise.
76701         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
76702         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
76703         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
76704         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
76705         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
76706
76707 2006-07-05  Derek R. Price  <derek@ximbiot.com>
76708
76709         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
76710         All uses of is_space replaced by isspace.
76711         * lib/exit.h: Don't talk about STDC_HEADERS.
76712         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
76713         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
76714         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
76715         replaced by isprint etc.
76716         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
76717         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76718         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
76719         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
76720         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
76721         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
76722
76723 2006-07-05  Bruno Haible  <bruno@clisp.org>
76724
76725         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
76726         the function exists, before testing against AIX.
76727         Reported by Martin Lambers <marlam@marlam.de>.
76728
76729 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76730
76731         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
76732         From Mark D. Baushke.
76733
76734 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
76735
76736         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
76737         to the absolute name, not just one, to bypass Sun C 5.8's
76738         "warning: #include of /usr/include/... may be non-portable".
76739
76740 2006-07-04  Eric Blake  <ebb9@byu.net>
76741
76742         * modules/dirname-tests: New test module.
76743         * tests/test-dirname.c: New file, replacing dirname.c
76744         TEST_DIRNAME section that was recently deleted.
76745
76746 2006-07-04  Bruno Haible  <bruno@clisp.org>
76747
76748         Assume ANSI C header files and <ctype.h> functions.
76749         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
76750         (mbsnwidth): Use isprint, iscntrl instead.
76751
76752 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76753
76754         Merge from coreutils.
76755         * MODULES.html.sh: Add xstrtold.
76756         * modules/xstrtold: New file.
76757         * modules/cycle-check (Files): Add lib/same-inode.h.
76758         * modules/dirname (Files): Add m4/double-slash-root.m4.
76759         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
76760         * modules/mkdir-p (Files): Add lib/same-inode.h.
76761         * modules/same (Files): Add lib/same-inode.h.
76762
76763 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76764
76765         * m4/absolute-header.m4: Renamed from full-header-path.m4.
76766         This is to keep the terminology clean; POSIX talks about
76767         "absolute pathnames", not "full pathnames", but the GNU
76768         Coding Standards say to use "path" for something else;
76769         so use "absolute" to keep both sides happy.
76770         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
76771         Set gl_absolute_header, not gl_full_header_path.
76772         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
76773         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
76774         All uses changed.
76775
76776         Merge from coreutils.
76777
76778         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76779
76780         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
76781         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
76782         want to require the building of c-strtod.o.
76783         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
76784         needs -lm directly.
76785         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
76786
76787         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76788
76789         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
76790         --as-needed option if available.  Problem reported by Albert Chin in
76791         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
76792         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
76793         cc merely issues a bunch of annoying warnings for --as-needed
76794         (this problem was reported by Bob Proulx).  Also, try linking with
76795         -lm to detect a bug in binutils 2.16 (this problem was reported
76796         by Ralf Wildenhues).
76797
76798         2006-06-18  Jim Meyering  <jim@meyering.net>
76799
76800         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
76801         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
76802         macro.
76803         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
76804         also check for glibc-2.4's abort-inducing bug.
76805
76806         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
76807         Low-probability clean-up should be to use rmdir to get rid of
76808         the just-created directory, not unlink.
76809
76810         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
76811         configure fail, and request a bug report to inform us about it.
76812         Add a comment that, barring reports to the contrary, in 2007 we'll
76813         assume ftruncate is universally available.
76814
76815         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76816
76817         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
76818
76819         2006-03-12  Jim Meyering  <jim@meyering.net>
76820
76821         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
76822         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
76823         * m4/same.m4 (gl_SAME): Likewise.
76824         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
76825
76826         2006-03-11  Eric Blake  <ebb9@byu.net>
76827
76828         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
76829         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
76830         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
76831         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
76832
76833 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
76834
76835         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
76836         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
76837         reported by Mark D. Baushke, one in
76838         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
76839
76840         Merge from coreutils.
76841
76842         * lib/.cppi-disable: Add stdint_.h.
76843         * lib/.cvsignore: Add stdint.h.
76844
76845         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
76846
76847         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
76848         both double and long double versions.
76849         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
76850         * lib/xstrtold.c: New file.
76851         * lib/xstrtod.h (xstrtold): New decl.
76852
76853         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
76854
76855         * lib/filemode.c (setst): Remove.
76856         (strmode): Rewrite to avoid setst.  This makes the code shorter,
76857         (arguably) clearer, and the generated code is a bit smaller on my
76858         Debian GNU/Linux stable x86 host.
76859
76860         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
76861
76862         * lib/filemode.c: Include "filemode.h" first, to test the interface.
76863         Assume that filemode.h includes sys/types.h and sys/stat.h.
76864         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
76865         (ftypelet): Reorder to put common cases first, for efficiency.
76866         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
76867         to do 'M'.
76868         (strmode): Renamed from mode_string, and now stores 12 bytes instead
76869         of 10, for compatibility with FreeBSD.  All callers changed.
76870         (filemodestring): Now stores 12 bytes instead of 10, and sets file
76871         types that can't be deduced solely from st_mode.  First arg is now a
76872         const pointer.
76873         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
76874         (strmode): Renamed from mode_string.
76875         (filemodestring): New decl.
76876         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
76877         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
76878         needed.
76879         (S_ISPORT, S_ISWHT): New macros, if not already defined.
76880
76881         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
76882
76883         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
76884         fsusage.h now does that.  Include fsusage.h first, to test interface.
76885         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
76886         at most one method (the old code could have generated decls that
76887         didn't conform to C89, not that this was ever exercised).
76888         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
76889
76890         2006-03-19  Jim Meyering  <jim@meyering.net>
76891
76892         Work even in a chroot where d_ino values for entries in "/"
76893         don't match the stat.st_ino values for the same names.
76894         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
76895         number, iterate through all entries again, using lstat instead.
76896         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
76897         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
76898
76899         * lib/getcwd.c (__getcwd): Clarify a comment.
76900         Use memcpy in place of a call to strcpy.
76901
76902         2006-03-12  Jim Meyering  <jim@meyering.net>
76903
76904         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
76905         matches that of the current directory (which we're about to chdir ".."
76906         out of), then save the dev-ino of the parent, instead.
76907
76908         * lib/same-inode.h (SAME_INODE): New file/macro.
76909         * lib/chdir-safer.c (SAME_INODE): Remove definition.
76910         Include "same-inode.h", instead.
76911         * lib/same.c: Likewise.
76912         * lib/cycle-check.h: Include "same-inode.h".
76913         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
76914         * lib/cycle-check.c (SAME_INODE): Remove definition.
76915         * lib/root-dev-ino.h: Include "same-inode.h".
76916
76917         2006-03-11  Eric Blake  <ebb9@byu.net>
76918
76919         * lib/same.c (same_name): s/base_name/last_component/
76920         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
76921         * lib/filenamecat.c (file_name_concat): Likewise.
76922
76923         2006-03-11  Eric Blake  <ebb9@byu.net>,
76924                     Paul Eggert  <eggert@cs.ucla.edu>
76925
76926         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
76927         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
76928         drive prefix.
76929         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
76930         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
76931         (last_component): New method.
76932         * lib/dirname.c (dir_len): Determine when drive letters need a
76933         subsequent slash.  Preserve // when it is special.
76934         (dir_name): Don't append dot when drive letter is absolute.
76935         [TEST_DIRNAME]: Move into a full-blown gnulib test.
76936         * lib/basename.c (base_name): New semantics - malloc the result.
76937         Preserve // when it is special.  Preserve relative files that look
76938         like drive letters.
76939         (base_len): Preserve // when it is special.
76940         (last_component): New method, similar to old base_name semantics.
76941         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
76942         base_name.  Strip redundant slashes from ///.
76943
76944 2006-07-03  Jim Meyering  <jim@meyering.net>
76945
76946         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
76947         macro is used before the first cycle_check call.
76948
76949 2006-07-03  Eric Blake  <ebb9@byu.net>
76950
76951         * modules/dirname (Depends-on): Add xstrndup.
76952
76953 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76954
76955         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
76956         test cases, so that config.log is a bit easier to follow.
76957
76958 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
76959
76960         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
76961         both are 64 bits, since this seems to be the tradition, and this
76962         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
76963         we ever run into a host that prefers long long to long in this
76964         case, we'll need another configure-time test.  Problem reported by
76965         Jim Meyering.
76966
76967 2006-07-02  Eric Blake  <ebb9@byu.net>
76968
76969         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
76970
76971 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76972
76973         * modules/inttypes (Depends-on): No longer depends on stdint.
76974         * modules/stdint (Description): Say more about assumptions.
76975         Say that the fast types might differ.  Say macros are used.
76976         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
76977         (Makefile.am): Revise list of substituted symbols to match
76978         new stdint.m4.
76979         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
76980         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
76981         * tests/test-stdint.c (verify_same_types)
76982         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
76983         the code conforms to C99/C89.
76984         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
76985         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
76986
76987 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
76988
76989         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
76990         but fix a bug, by requiring at least 64 bits.
76991         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
76992         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
76993         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
76994         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76995
76996         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
76997         changes.  Make 2.59 a prerequisite.  Check and substitute for
76998         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
76999         inttypes.h.  Do not use special include files; just use the
77000         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
77001         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
77002         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
77003         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
77004         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
77005         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
77006         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
77007         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
77008         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
77009         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
77010         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
77011         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
77012         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
77013         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
77014         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
77015         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
77016         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
77017         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
77018         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
77019         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
77020         WINT_MAX.  Check for C99 conformance more strictly, by detecting
77021         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
77022         not check for things that C99 does not require, e.g., int8_t.  If
77023         a test isn't needed unless <stdint.h> isn't working, and is
77024         unlikely to be needed for any other reason, then don't do it
77025         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
77026         size_t, since we assume C89 freestanding at least.  Do not check
77027         for sig_atomic_t, wchar_t, or wint_t, since the code now does
77028         the right thing even if the types are not defined.  Instead use:
77029         (gl_STDINT_TYPE_PROPERTIES): New macro.
77030         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
77031         testing whether <sys/types.h> clashes, as Autoconf does this for
77032         us now.  All uses removed.
77033         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
77034         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
77035         (gl_CHECK_TYPE_SAME):
77036         Remove; no longer needed.
77037         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
77038         exists, since we'll return 0 anyway in that case.
77039         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
77040
77041 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77042
77043         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
77044         possible collision with system files.
77045         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
77046         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
77047         WCHAR_MIN and WCHAR_MAX in this case.
77048         (<stddef.h>): Do not include; no longer needed.
77049         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
77050         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
77051         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
77052         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
77053         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
77054         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
77055         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
77056         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
77057         !defined(__c99))]: Include in this case too, since it's harmless
77058         now.
77059         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
77060         dangerous to do so.
77061         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
77062         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
77063         (_STDINT_MIN, _STDINT_MAX): New macros.
77064         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
77065         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
77066         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
77067         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
77068         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
77069         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
77070         macros, not typedefs; this simplifies things quite a bit.
77071         Use long int for all types narrower than int64_t.
77072         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
77073         Define in terms of long long int or int64_t or long int,
77074         not int64_t or int32_t.  This saves some compile-time testing.
77075         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
77076         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
77077         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
77078         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
77079         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
77080         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
77081         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
77082         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
77083         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
77084         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
77085         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77086         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77087         undef any previous version and define our own version, for
77088         simplicity and consistency with the new macros for types.
77089         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77090         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77091         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
77092         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
77093         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
77094         @WINT_T_SUFFIX@ to keep things simple here.
77095         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
77096         Simplify by assuming typical 8/16/32/64 host, since we're
77097         already doing that elsewhere anyway.
77098         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
77099         and assume long long int is 64 bits if available.  This
77100         speeds up 'configure'.
77101
77102 2006-07-01  Eric Blake  <ebb9@byu.net>
77103
77104         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
77105         Reported by Andreas Buening.
77106
77107 2006-07-01  Eric Blake  <ebb9@byu.net>
77108
77109         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
77110
77111 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77112
77113         * lib/getaddrinfo.c: fixed typo
77114
77115 2006-06-29  Jim Meyering  <jim@meyering.net>
77116
77117         * modules/strftime (Maintainer): Add my name, since with the
77118         FPRINTFTIME changes strftime.c has forked from glibc.
77119
77120 2006-06-29  Eric Blake  <ebb9@byu.net>
77121
77122         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
77123
77124 2006-06-29  Eric Blake  <ebb9@byu.net>
77125
77126         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
77127
77128 2006-06-29  Eric Blake  <ebb9@byu.net>
77129
77130         * lib/stat_.h: New file.
77131
77132 2006-06-29  Eric Blake  <ebb9@byu.net>
77133
77134         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
77135         unused static function.
77136
77137 2006-06-29  Eric Blake  <ebb9@byu.net>
77138
77139         * doc/functions.texi (Function Portability): Document missing lstat
77140         on mingw.
77141
77142 2006-06-29  Eric Blake  <ebb9@byu.net>
77143
77144         * MODULES.html.sh: Add sys_stat.
77145         * modules/sys_stat: New module.
77146         * modules/mkstemp (Depends-on): Add sys_stat.
77147
77148 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77149
77150         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
77151
77152 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77153
77154         * m4/c-bs-a.m4: Removed.
77155
77156 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77157
77158         * lib/strftime.c: Assume strftime() exists.
77159
77160 2006-06-29  Derek Price  <derek@ximbiot.com>
77161
77162         * modules/c-bs-a: Removed - \a is C89.
77163         * MODULES.html.sh: Remove c-bs-a.
77164
77165 2006-06-29  Bruno Haible  <bruno@clisp.org>
77166
77167         * modules/wcwidth (License): Change to LGPL.
77168
77169 2006-06-28  Simon Josefsson  <jas@extundo.com>
77170
77171         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
77172         on _WIN32.
77173
77174         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
77175         getnameinfo.
77176
77177 2006-06-28  Simon Josefsson  <jas@extundo.com>
77178
77179         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
77180
77181 2006-06-28  Simon Josefsson  <jas@extundo.com>
77182
77183         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
77184         functions there.  It will succeed on Windows XP, but on Windows
77185         2000 and (presumably) earlier, it will fail, and use the internal
77186         re-implementation.
77187         (use_win32_p): New function.
77188         (getaddrinfo): Use strtoul on servname, to support numeric ports.
77189         Support AI_NUMERICSERV to disable getservbyname.
77190         (getnameinfo): New function, only supports
77191         NI_NUMERICHOST|NI_NUMERICSERV for now.
77192
77193         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
77194         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
77195         getnameinfo.
77196
77197 2006-06-28  Eric Blake  <ebb9@byu.net>
77198
77199         * modules/wcwidth: New file.
77200         * modules/mbchar (Depends-on): Add wcwidth.
77201         * modules/mbswidth (Depends-on): Add wcwidth.
77202         * MODULES.html.sh: Add wcwidth.
77203
77204 2006-06-28  Eric Blake  <ebb9@byu.net>
77205
77206         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
77207         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
77208
77209 2006-06-28  Eric Blake  <ebb9@byu.net>
77210
77211         * lib/xvasprintf.h: Fix comments.
77212
77213 2006-06-28  Eric Blake  <ebb9@byu.net>
77214
77215         * lib/mbchar.h (wcwidth): Include wcwidth.h.
77216         * lib/mbswidth.c (wcwidth): Move from here...
77217         * lib/wcwidth.h: ...to this new file.
77218
77219 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77220
77221         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
77222
77223         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
77224         it's obsolete.
77225         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
77226
77227 2006-06-28  Derek R. Price  <derek@ximbiot.com>
77228
77229         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
77230         Autoconf 2.60 says this stuff was obsolete.
77231
77232 2006-06-28  Bruno Haible  <bruno@clisp.org>
77233
77234         * modules/wcwidth (Files): Add m4/wchar_t.m4.
77235
77236 2006-06-28  Bruno Haible  <bruno@clisp.org>
77237
77238         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
77239         gt_TYPE_WCHAR_T.
77240
77241 2006-06-28  Bruno Haible  <bruno@clisp.org>
77242
77243         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
77244         declaration for wcwidth.
77245         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
77246
77247 2006-06-28  Bruno Haible  <bruno@clisp.org>
77248
77249         * lib/mkdtemp.c [MINGW]: Include <io.h>.
77250         (mkdir): Define using _mkdir.
77251
77252 2006-06-28  Bruno Haible  <bruno@clisp.org>
77253
77254         * lib/getaddrinfo.h: Fix POSIX URL.
77255         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
77256         _WIN32.
77257         (use_win32_p): Make static.
77258         (getaddrinfo): Reject service name if it is empty or does not consist
77259         solely of decimal digits, or if its value is > 65535.
77260         (getnameinfo): Remove useless casts.
77261
77262 2006-06-27  Simon Josefsson  <jas@extundo.com>
77263
77264         * modules/sys_select: New file, suggested by Bruno Haible, Paul
77265         Eggert and Martin Lambers.
77266
77267 2006-06-27  Simon Josefsson  <jas@extundo.com>
77268
77269         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
77270         Eggert and Martin Lambers.
77271
77272 2006-06-27  Bruno Haible  <bruno@clisp.org>
77273
77274         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
77275         result to 0, not to empty.
77276         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
77277
77278 2006-06-27  Bruno Haible  <bruno@clisp.org>
77279
77280         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
77281
77282 2006-06-26  Simon Josefsson  <jas@extundo.com>
77283
77284         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
77285         present.
77286
77287 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
77288
77289         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
77290         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
77291         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
77292
77293 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
77294
77295         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
77296
77297 2006-06-26  Bruno Haible  <bruno@clisp.org>
77298
77299         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
77300
77301 2006-06-26  Bruno Haible  <bruno@clisp.org>
77302
77303         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
77304
77305 2006-06-26  Bruno Haible  <bruno@clisp.org>
77306
77307         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
77308         SGI C compiler in pre-C99 mode.
77309         Suggested by Mark D. Baushke and Larry Jones.
77310
77311 2006-06-26  Bruno Haible  <bruno@clisp.org>
77312
77313         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
77314         WCHAR_MAX.
77315         Reported by Mark D. Baushke and Larry Jones.
77316
77317 2006-06-26  Bruno Haible  <bruno@clisp.org>
77318
77319         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
77320         in pre-C99 mode.
77321         Suggested by Mark D. Baushke and Larry Jones.
77322
77323 2006-06-23  Simon Josefsson  <jas@extundo.com>
77324             Bruno Haible  <bruno@clisp.org>
77325
77326         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
77327         Emit mostlyclean-local rule.
77328         (func_emit_tests_Makefile_am): Likewise.
77329         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
77330
77331 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
77332
77333         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
77334
77335 2006-06-23  Bruno Haible  <bruno@clisp.org>
77336
77337         * tests/test-stdint.c: Update to match ISO C 99 Technical
77338         Corrigendum 1.
77339
77340 2006-06-23  Bruno Haible  <bruno@clisp.org>
77341
77342         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
77343
77344 2006-06-23  Bruno Haible  <bruno@clisp.org>
77345
77346         * lib/stdint_.h: Treat IRIX like OpenBSD.
77347
77348 2006-06-23  Bruno Haible  <bruno@clisp.org>
77349
77350         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
77351         ISO C 99 Technical Corrigendum 1.
77352
77353 2006-06-22  Simon Josefsson  <jas@extundo.com>
77354
77355         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
77356         MinGW.
77357
77358 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
77359
77360         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
77361         needed.  Some compiler complained about some of them.  Problem reported
77362         by Larry Jones in
77363         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
77364
77365 2006-06-21  Simon Josefsson  <jas@extundo.com>
77366
77367         * tests/test-getaddrinfo.c: New file.
77368
77369         * modules/getaddrinfo-tests: New file.
77370
77371         * MODULES.html.sh: Add inet_pton.
77372
77373         * modules/inet_pton: New file.
77374
77375 2006-06-21  Simon Josefsson  <jas@extundo.com>
77376
77377         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
77378         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
77379         of using the (limited) gnulib implementation on Windows XP.
77380
77381         * m4/inet_pton.m4: New file.
77382
77383 2006-06-21  Simon Josefsson  <jas@extundo.com>
77384
77385         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
77386         variable.
77387
77388         * lib/socket_.h: Don't define WINVER.
77389
77390         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
77391         slightly modified to work in gnulib.
77392
77393 2006-06-21  Simon Josefsson  <jas@extundo.com>
77394
77395         * doc/gnulib.texi (Windows sockets): Add.
77396
77397 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
77398
77399         * lib/read-file.c (fread_file): Start with buffer allocation of
77400         0 bytes rather than 1 byte; this simplifies the code.
77401         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
77402         code to free buffer and save/restore errno.
77403         (internal_read_file): Remove unused local.
77404
77405 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
77406
77407         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
77408         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
77409         Problem reported by Denis Excoffier in
77410         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
77411
77412 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77413
77414         * modules/sys_socket, modules/socklen: Include sys/types since
77415         FreeBSD 4.x's sys/socket.h needs it.
77416
77417 2006-06-19  Simon Josefsson  <jas@extundo.com>
77418
77419         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
77420
77421 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77422
77423         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
77424
77425 2006-06-19  Bruno Haible  <bruno@clisp.org>
77426
77427         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
77428         and FULL_PATH_INTTYPES_H in angle brackets.
77429         Reported by Mark D. Baushke <mdb@gnu.org>.
77430
77431 2006-06-17  Eric Blake  <ebb9@byu.net>
77432
77433         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
77434         errno.
77435
77436 2006-06-17  Bruno Haible  <bruno@clisp.org>
77437
77438         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
77439         <sys/inttypes.h>.
77440
77441 2006-06-17  Bruno Haible  <bruno@clisp.org>
77442
77443         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
77444         whether errno is declared. Assume <errno.h> declares errno.
77445
77446 2006-06-17  Bruno Haible  <bruno@clisp.org>
77447
77448         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
77449
77450 2006-06-17  Bruno Haible  <bruno@clisp.org>
77451
77452         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
77453         problem on Solaris 2.5.1.
77454
77455 2006-06-16  Eric Blake  <ebb9@byu.net>
77456
77457         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
77458         * lib/unicodeio.c [!defined errno]: Likewise.
77459         * lib/strtol.c [!defined errno]: Likewise.
77460         * lib/strtod.c [!defined errno]: Likewise.
77461
77462 2006-06-15  Eric Blake  <ebb9@byu.net>
77463
77464         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
77465
77466 2006-06-15  Eric Blake  <ebb9@byu.net>
77467
77468         * config/srclist.txt (ssize_t.m4): Lose sync.
77469
77470 2006-06-15  Bruno Haible  <bruno@clisp.org>
77471
77472         * modules/stdint (Files): Include m4/full-header-path.m4,
77473         m4/size_max.m4, m4/wchar_t.m4.
77474         (Makefile.am): Many more substitutions.
77475         * modules/stdint-tests: New file.
77476         * tests/test-stdint.c: New file.
77477
77478 2006-06-15  Bruno Haible  <bruno@clisp.org>
77479
77480         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
77481         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
77482         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
77483         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
77484         gl_CHECK_TYPE_SAME): New macros.
77485
77486 2006-06-15  Bruno Haible  <bruno@clisp.org>
77487
77488         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
77489
77490 2006-06-15  Bruno Haible  <bruno@clisp.org>
77491
77492         * lib/stdint_.h: Rewritten to be fully auto-configured.
77493         Fixes bug on HP-UX/IA64.
77494
77495 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
77496
77497         * lib/getdate.y (__attribute__): Don't define if already defined.
77498         Problem reported by Larry Jones.
77499         * lib/utimens.c (__attribute__): Likewise.
77500
77501 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
77502
77503         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
77504         reported by Andreas Schwab.
77505
77506 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77507             Bruno Haible  <bruno@clisp.org>
77508
77509         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
77510         check for the declaration of strnlen and a run test that exposes the
77511         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
77512         rpl_strndup.
77513
77514 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77515             Bruno Haible  <bruno@clisp.org>
77516
77517         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
77518
77519 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77520
77521         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
77522         compile test, for Tru64 4.0D.
77523
77524 2006-05-28  Karl Berry  <karl@gnu.org>
77525
77526         * config/srclist.txt (printf-args.c): lose sync.
77527
77528 2006-05-26  Martin Lambers  <marlam@marlam.de>
77529
77530         * lib/getpass.c: Updates the test for the native W32 API, and adds
77531         missing includes, thus fixing compilation warnings.
77532
77533 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77534
77535         * lib/exclude.c (exclude_fnmatch): New function.
77536         (excluded_file_name): Call exclude_fnmatch.
77537         * lib/exclude.h (excluded_file_name): New prototype
77538
77539 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
77540
77541         * lib/tempname.c (small_open, large_open): New macros.
77542         (__open, __open64) [!_LIBC]: Remove.
77543         (__gen_tempname): Use small_open and large_open instead of __open
77544         and __open64.  This fixes a portability bug on HP-UX 11.11i
77545         reported by Simon Wing-Tang in
77546         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
77547
77548 2006-05-24  Bruno Haible  <bruno@clisp.org>
77549
77550         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
77551         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
77552         Reported by Thorsten Maerz <torte@netztorte.de> via
77553         Aaron Stone <aaron@serendipity.cx>.
77554
77555 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77556
77557         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
77558         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
77559         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
77560         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
77561         not really conditional on the cache.
77562         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
77563
77564 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
77565
77566         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
77567         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
77568         (my_usleep): Don't mishandle maximum value.
77569
77570 2006-05-19  Jim Meyering  <jim@meyering.net>
77571
77572         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
77573
77574 2006-05-17  Bruno Haible  <bruno@clisp.org>
77575
77576         Cygwin portability.
77577         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
77578
77579 2006-05-17  Bruno Haible  <bruno@clisp.org>
77580
77581         * lib/stdint_.h: Fix recognition of Cygwin.
77582
77583 2006-05-15  Bruno Haible  <bruno@clisp.org>
77584
77585         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
77586         on libtool patch by Ralf Wildenhues.
77587
77588 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
77589
77590         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
77591         test for C99 conformance; (bool) 0.5 is an integer constant
77592         expression, but (bool) -0.5 is not.  Problem reported by Fedor
77593         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
77594
77595 2006-05-11  Simon Josefsson  <jas@extundo.com>
77596
77597         * m4/xvasprintf.m4: Fix obvious typo.
77598
77599 2006-05-11  Jim Meyering  <jim@meyering.net>
77600
77601         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
77602         James Lemley.
77603
77604 2006-05-10  Simon Josefsson  <jas@extundo.com>
77605
77606         * lib/md4.c: Typo fix, update copyright years.
77607         (K1, K2): Don't use L because it turn computations into 64-bit on
77608         64-bit platforms.
77609
77610 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
77611
77612         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
77613         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
77614         unwanted sign propagation, e.g., on hosts with 64-bit int.
77615         There still are some problems with reeelly weird theoretical hosts
77616         (e.g., 33-bit int) but it's not worth worrying about now.
77617         * lib/sha1.c (rol): Likewise.
77618         (K1, K2, K3, K4): Remove unnecessary L suffix.
77619
77620 2006-05-10  Bruno Haible  <bruno@clisp.org>
77621
77622         * lib/des.c: Cast to avoid warnings.
77623
77624 2006-05-09  Bruno Haible  <bruno@clisp.org>
77625
77626         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
77627         (Depends-on): Depend also on xsize, stdarg.
77628         (configure.ac): Add gl_XVASPRINTF.
77629
77630 2006-05-09  Bruno Haible  <bruno@clisp.org>
77631
77632         * m4/xvasprintf.m4: New file.
77633
77634 2006-05-09  Bruno Haible  <bruno@clisp.org>
77635
77636         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
77637         (EOVERFLOW): Define fallback value.
77638         (xstrcat): New function.
77639         (xvasprintf): Recognize the special case of a string concatenation.
77640
77641 2006-05-08  Eric Blake  <ebb9@byu.net>
77642
77643         * gnulib-tool (func_version): Base copyright year on CVS date.
77644         (func_emit_copyright_notice): New function.
77645         (func_emit_lib_Makefile_am): Use it.
77646         (func_emit_tests_Makefile_am): Likewise.
77647         (func_import): Likewise.
77648
77649 2006-05-08  Bruno Haible  <bruno@clisp.org>
77650
77651         * modules/stdarg: New file.
77652         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
77653
77654 2006-05-08  Bruno Haible  <bruno@clisp.org>
77655
77656         * m4/stdarg.m4: New file, from GNU gettext.
77657
77658 2006-05-08  Bruno Haible  <bruno@clisp.org>
77659
77660         * config/srclist.txt (build-aux/config.rpath): different from latest
77661         release.
77662
77663 2006-05-08  Bruno Haible  <bruno@clisp.org>
77664
77665         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
77666
77667 2006-05-05  Jim Meyering  <jim@meyering.net>
77668
77669         * m4/warning.m4: New file, derived from bison's file by the same name.
77670
77671 2006-05-03  Bruno Haible  <bruno@clisp.org>
77672
77673         * lib/stdint_.h: Shorter URL.
77674         * lib/inttypes.h: Likewise.
77675
77676 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77677
77678         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
77679
77680 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77681
77682         * lib/verify.h: Document the internals better.  Most of this change
77683         was written by Bruno Haible.
77684
77685 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
77686
77687         * doc/verify.texi: New file, partly based on a proposal by
77688         Bruno Haible.
77689
77690 2006-05-02  Bruno Haible  <bruno@clisp.org>
77691
77692         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
77693         test from here...
77694         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
77695
77696 2006-04-29  Bruno Haible  <bruno@clisp.org>
77697
77698         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
77699         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
77700
77701 2006-04-29  Bruno Haible  <bruno@clisp.org>
77702
77703         * gnulib-tool: Make --update option actually work.
77704
77705 2006-04-29  Bruno Haible  <bruno@clisp.org>
77706
77707         * doc/gcd.texi: New file.
77708         * doc/gnulib.texi: Include it.
77709
77710 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
77711
77712         * lib/getdate.y (get_date): When adding relative date, start with the
77713         initial time, not with the result of the first mktime call.
77714
77715 2006-04-25  Bruno Haible  <bruno@clisp.org>
77716
77717         * gnulib-tool (func_import): Output the include directives in three
77718         blocks, sorted separately.
77719         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77720
77721 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77722
77723         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
77724         to define main with arguments, for C++.  Reported by Eric Blake.
77725         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
77726         Prefer 'int main ()' to 'int main (void)', for C++.
77727         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
77728         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
77729         for 'main', for C99 and C++.
77730
77731 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
77732
77733         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
77734         Don't assume that exit status -1 is valid.
77735         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
77736         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
77737         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
77738         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
77739         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
77740         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
77741         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
77742         functions can be used without declaring them, or that you can
77743         exit with status -1.
77744         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
77745
77746 2006-04-24  Karl Berry  <karl@gnu.org>
77747
77748         * config/srclist.txt (longdouble.m4): sync lost.
77749
77750 2006-04-24  Eric Blake  <ebb9@byu.net>
77751
77752         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
77753
77754 2006-04-24  Bruno Haible  <bruno@clisp.org>
77755
77756         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
77757         poll() implementation in AIX.
77758         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77759
77760 2006-04-24  Bruno Haible  <bruno@clisp.org>
77761
77762         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
77763         assigned exactly once.
77764
77765 2006-04-23  Claudio Fontana  <claudio@gnu.org>
77766             Bruno Haible  <bruno@clisp.org>
77767
77768         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
77769         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
77770         for AM_CPPFLAGS.
77771
77772 2006-04-23  Bruno Haible  <bruno@clisp.org>
77773
77774         * modules/copy-file: Depend on unistd.
77775         * modules/execute: Likewise.
77776         * modules/fatal-signal: Likewise.
77777         * modules/findprog: Likewise.
77778         * modules/mkdtemp : Likewise.
77779         * modules/pipe: Likewise.
77780         * modules/wait-process: Likewise.
77781
77782 2006-04-23  Bruno Haible  <bruno@clisp.org>
77783
77784         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
77785         condition was already detected.
77786         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77787
77788 2006-04-23  Bruno Haible  <bruno@clisp.org>
77789
77790         * lib/copy-file.c: Include <unistd.h> unconditionally.
77791         * lib/execute.c: Likewise.
77792         * lib/fatal-signal.c: Likewise.
77793         * lib/findprog.c: Likewise.
77794         * lib/mkdtemp.c: Likewise.
77795         * lib/pipe.h: Likewise.
77796         * lib/pipe.c: Likewise.
77797         * lib/wait-process.h: Likewise.
77798
77799 2006-04-23  Bruno Haible  <bruno@clisp.org>
77800
77801         * gnulib-tool (func_usage): Fix --import description. Document
77802         --update.
77803         (func_import): Create temporary file in a temporary directory, if
77804         --dry-run is specified. Silence errors from 'grep' when there are no
77805         m4 files in $m4dir.
77806         (func_create_testdir): Silence errors from 'grep' when there are no
77807         m4 files in $m4dir.
77808         Reported by Karl Berry <karl@freefriends.org>.
77809
77810 2006-04-20  Bruno Haible  <bruno@clisp.org>
77811
77812         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
77813         one argument, so that the code will be portable to Autoconf 2.60.
77814         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
77815         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77816         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
77817
77818 2006-04-19  Derek Price  <derek@ximbiot.com>
77819             Eric Blake  <ebb9@byu.net>
77820
77821         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
77822         rather than "/full/path.h".  Update comment to match.  Shorten &
77823         generalize m4_translit call via AS_TR_CPP.
77824
77825 2006-04-19  Derek Price  <derek@ximbiot.com>
77826             Eric Blake  <ebb9@byu.net>
77827
77828         * lib/inttypes.h: Correct grammar in comment.
77829
77830 2006-04-18  Derek Price  <derek@ximbiot.com>
77831             Paul Eggert  <eggert@cs.ucla.edu>
77832
77833         * modules/inttypes: New file.
77834         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
77835
77836 2006-04-18  Derek Price  <derek@ximbiot.com>
77837             Paul Eggert  <eggert@cs.ucla.edu>
77838
77839         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
77840         New files.
77841
77842 2006-04-18  Derek Price  <derek@ximbiot.com>
77843             Paul Eggert  <eggert@cs.ucla.edu>
77844
77845         * lib/inttypes.h: New file.
77846         * lib/strtoimax.c: Assume <inttypes.h>.
77847
77848 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
77849
77850         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
77851         isn't mounted.  Problem reported by Kir Kolyshkin.
77852
77853 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
77854
77855         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
77856         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
77857         Derek R. Price.
77858         * lib/regex.h (RE_DUP_MAX): Update comment to match current
77859         implementation.
77860
77861 2006-04-12  Eric Blake  <ebb9@byu.net>
77862
77863         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
77864         is now done automatically by the corresponding Autoconf macro.
77865
77866 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
77867
77868         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
77869         time_r.h.
77870
77871 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
77872
77873         Merge regex changes from libc, removing some of our
77874         POSIX-conformance changes that were rejected and redoing them in a
77875         less-intrusive way.
77876
77877         * lib/regcomp.c (re_compile_internal, init_dfa):
77878         Length arg is now size_t, not Idx.  All uses changed.
77879         (peek_token): Forward decl now says internal_function.
77880         (__re_error_msgid, __re_error_msgid_idx):
77881         Now static rather than extern with attribute_hidden.
77882         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
77883         For some reason libc prefers K&R style defns for external functions.
77884         (regerror) [!defined _LIBC]: Likewise.
77885         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
77886         (seek_collating_symbol_entry, lookup_collation_sequence_value):
77887         (build_range_exp, build_collating_symbol):
77888         Use K&R-style defn.
77889         (re_compile_fastmap): Use '\0' to memset, not 0.
77890         (utf8_sb_map): Make the calculations more obvious.
77891         (init_dfa, parse_bracket_exp, build_charclass_op):
77892         Call calloc and cast result, as glibc does.
77893         (init_word_char, fetch_token, peek_token, peek_token_bracket):
77894         (build_range_exp, build_collating_symbol):
77895         Now internal functions.
77896
77897         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
77898
77899         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
77900         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
77901         Don't depend on VMS; depend on __VMS instead, for POSIX
77902         namespace cleanness.
77903         (regoff_t): Define to ssize_t, not long int.
77904
77905         Remove the REG_ macros named below.  Instead, make the old names
77906         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
77907         __USE_GNU_REGEX.
77908         (REG_BACKSLASH_ESCAPE_IN_LISTS):
77909         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
77910         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
77911         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
77912         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
77913         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
77914         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
77915         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
77916         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
77917         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
77918         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
77919         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
77920         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
77921         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
77922         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
77923         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
77924         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
77925         (REG_NREGS):
77926         Remove.  All uses replaced by the old RE_* names.
77927         (RE_BACKSLASH_ESCAPE_IN_LISTS):
77928         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
77929         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
77930         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
77931         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
77932         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
77933         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
77934         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
77935         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
77936         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
77937         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
77938         Don't bother having these macros be independent of each others'
77939         values, since they no longer exist in the POSIX name space.
77940
77941         Rename the following member names back to their old names,
77942         unless !__USE_GNU_REGEX.  All uses changed back.
77943         (buffer): Renamed from re_buffer.
77944         (allocated): Renamed from re_allocated.
77945         (used): Renamed from re_used.
77946         (syntax): Renamed from re_syntax.
77947         (fastmap): Renamed from re_fastmap.
77948         (translate): Renamed from re_translate.
77949         (can_be_null): Renamed from re_can_be_null.
77950         (regs_allocated): Renamed from re_regs_allocated.
77951         (fastmap_accurate): Renamed from re_fastmap_accurate.
77952         (no_sub): Renamed from re_no_sub.
77953         (not_bol): Renamed from re_not_bol.
77954         (not_eol): Renamed from re_not_eol.
77955         (newline_anchor): Renamed from re_newline_anchor.
77956         (num_regs): Renamed from rm_num_regs.
77957         (start): Renamed from rm_start.
77958         (end): Renamed from rm_end.
77959
77960         (free_state): Move up a bit.
77961
77962         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
77963         #define to be empty.
77964         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
77965         when that is what is intended.
77966         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
77967         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
77968         (MAX): New macro.
77969         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
77970         All uses changed back to re_malloc, etc.  It's now the caller's
77971         responsibility to check for overflow; all callers changed.
77972         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
77973         (re_x2nrealloc): Remove.
77974         (free_state): Remove decl.
77975
77976         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
77977         (re_set_registers, re_exec):
77978         Use K&R-style defn.
77979
77980         2006-01-31  Roland McGrath  <roland@redhat.com>
77981
77982         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
77983         Reported by Mike Frysinger <vapier@gentoo.org>.
77984
77985         2006-01-15  Andreas Jaeger  <aj@suse.de>
77986
77987         [BZ #1950]
77988         * lib/regex_internal.c (re_string_reconstruct): Adjust for
77989         build_wcs_upper_buffer change.
77990         (build_wcs_upper_buffer): Change return type.
77991
77992         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
77993
77994         * lib/regex_internal.h: Include <stdint.h> if available.
77995
77996         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
77997
77998         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
77999
78000         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
78001
78002         * lib/regcomp.c: Adjust for changed secondary hash function.
78003
78004         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
78005
78006         * lib/regex.h: Pretty printing.
78007         Clean up namespace a bit.
78008
78009         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
78010
78011         * lib/regexec.c (update_cur_sifted_state, check_arrival,
78012         check_arrival_add_next_nodes): Avoid using uninitialized variable.
78013
78014         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78015                     Ulrich Drepper  <drepper@redhat.com>
78016
78017         [BZ #1302]
78018         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
78019         changed.
78020         (bitset_word_t): Renamed from bitset_word.  All uses changed.
78021
78022         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
78023
78024         [BZ #281]
78025         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
78026         * lib/regcomp.c: Remove unnecessary uses of
78027         unsigned RE_TRANSLATE_TYPE.
78028         * lib/regex_internal.h: Likewise.
78029         * lib/regex_internal.c: Likewise.
78030         * lib/regexec.c: Likewise.
78031         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
78032
78033         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
78034
78035         * lib/regexec.c (find_recover_state): Remove unnecessary
78036         initialization.
78037         (transit_state_bkref): Make DFA a const pointer.
78038         (get_subexp): Likewise.
78039         (check_arrival): Likewise.
78040         (update_cur_sifted_state): Likewise.
78041         (re_search_internal): Likewise.
78042         (prune_impossible_nodes): Likewise.
78043         (acquire_init_state_context): Likewise.
78044         (proceed_next_node): Likewise.
78045         (set_regs): Likewise.
78046         (free_fail_stack_return): Likewise.
78047         (check_arrival_expand_ecl): Mark DFA parameter as const.
78048         (check_arrival_expand_ecl_sub): Likewise.
78049         (check_subexp_limits): Likewise.
78050         (sub_epsilon_src_nodes):  Likewise.
78051         (add_epsilon_src_nodes):  Likewise.
78052         (merge_state_array): Likewise.
78053         (update_regs): Likewise.
78054         (build_trtable): Likewise.
78055         (sift_states_backward): Mark MCTX parameter as const.
78056         (build_sifted_states): Likewise.
78057         (update_cur_sifted_state): Likewise.
78058         (sift_states_mkref): Likewise.
78059         (check_arrival_expand_ecl): Mark eclosure as const.
78060         (check_dst_limits_calc_pos_1): Likewise.
78061         * lib/regex_internal.h (re_match_context_t): Make dfa a const
78062         pointer.
78063
78064         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
78065
78066         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
78067         (transit_state_sb): Likewise.
78068         (transit_state_mb): Likewise.
78069         (sift_states_iter_mb): Likewise.
78070         (check_arrival_add_next_nodes): Likewise.
78071         (check_node_accept_bytes): Change first parameter to pointer-to-const.
78072         [_LIBC] (re_search_2_stub): Use mempcpy.
78073
78074         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
78075         mbrtowc for very simple UTF-8 case.
78076
78077         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
78078         a pointer-to-const.
78079         (re_acquire_state_context): Likewise.
78080         * lib/regex_internal.h: Adjust prototypes.
78081
78082         * lib/regex.c: Prevent using C++ compilers.
78083
78084         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
78085         (re_acquire_state_context): Likewise.
78086
78087 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78088
78089         * modules/regex (Depends-on): Add ssize_t.
78090
78091 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78092
78093         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
78094         translation table.
78095
78096 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78097
78098         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
78099
78100 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
78101             Bruno Haible  <bruno@clisp.org>
78102
78103         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
78104         <sys/types.h> and <inttypes.h>.
78105
78106 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78107
78108         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
78109         `__error_t_defined', so argp.h will not typedef the former.
78110
78111 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78112
78113         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
78114         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
78115         glibc names.  Even if glibc is changed to conform to POSIX, the
78116         traditional names will be available anyway, since regex depends on
78117         the extensions module.  Also, fix a longstanding typo in the
78118         implementation of Spencer ERE test #75 from grep 2.3.  Problems
78119         reported by Emanuele Giaquinta.  Also, change sense of cached
78120         variable, so that the message makes sense.
78121
78122 2006-03-24  Simon Josefsson  <jas@extundo.com>
78123
78124         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
78125         including some doc fixes.
78126         (base64_encode_alloc): Fix +1 bug on allocation failures.
78127
78128 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78129
78130         * lib/base64.c (base64_encode): Do not read past end of array with
78131         unsanitized input on systems with CHAR_BIT > 8.
78132
78133 2006-03-24  Eric Blake  <ebb9@byu.net>
78134
78135         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
78136
78137 2006-03-22  Karl Berry  <karl@gnu.org>
78138
78139         * config/srclist.txt (*setenv.[ch]): get from coreutils.
78140         * config/srclistvars.sh (COREUTILS): new var.
78141
78142 2006-03-17  Jim Meyering  <jim@meyering.net>
78143
78144         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
78145         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
78146
78147 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78148
78149         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
78150         no longer needs it.  Instead, check that regoff_t is as least
78151         as wide as ptrdiff_t.
78152
78153         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
78154         so that our regex.h stays compatible with the installed regex.
78155         This is helpful for installers who configure --without-included-regex.
78156         Problem reported by Emanuele Giaquinta.
78157
78158 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78159
78160         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
78161         Typedef to long int, not to off_, as POSIX will likely change
78162         in that direction.
78163
78164 2006-03-15  Eric Blake  <ebb9@byu.net>
78165
78166         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
78167
78168 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78169
78170         * lib/argp-help.c (validate_uparams): Fix typo
78171         * lib/argp-parse.c (argp_default_options): Consistently begin help
78172         messages with a lowercase letter.
78173
78174 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
78175
78176         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
78177         overrun buffers and shouldn't be used (much as gets shouldn't be
78178         used).
78179         * lib/time_r.c (asctime_r, ctime_r): Likewise.
78180
78181 2006-03-08  Simon Josefsson  <jas@extundo.com>
78182
78183         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
78184         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78185
78186 2006-03-08  Simon Josefsson  <jas@extundo.com>
78187
78188         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
78189         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78190
78191 2006-03-08  Simon Josefsson  <jas@extundo.com>
78192
78193         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
78194         signal that configure disabled the device.
78195
78196 2006-03-08  Simon Josefsson  <jas@extundo.com>
78197
78198         * build-aux/maint.mk: Fix refresh-po, to handle no translated
78199         languages.
78200
78201 2006-03-07  Simon Josefsson  <jas@extundo.com>
78202
78203         * modules/getopt (Depends-on): Add unistd.
78204
78205         * modules/unistd: New file.
78206
78207 2006-03-07  Simon Josefsson  <jas@extundo.com>
78208
78209         * modules/gc-random: New file.
78210
78211 2006-03-07  Simon Josefsson  <jas@extundo.com>
78212
78213         * m4/unistd_h.m4: New file.
78214
78215 2006-03-07  Simon Josefsson  <jas@extundo.com>
78216
78217         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
78218         test to be side-effect free by storing the result in the cache
78219         variable gl_cv_lib_readline, and moving the assignment of
78220         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
78221         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78222
78223 2006-03-07  Simon Josefsson  <jas@extundo.com>
78224
78225         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
78226         error on missing devices (the functions will return an error).
78227
78228         * m4/gc.m4: Move random stuff to gc-random.m4
78229
78230 2006-03-07  Simon Josefsson  <jas@extundo.com>
78231
78232         * lib/unistd_.h: New file.
78233
78234 2006-03-07  Simon Josefsson  <jas@extundo.com>
78235
78236         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
78237
78238 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78239
78240         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
78241         Problem reported by Juan Manuel Guerrero.
78242
78243 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78244
78245         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
78246         the unistd module.
78247         * lib/getlogin_r.c: Likewise.
78248         * lib/getlogin_r.h: Likewise.
78249         * lib/glob.c: Likewise.
78250         * lib/pagealign_alloc.c: Likewise.
78251         * lib/unistd_.h: Remove; no longer needed.
78252
78253 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
78254
78255         * MODULES.html.sh (Support for systems lacking POSIX:2001):
78256         Add unistd.
78257         * modules/c-stack (Depends-on): Add unistd.
78258         * modules/getlogin_r: Likewise.
78259         * modules/glob: Likewise.
78260         * modules/pagealign_alloc: Likewise.
78261         * modules/unistd (Files): Remove lib/unistd_.h.
78262         (EXTRA_DIST): Remove.
78263         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
78264         need unistd_.h.
78265         (MOSTLYCLEANFILES): Remove unistd.h-t.
78266
78267 2006-03-03  Simon Josefsson  <jas@extundo.com>
78268
78269         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
78270
78271 2006-03-03  Simon Josefsson  <jas@extundo.com>
78272
78273         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
78274         libidn and bison.
78275
78276 2006-03-03  Simon Josefsson  <jas@extundo.com>
78277
78278         * build-aux/maint.mk: Add indent target.
78279
78280 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
78281
78282         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
78283         our replacement poll.h in any case, to avoid a differing
78284         declaration from a system header.  Seen on AIX.
78285
78286 2006-03-01  Simon Josefsson  <jas@extundo.com>
78287
78288         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
78289         <kasal@ucw.cz>.
78290
78291 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78292
78293         * modules/gettime (Depends-on): Add extensions module.
78294         * modules/nanosleep (Depends-on): Likewise.
78295         * modules/settime (Depends-on): Likewise.
78296
78297 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
78298
78299         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
78300         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
78301         pedantically.
78302         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78303         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
78304
78305         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
78306         not "==".  Reported by Ralf Wildenhues.
78307
78308 2006-03-01  Karl Berry  <karl@gnu.org>
78309
78310         * doc/Copyright/request-*: new files, synced from gnuorg.
78311
78312 2006-03-01  Karl Berry  <karl@gnu.org>
78313
78314         * config/srclist.txt (Copyright/*): new entries.
78315
78316 2006-02-28  Simon Josefsson  <jas@extundo.com>
78317
78318         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
78319
78320 2006-02-27  Simon Josefsson  <jas@extundo.com>
78321
78322         * lib/base64.h: Indent #define's.  From Jim Meyering
78323         <jim@meyering.net>.
78324
78325 2006-02-27  Jim Meyering  <jim@meyering.net>
78326
78327         Revert the change of 2006-02-24, so these files can continue
78328         to be sync'd from gettext.
78329         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
78330         of `config.h'.
78331
78332 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
78333
78334         * modules/intprops: New file.
78335         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
78336         Add intprops.
78337         * modules/getloadavg (Files): Remove lib/intprops.h.
78338         (Depends-on): Add intprops.
78339         * modules/human: Likewise.
78340         * modules/inttostr: Likewise.
78341         * modules/openat: Likewise.
78342         * modules/sig2str: Likewise.
78343         * modules/userspec: Likewise.
78344         * modules/utimecmp: Likewise.
78345         * modules/xnanosleep: Likewise.
78346         * modules/xstrtol: Likewise.
78347
78348 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
78349
78350         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
78351         * modules/lock-tests (TESTS): Use $(EXEEXT).
78352         * modules/tls-tests: Likewise.
78353         * modules/argp-tests: Likewise.
78354         (check_PROGRAMS): New var, replacing...
78355         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
78356
78357 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78358
78359         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
78360         `config.h'.
78361
78362 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
78363
78364         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
78365
78366 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78367
78368         Sync from coreutils.
78369         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
78370         gl_CHDIR_SAFER.
78371
78372 2006-02-22  Jim Meyering  <jim@meyering.net>
78373
78374         Sync from coreutils.
78375         * m4/chdir-safer.m4: New file.
78376
78377 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
78378
78379         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
78380         AT_FDCWD exceeds INT_MAX.
78381         * lib/openat.h (AT_FDCWD): Likewise.
78382
78383 2006-02-17  Eric Blake  <address@hidden>
78384
78385         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
78386
78387 2006-02-16  Simon Josefsson  <jas@extundo.com>
78388
78389         * modules/getaddrinfo (Depends-on): Add sys_socket.
78390
78391 2006-02-15  Simon Josefsson  <jas@extundo.com>
78392
78393         * build-aux/maint.mk: Add dsyntax-check rule.
78394
78395 2006-02-15  Eric Blake  <ebb9@byu.net>
78396
78397         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
78398         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
78399         'present but cannot compile' warnings on cygwin.
78400         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
78401         use ws2tcpip.h if sys/socket.h works.
78402         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
78403         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
78404
78405 2006-02-14  Simon Josefsson  <jas@extundo.com>
78406
78407         * modules/maintainer-makefile (Files): Rename.
78408
78409         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
78410         and (the local) Makefile.cfg to maint-cfg.mk.
78411
78412         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
78413         to the latter.
78414
78415         * modules/maintainer-makefile: New module.
78416
78417         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
78418         severaly stripped to make it possible to build it up from scratch
78419         with reliable tests.
78420
78421         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
78422         fixes to permit overriding the default actions when configure and
78423         makefile are not available.
78424
78425 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
78426
78427         Sync from coreutils.
78428         * modules/lstat (Depends-on): Don't depend on xalloc.
78429         (License): Change from GPL to LGPL, since this is now simply a
78430         replacement for a libc function.
78431
78432 2006-02-14  Jim Meyering  <jim@meyering.net>
78433
78434         Sync from coreutils.
78435
78436         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
78437         failure on deficient systems, and simplify gnulib lgpl dependencies.
78438         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
78439         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
78440
78441         * lib/xalloc-die.c: Remove unused definition of N_.
78442
78443 2006-02-14  Jim Meyering  <jim@meyering.net>
78444
78445         Sync from coreutils.
78446         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
78447         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
78448         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
78449         double-quote uses of that variable, to accommodate the rare case in
78450         which getmntent is available in none of the libraries checked.  This
78451         happens at least on FreeBSD 5.0.
78452
78453 2006-02-13  Simon Josefsson  <jas@extundo.com>
78454
78455         * gnulib-tool (Usage): Fix --import, from
78456         karl@freefriends.org (Karl Berry).
78457
78458 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78459
78460         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
78461
78462 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
78463
78464         * lib/argp-namefrob.h: Restore changes accidentally lost during the
78465         "autoupdate" on 2005-12-12.
78466
78467 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78468
78469         * modules/closeout (Depends-on): Remove atexit.
78470
78471 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
78472
78473         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
78474         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
78475
78476 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
78477
78478         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
78479         __EXTENSIONS__ if this causes compilation to fail.  Problem
78480         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
78481         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
78482
78483 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
78484
78485         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
78486         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
78487         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
78488         All uses changed.
78489
78490 2006-01-26  Simon Josefsson  <jas@extundo.com>
78491
78492         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
78493         prototype is visible on mingw32.
78494
78495         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
78496         for mingw32.
78497
78498         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
78499         mingw32).
78500
78501 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
78502
78503         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
78504         attempt to open for write; this always fails, at least on POSIX
78505         hosts.  This reinstates the 2006-01-09 change, which was
78506         inadvertently removed.
78507
78508 2006-01-26  Bruno Haible  <bruno@clisp.org>
78509
78510         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
78511         Reported by Paul Eggert.
78512
78513 2006-01-26  Bruno Haible  <bruno@clisp.org>
78514             Paul Eggert  <eggert@cs.ucla.edu>
78515
78516         * lib/stdbool_.h (_Bool)
78517         [(! (defined __cplusplus || defined __BEOS__)
78518           && !defined __GNUC__
78519           && !(defined __HP_cc || defined __xlc__
78520                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
78521                || defined __sgi))]:
78522         #define to signed char in these cases too; this simplifies
78523         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
78524         etc., separately) and makes it more conservative.
78525
78526 2006-01-25  Simon Josefsson  <jas@extundo.com>
78527
78528         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
78529         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
78530         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
78531
78532 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78533
78534         * lib/argp-namefrob.h: Bugfix. Remove stray #
78535
78536 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
78537
78538         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
78539         so that we test the test.
78540         Check for yet another HP-UX cc bug involving *bool |= bool.
78541
78542 2006-01-25  Karl Berry  <karl@gnu.org>
78543
78544         * config/srclist.txt (vasnprintf.c): sync lost.
78545
78546 2006-01-25  Jim Meyering  <jim@meyering.net>
78547
78548         Sync from the stable (b5) branch of coreutils:
78549
78550         * lib/fts.c (fts_children): Don't let close() clobber errno from
78551         failed fchdir().
78552
78553         * lib/fts.c (fts_stat): When following a symlink-to-directory,
78554         don't necessarily interpret stat-fails+lstat-succeeds as indicating
78555         a dangling symlink.  That can also happen at least for ELOOP.
78556         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
78557         FYI, this bug predates the inclusion of fts.c in coreutils.
78558
78559         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
78560         in their own block, so pre-c99 compilers don't object.
78561
78562         Avoid the double-free (first in fts_read, second in fts_close) that
78563         would occur when an `active' directory is made inaccessible (e.g.,
78564         via chmod a-x) during a traversal.
78565         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78566         before returning.  Reproduce this failure by
78567         mkdir -p a/b; cd a; chmod a-x . b
78568         Reported by Stavros Passas.
78569
78570 2006-01-25  Jim Meyering  <jim@meyering.net>
78571
78572         * lib/fileblocks.c: Remove more useless parentheses.
78573         * lib/readutmp.h: Likewise.
78574
78575 2006-01-25  Bruno Haible  <bruno@clisp.org>
78576
78577         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
78578         warnings.
78579         Reported by Paul Eggert.
78580
78581 2006-01-25  Bruno Haible  <bruno@clisp.org>
78582
78583         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
78584         rid of a trap command. For Solaris sh.
78585         Reported by Mark D. Baushke <mdb@gnu.org>.
78586
78587 2006-01-24  Simon Josefsson  <jas@extundo.com>
78588
78589         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
78590         Bruno.
78591
78592 2006-01-24  Karl Berry  <karl@gnu.org>
78593
78594         * config/srclist.txt (argp-namefrob.h): sync lost.
78595
78596 2006-01-24  Jim Meyering  <jim@meyering.net>
78597
78598         * modules/openat (Files): Add lib/intprops.h.
78599         From Mark D. Baushke.
78600
78601 2006-01-24  Jim Meyering  <jim@meyering.net>
78602
78603         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
78604         Reported by Mark D. Baushke.
78605
78606 2006-01-24  Jim Meyering  <jim@meyering.net>
78607
78608         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
78609
78610 2006-01-24  Bruno Haible  <bruno@clisp.org>
78611
78612         * modules/strnlen (Maintainer): Change from glibc to all.
78613
78614 2006-01-24  Bruno Haible  <bruno@clisp.org>
78615
78616         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
78617         Patch by Paul Eggert.
78618
78619 2006-01-24  Bruno Haible  <bruno@clisp.org>
78620
78621         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
78622         already has it.
78623         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
78624         2005-11-26.
78625
78626         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
78627         'signed char' to avoid problems with the built-in _Bool type.
78628         Reported by Paul Eggert on 2005-11-26.
78629
78630 2006-01-24  Bruno Haible  <bruno@clisp.org>
78631
78632         * gnulib-tool (func_import): Avoid constructing complicated sed
78633         expressions inside backquote.
78634         Report and solution by Mark D. Baushke <mdb@gnu.org>.
78635
78636 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
78637
78638         These changes imported from libc.
78639         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
78640         test and two separate function calls.
78641         * lib/strndup.c (__strndup): Add libc_hidden_def.
78642
78643 2006-01-23  Simon Josefsson  <jas@extundo.com>
78644
78645         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
78646         Remove the test_*_SOURCES variable: automake infers it by default.
78647         * modules/tls-tests: Likewise.
78648
78649 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78650
78651         Work around porting bugs reported by Dieter in
78652         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
78653         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
78654         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
78655         Include "getopt.h" first, to check interface.
78656         (getenv): Declare only if defined HAVE_DECL_GETENV &&
78657         !HAVE_DECL_GETENV.
78658         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
78659         (__strndup): Revert to K&R-style function dfns, the glibc style.
78660         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
78661         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
78662         Include strnlen.h first, to get prototype properly.
78663         (strnlen): Renamed from __strnlen.
78664         Remove weak alias.
78665
78666 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78667
78668         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
78669
78670 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
78671
78672         * config/srclist.txt: Adjust to reflect glibc reorganization.
78673         This affects only comments.
78674
78675 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78676
78677          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
78678          Reported by Bruce Korb <bkorb@gnu.org>.
78679
78680 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
78681
78682         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
78683         to pacify gcc -Wswitch-default.
78684
78685 2006-01-22  Bruno Haible  <bruno@clisp.org>
78686
78687         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
78688         temporary buffer for sprintf, take into account the precision also
78689         for 'd', 'i', 'u', 'o', 'x', 'X'.
78690
78691 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78692
78693         * modules/argp-tests: New module
78694         * tests/test-argp.c: New file
78695         * tests/test-argp-2.sh: New file
78696
78697 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
78698
78699         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
78700         (__argp_base_name): Removed
78701         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
78702         typo.
78703         (__argp_base_name): Provide macro definition or extern declaration
78704         depending on the configuration
78705
78706 2006-01-20  Simon Josefsson  <jas@extundo.com>
78707
78708         * modules/inet_ntop (Depends-on): Depend on sys_socket.
78709
78710 2006-01-20  Simon Josefsson  <jas@extundo.com>
78711
78712         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
78713
78714 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
78715
78716         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
78717         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
78718         Suggested by Bruno Haible.
78719
78720 2006-01-20  Karl Berry  <karl@gnu.org>
78721
78722         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
78723         until changes propagate, I guess.
78724
78725 2006-01-19  Simon Josefsson  <jas@extundo.com>
78726
78727         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
78728
78729 2006-01-19  Simon Josefsson  <jas@extundo.com>
78730
78731         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
78732
78733 2006-01-19  Simon Josefsson  <jas@extundo.com>
78734
78735         * gnulib-tool: Set check_PROGRAMS.
78736
78737         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78738         modules/des-tests, modules/gc-arcfour-tests,
78739         modules/gc-arctwo-tests, modules/gc-des-tests,
78740         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78741         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78742         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78743         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78744         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78745         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
78746         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
78747         test_*_SOURCES.
78748
78749 2006-01-18  Simon Josefsson  <jas@extundo.com>
78750
78751         * modules/socklen (Depends-on): Depend on sys_socket.
78752
78753 2006-01-18  Simon Josefsson  <jas@extundo.com>
78754
78755         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
78756         modules/des-tests, modules/gc-arcfour-tests,
78757         modules/gc-arctwo-tests, modules/gc-des-tests,
78758         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
78759         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
78760         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
78761         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
78762         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
78763         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
78764         $(EXEEXT) to automake TESTS variable, for mingw32.
78765
78766 2006-01-17  Simon Josefsson  <jas@extundo.com>
78767
78768         * modules/socklen (Include): Need sys/socket.h.
78769
78770 2006-01-17  Bruno Haible  <bruno@clisp.org>
78771
78772         * modules/ssize_t (Include): Add <sys/types.h>.
78773
78774 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
78775
78776         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
78777         it's not portable and it doesn't work with cross-compiles.
78778         Problem reported by Bruno Haible.  Fix missing-$ typo in
78779         'test "gl_cv_ignore_unused_libraries" ...' that prevented
78780         -zignore from being used with Sun's C compiler.
78781
78782 2006-01-12  Simon Josefsson  <jas@extundo.com>
78783
78784         * lib/base64.c: Fix warning, reported by Bruno Haible
78785         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
78786
78787 2006-01-12  Bruno Haible  <bruno@clisp.org>
78788
78789         * modules/ldd: New file.
78790         * build-aux/ldd.sh.in: New file.
78791         * MODULES.html.sh (Support for building libraries and executables): Add
78792         ldd.
78793
78794 2006-01-12  Bruno Haible  <bruno@clisp.org>
78795
78796         * m4/ldd.m4: New file.
78797
78798 2006-01-12  Bruno Haible  <bruno@clisp.org>
78799
78800         * gnulib-tool (func_import, func_create_testdir): Don't go into an
78801         endless loop while replacing $auxdir with build-aux.
78802
78803 2006-01-11  Simon Josefsson  <jas@extundo.com>
78804
78805         * lib/stdint_.h (SIZE_MAX): Add missing (.
78806
78807 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
78808
78809         Sync from coreutils.
78810         * lib/md5.c: Fix commentary typos.
78811         (alignof, UNALIGNED_P): No need for a GCC-specific version.
78812         * lib/md5.h (__attribute__): Remove; unused.
78813         * lib/sha1.c: Fix commentary to match md5 better.
78814         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
78815         so that we don't need to worry about alignment.  All uses changed.
78816         This merges the 2005-10-28 md5 change into sha1.
78817
78818 2006-01-11  Jim Meyering  <jim@meyering.net>
78819
78820         Sync from coreutils.
78821         * lib/md5.c (OP): Fix spacing.
78822
78823 2006-01-11  Bruno Haible  <bruno@clisp.org>
78824
78825         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78826         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
78827         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
78828
78829 2006-01-11  Bruno Haible  <bruno@clisp.org>
78830
78831         Ensure automatic ordering between gl_LOCK and gl_ARGP.
78832         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
78833         the "early" section as well.
78834
78835 2006-01-11  Bruno Haible  <bruno@clisp.org>
78836
78837         Avoid "ar: no archive members specified" error on MacOS X.
78838         * gnulib-tool (func_modules_add_dummy): New function.
78839         (func_import, func_create_testdir): Invoke it.
78840
78841 2006-01-11  Bruno Haible  <bruno@clisp.org>
78842
78843         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
78844         with $auxdir in AC_CONFIG_FILES statements.
78845
78846 2006-01-11  Bruno Haible  <bruno@clisp.org>
78847
78848         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78849         Initialize also noinst_HEADERS to empty.
78850
78851 2006-01-11  Bruno Haible  <bruno@clisp.org>
78852
78853         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
78854         variables.
78855         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
78856         autoreconf.
78857
78858 2006-01-11  Bruno Haible  <bruno@clisp.org>
78859
78860         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
78861         overridable by the user.
78862         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78863
78864 2006-01-10  Simon Josefsson  <jas@extundo.com>
78865
78866         * modules/sys_socket: New file.
78867
78868 2006-01-10  Simon Josefsson  <jas@extundo.com>
78869
78870         * m4/sys_socket_h.m4: New file.
78871
78872 2006-01-10  Simon Josefsson  <jas@extundo.com>
78873
78874         * lib/socket_.h: New file.
78875
78876 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78877
78878         * modules/readutmp (Maintainer): Add myself.
78879
78880 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78881
78882         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
78883         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
78884         People who are still concerned with buggy memcmp implementations
78885         can invoke gl_FUNC_MEMCMP themselves.
78886
78887 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
78888
78889         * lib/regex_internal.h (BITSET_WORD_BITS):
78890         Work around a bug in 64-bit PGC (before version 6.1-2), where the
78891         preprocessor mishandles large unsigned values as if they were signed.
78892         Problem reported by Claudio Fontana in
78893         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
78894
78895 2006-01-10  Jim Meyering  <jim@meyering.net>
78896
78897         Avoid the double-free (first in fts_read, second in fts_close) that
78898         would occur when an `active' directory is made inaccessible (e.g.,
78899         via chmod a-x) during a traversal.
78900         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
78901         before returning.  Reproduce this failure by
78902         mkdir -p a/b; cd a; chmod a-x . b
78903         Reported by Stavros Passas.
78904
78905         Sync from coreutils.
78906         * lib/sha1.c: Tweak grammar in a comment.
78907
78908 2006-01-10  Jim Meyering  <jim@meyering.net>
78909
78910         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
78911         Patch by Joerg Sonnenberger.
78912
78913 2006-01-10  Bruno Haible  <bruno@clisp.org>
78914
78915         * modules/readutmp: Depend on module free.
78916         * modules/strtok_r: Depend on module restrict.
78917
78918 2006-01-10  Bruno Haible  <bruno@clisp.org>
78919
78920         * modules/gettext (configure.ac): Add an invocation of
78921         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
78922
78923 2006-01-10  Bruno Haible  <bruno@clisp.org>
78924
78925         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
78926         Reported by Werner Lemberg <wl@gnu.org>.
78927
78928 2006-01-10  Bruno Haible  <bruno@clisp.org>
78929
78930         * lib/localcharset.c: Update from GNU gettext.
78931
78932 2006-01-10  Bruno Haible  <bruno@clisp.org>
78933
78934         * lib/argp.h (__const): Remove macro. Use const instead.
78935         * lib/argp-fmtstream.h (__const): Likewise.
78936         * lib/glob_.h (__const): Remove macro.
78937         * lib/glob-libc.h: Use const instead of __const.
78938
78939 2006-01-10  Bruno Haible  <bruno@clisp.org>
78940
78941         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
78942         variable.
78943         Needed to avoid an automake error regarding the 'gettext' module.
78944
78945 2006-01-09  Simon Josefsson  <jas@extundo.com>
78946
78947         * modules/inet_ntop (Depends-on): Add restrict.
78948
78949 2006-01-09  Simon Josefsson  <jas@extundo.com>
78950
78951         * modules/gc-rijndael-tests (License): Put under LGPL.
78952
78953         * modules/gc-des-tests (License): Likewise.
78954
78955         * modules/gc-arcfour-tests (License): Likewise.
78956
78957         * modules/gc-arctwo-tests (License): Likewise.
78958
78959         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
78960
78961         * modules/gc-hmac-sha1-tests (Files): Likewise.
78962
78963         * modules/gc-hmac-md5-tests (License): Likewise.
78964
78965         * modules/gc-sha1-tests (License): Likewise.
78966
78967         * modules/gc-md5-tests (License): Likewise.
78968
78969         * modules/gc-md4-tests (License): Likewise.
78970
78971         * modules/gc-md2-tests (License): Likewise.
78972
78973         * modules/gc-tests (License): Likewise.
78974
78975         * modules/des-tests (License): Likewise.
78976
78977         * modules/md4-tests (License): Likewise.
78978
78979         * modules/md2-tests (License): Likewise.
78980
78981 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78982
78983         Sync from coreutils:
78984
78985         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
78986         * modules/lib-ignore: New file.
78987         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
78988         chdir-safer.m4, lchmod.m4.
78989         * modules/openat: Add mkdirat.c, openat-priv.h.
78990
78991 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78992
78993         Sync from coreutils.
78994         * m4/lib-ignore.m4: New file.
78995         * m4/lchmod.m4: New file.
78996
78997 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
78998
78999         Sync from coreutils.
79000         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
79001         for write access: POSIX says that must fail.
79002         * lib/fts.c (diropen): Likewise.
79003         * lib/save-cwd.c (save_cwd): Likewise.
79004         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
79005         well, for minor improvements on hosts that lack O_DIRECTORY.
79006         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
79007         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
79008         Fall back on chown if open failed with EACCES.
79009
79010         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
79011         Report an error at compile-time if only a 1-second nominal clock
79012         resolution is found.
79013
79014         * lib/lchmod.h: New file.
79015         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
79016         (make_dir_parents): Use lchown rather than chown, and
79017         lchmod rather than chmod.
79018
79019         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
79020         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
79021         "proc" reported by n0dalus.
79022
79023         * lib/mountlist.c: Include <limits.h>.
79024         (dev_from_mount_options)
79025         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
79026         New function.  It no longer assumes "dev=" has the System V meaning
79027         on Linux (since it doesn't).  It also parses "dev=" more carefully.
79028         (read_file_system_list)
79029         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
79030         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
79031         dev= in that case.
79032
79033         * lib/posixtm.h (PDS_PRE_2000): New macro.
79034         * lib/posixtm.c (year): Arg is now syntax_bits rather than
79035         allow_century.  All usages changed.  Reject dates outside the range
79036         1969-1999 if PDS_PRE_2000 is used.
79037
79038 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79039
79040         Sync from coreutils.
79041         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
79042         (Time of day items): Mention the possibility of leap seconds.
79043         Problem reported by Dr. David Alan Gilbert.
79044
79045 2006-01-09  Jim Meyering  <jim@meyering.net>
79046
79047         Sync from coreutils.
79048
79049         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
79050
79051         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
79052
79053         * lib/modechange.c (mode_compile): Reject an invalid mode string
79054         that starts with an octal digit.  From Andreas Gruenbacher.
79055
79056         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
79057         and dup to open_safer and dup_safer, respectively.
79058         (openat_permissive): Fix typo in comment.
79059
79060         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
79061         "gettext.h"; either no longer needed or are guaranteed by openat.h.
79062         (_): Remove; no longer needed.
79063         (openat): Renamed from rpl_openat; no need for rpl_openat
79064         since openat.h renames openat for us.
79065         Replace most of the body with a call to openat_permissive,
79066         to avoid duplicate code.
79067         Port to (probably hypothetical) environments were mode_t is
79068         wider than int.
79069         (openat_permissive): Require mode arg, so that we can check
79070         types better.  Put it just after flags.  Change cwd failure
79071         indicator from pointer-to-bool to pointer-to-errno-value.
79072         All callers changed.
79073         Invoke openat_save_fail and/or openat_restore_fail if
79074         cwd_errno is null, so that openat can call us.
79075         (openat_permissive, fdopendir, fstatat, unlinkat):
79076         Simplify errno handling to avoid some duplicate code,
79077         as it's OK to set errno on success.
79078         * lib/openat.h: Revamp code so that function macros depend on
79079         __OPENAT_PREFIX only, not also on AT_FDCWD.
79080         (openat_ro): Remove.  Caller changed to use openat_permissive.
79081         (openat_permissive): Now a macro, if not a function.
79082         (openat_restore_fail, openat_save_fail): Now always functions,
79083         since mkdirat needs them even if __OPENAT_PREFIX is defined.
79084
79085         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
79086         and openat.c.
79087         * lib/mkdirat.c: Include openat-priv.h.
79088         Remove definitions of macros defined therein.
79089         * lib/openat.c: Likewise.
79090
79091         * lib/mkdirat.c (mkdirat): New file and function.
79092         * lib/openat.h (mkdirat): Declare.
79093
79094         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
79095
79096         * lib/openat.h (openat_permissive): Declare.
79097         (openat_ro): Define.
79098
79099         * lib/openat.c (EXPECTED_ERRNO): New macro.
79100         (openat_permissive): New function -- used in remove.c rewrite.
79101         (all functions): Set errno just before returning, only if there
79102         was an actual failure.
79103         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
79104
79105         Emulate openat-family functions using Linux's procfs, if possible.
79106         Idea and some code based on Ulrich Drepper's glibc changes.
79107
79108         * lib/openat.c: (BUILD_PROC_NAME): New macro.
79109         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
79110         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
79111         before falling back on save_cwd and restore_cwd.
79112         (fdopendir, fstatat, unlinkat): Likewise.
79113
79114         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
79115         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
79116
79117         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
79118         as second argument to va_arg.  Otherwise, some versions of gcc
79119         warn that `if this code is reached, the program will abort'.
79120
79121 2006-01-09  Jim Meyering  <jim@meyering.net>
79122
79123         Sync from coreutils.
79124         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
79125         Require openat-priv.h.
79126
79127 2006-01-09  Bruno Haible  <bruno@clisp.org>
79128
79129         * modules/strnlen (Include): Use strnlen.h.
79130
79131 2006-01-09  Bruno Haible  <bruno@clisp.org>
79132
79133         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
79134
79135 2006-01-09  Bruno Haible  <bruno@clisp.org>
79136
79137         * lib/sysexit_.h (EX_OK): New macro.
79138         Suggested by Martin Lambers <marlam@marlam.de>.
79139
79140 2006-01-09  Bruno Haible  <bruno@clisp.org>
79141
79142         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
79143         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
79144
79145 2006-01-09  Bruno Haible  <bruno@clisp.org>
79146
79147         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
79148         numbers.
79149
79150 2006-01-09  Bruno Haible  <bruno@clisp.org>
79151
79152         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
79153         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
79154         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
79155         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
79156
79157 2006-01-09  Bruno Haible  <bruno@clisp.org>
79158
79159         * build-aux/javacomp.sh.in: New file, moved from lib/.
79160         * modules/javacomp-script (Files): Update.
79161         (configure.ac): Add AC_CONFIG_FILES invocation.
79162         (EXTRA_DIST): Remove variable.
79163
79164         * build-aux/javaexec.sh.in: New file, moved from lib/.
79165         * modules/javaexec (Files): Update.
79166         (configure.ac): Add AC_CONFIG_FILES invocation.
79167         (EXTRA_DIST): Remove javaexec.sh.in.
79168
79169         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
79170         * modules/csharpcomp-script (Files): Update.
79171         (configure.ac): Add AC_CONFIG_FILES invocation.
79172         (EXTRA_DIST): Remove variable.
79173
79174         * build-aux/csharpexec.sh.in: New file, moved from lib/.
79175         * modules/csharpexec (Files): Update.
79176         (configure.ac): Add AC_CONFIG_FILES invocation.
79177         (EXTRA_DIST): Remove csharpexec.sh.in.
79178
79179 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79180
79181         Sync from coreutils.
79182
79183         Add POSIX ACL support
79184         * lib/acl.h (copy_acl, set_acl): Add declarations.
79185         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
79186         systems other than Linux.
79187         (chmod_or_fchmod): New function: use fchmod when possible,
79188         and chmod otherwise.
79189         (file_has_acl): Add a POSIX ACL implementation, with a
79190         Linux-specific subcase.
79191         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
79192         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
79193         acls are unsupported.
79194         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
79195         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
79196         are unsupported.
79197
79198 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79199
79200         Sync from coreutils.
79201         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
79202
79203 2006-01-07  Bruno Haible  <bruno@clisp.org>
79204
79205         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
79206         gl_EARLY.
79207
79208 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79209
79210         * lib/strftime.c (tzname): Don't declare if it is already #defined.
79211         Problem reported for Mingw by Mark Junker.
79212
79213 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79214
79215         * README: Gnulib normally doesn't generate a tarball.
79216
79217 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
79218
79219         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
79220         long int, not int, for nanosecond counts, so that people who are
79221         used to POSIX struct timespec won't be surprised.  Reported by Jim
79222         Meyering.
79223
79224 2005-12-28  Bruno Haible  <bruno@clisp.org>
79225
79226         * build-aux/config.rpath: Update from GNU gettext.
79227
79228 2005-12-16  Jim Meyering  <jim@meyering.net>
79229
79230         * modules/fprintftime: New module.
79231         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
79232
79233 2005-12-16  Jim Meyering  <jim@meyering.net>
79234
79235         * m4/fprintftime.m4: New file.
79236
79237 2005-12-16  Jim Meyering  <jim@meyering.net>
79238
79239         * lib/fprintftime.c, lib/fprintftime.h: New files.
79240
79241 2005-12-15  Simon Josefsson  <jas@extundo.com>
79242
79243         * modules/socklen (configure.ac): Fix M4 macro name, to align with
79244         new m4/socklen.m4.
79245
79246 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79247
79248         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
79249         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
79250
79251 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
79252
79253         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
79254         * lib/argp-help.c (fill_in_uparams): Check if the constructed
79255         struct uparams is valid. Fall back to the default values if it is
79256         not.
79257
79258 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79259
79260         * modules/argp (Files): Add argp-pin.c
79261         (Depends-on): dirname
79262         (lib_SOURCES): Add argp-pin.c
79263
79264 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79265
79266         * m4/argp.m4:  Check if program_invocation_name and
79267         program_invocation_short_name are declared and define appropriate
79268         macros if they are not.
79269
79270 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
79271
79272         * lib/argp-help.c (__argp_base_name): New function
79273         (__argp_short_program_name): Rewrite using __argp_base_name
79274         * lib/argp-namefrob.h: Define program_invocation_name and
79275         program_invocation_short_name if requested
79276         (__argp_base_name): Add prototype
79277         * lib/argp-parse.c (argp_def): Use gettext wrappers
79278         (argp_default_parser): Use __argp_base_name
79279         * lib/argp-pin.c: New file. Defines program_invocation_name and
79280         program_invocation_short_name on systems that lack them.
79281
79282 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79283
79284         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
79285         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79286         porting problem reported by Georg Schwarz in
79287         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79288
79289 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79290
79291         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
79292         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
79293         porting problem reported by Georg Schwarz in
79294         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
79295
79296 2005-12-05  Bruno Haible  <bruno@clisp.org>
79297
79298         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
79299         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
79300         Reported by Mark Junker <mjscod@gmx.de>.
79301
79302 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
79303
79304         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
79305         Use implementation from Albert Chin, with some
79306         comments/corrections by Stepan Kasal and myself.
79307
79308 2005-12-02  Bruno Haible  <bruno@clisp.org>
79309
79310         * gnulib-tool (func_import): Accept GPLed build tool modules when
79311         --lgpl is given.
79312         * modules/csharpcomp-script: New file.
79313         * modules/csharpcomp: Depend on it.
79314         * modules/javacomp-script: New file.
79315         * modules/javacomp: Depend on it.
79316         Suggested by Simon Josefsson.
79317
79318 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
79319
79320         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
79321         statement, to work around an HP-UX 10.20 compiler bug reported by
79322         Peter O'Gorman.
79323
79324 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79325
79326         * modules/savedir (Depends-on): Add openat.
79327
79328 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
79329
79330         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
79331         (uintmax_t) [defined uintmax_t]: Do not declare.
79332         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
79333         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
79334         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
79335         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
79336         sake of portability to weird hosts that C allows (though we don't
79337         know of any practical examples).
79338
79339         * lib/savedir.h (fdsavedir): New decl.
79340         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
79341         contains most of the former guts of savedir.
79342         (savedir): Use savedirstream.
79343         Include "openat.h".
79344
79345 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79346
79347         * modules/obstack (Files): Add m4/ulonglong.m4.
79348         Problem reported by Davide Angelocola.
79349
79350 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
79351
79352         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
79353         coreutils no longer futzes with rounding modes.
79354
79355 2005-11-14  Jim Meyering  <jim@meyering.net>
79356
79357         * lib/mkstemp-safer.c: Include <config.h>, required for possible
79358         replacement of mkstemp.
79359
79360 2005-11-10  Simon Josefsson  <jas@extundo.com>
79361
79362         * lib/readline.c: Remove EOL.
79363
79364 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79365
79366         * modules/gethrxtime (Depends-on): Add gettime.
79367
79368 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79369
79370         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
79371         or gettimeofday; no longer needed.
79372
79373 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
79374
79375         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
79376         time business.
79377         (gethrxtime) [! (HAVE_NANOUPTIME
79378         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
79379         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
79380         our own approximation.
79381
79382 2005-11-08  Eric Blake  <ebb9@byu.net>
79383
79384         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79385
79386 2005-11-08  Eric Blake  <ebb9@byu.net>
79387
79388         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
79389
79390 2005-11-04  Bruno Haible  <bruno@clisp.org>
79391
79392         * gnulib-tool: Implement --update mode.
79393
79394 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79395
79396         Fix porting problem reported by Theodoros V. Kalamatianos.
79397         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
79398         Don't assume that futimes failing means we must fail.
79399
79400 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
79401
79402         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
79403         variables to suggest the intended function of the PATH_MAX check.
79404
79405 2005-10-30  Kean Johnston  <jkj@sco.com>
79406
79407         Trivial changes to support SCO systems.
79408         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
79409         as PATH_MAX.
79410         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
79411         where __ptr is null when no I/O is pending.
79412
79413 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
79414
79415         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
79416         leave errno alone.  Problem reported by Dmitry V. Levin.
79417
79418 2005-10-28  Simon Josefsson  <jas@extundo.com>
79419
79420         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
79421         Test more.
79422
79423         * tests/test-gc-md2.c, tests/test-md2.c: New files.
79424
79425         * modules/md2, modules/md2-tests: New files.
79426
79427 2005-10-28  Simon Josefsson  <jas@extundo.com>
79428
79429         * m4/inet_ntop.m4: More tests.
79430
79431         * m4/gc-md2.m4, md2.m4: New file.
79432
79433 2005-10-28  Simon Josefsson  <jas@extundo.com>
79434
79435         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
79436         "restrict" keywords, as per POSIX.  Protect the function
79437         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
79438         Don't use K&R prototypes.  Check the sprintf return values.
79439         Re-define EAFNOSUPPORT if not present.  Indent.
79440
79441         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
79442         suggested by Bruno Haible <bruno@clisp.org>.
79443
79444         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
79445
79446         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
79447
79448         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
79449         libgcrypt).
79450
79451         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
79452
79453         * lib/md2.h, lib/md2.c: New files.
79454
79455 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
79456
79457         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
79458         errno alone.  Problem reported by Frederic Jolliton.
79459
79460 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
79461
79462         * modules/verify (License): Change from GPL to LGPL.  This is a
79463         tiny module and there are apparently near-equivalents that are
79464         under the BSD license.
79465
79466 2005-10-24  Simon Josefsson  <jas@extundo.com>
79467
79468         * modules/sha1: Relicense to LGPL.
79469
79470 2005-10-24  Simon Josefsson  <jas@extundo.com>
79471
79472         * lib/md4.h: Shrink buffer size, now that we changed the type.
79473
79474 2005-10-23  Simon Josefsson  <jas@extundo.com>
79475
79476         * gnulib-tool (func_import): Fix --tests-base.
79477
79478 2005-10-22  Simon Josefsson  <jas@extundo.com>
79479
79480         * modules/arcfour (Depends-on): Need stdint.
79481
79482 2005-10-22  Simon Josefsson  <jas@extundo.com>
79483
79484         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
79485         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
79486
79487 2005-10-22  Simon Josefsson  <jas@extundo.com>
79488
79489         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
79490         suggested by Bruno Haible <bruno@clisp.org>.
79491
79492 2005-10-22  Simon Josefsson  <jas@extundo.com>
79493
79494         * lib/crc.h: Include stddef.h, for size_t.
79495
79496 2005-10-22  Simon Josefsson  <jas@extundo.com>
79497
79498         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
79499         arcfour_context struct (simplify test vector testing in GNU
79500         Shishi).
79501
79502 2005-10-21  Simon Josefsson  <jas@extundo.com>
79503
79504         * modules/des, modules/des-tests: New files.
79505
79506         * modules/gc-des, modules/gc-des-tests: New files.
79507
79508         * tests/test-des.c, tests/test-gc-des.c: New file.
79509
79510 2005-10-21  Simon Josefsson  <jas@extundo.com>
79511
79512         * modules/arctwo, modules/arctwo-tests: New files.
79513
79514         * tests/test-arctwo.c: New file.
79515
79516         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
79517
79518         * tests/test-gc-arctwo.c: New file.
79519
79520 2005-10-21  Simon Josefsson  <jas@extundo.com>
79521
79522         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
79523         Bruno Haible <bruno@clisp.org>.
79524
79525         * m4/gc-des.m4: New file.
79526
79527 2005-10-21  Simon Josefsson  <jas@extundo.com>
79528
79529         * m4/arctwo.m4: New file.
79530
79531         * m4/gc-arctwo.m4: New file.
79532
79533 2005-10-21  Simon Josefsson  <jas@extundo.com>
79534
79535         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
79536         block.
79537
79538 2005-10-21  Simon Josefsson  <jas@extundo.com>
79539
79540         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
79541         <bruno@clisp.org>.
79542
79543         * lib/hmac-sha1.c (hmac_sha1): Likewise.
79544
79545         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
79546         Bruno Haible <bruno@clisp.org>.
79547
79548         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
79549         <bruno@clisp.org>.
79550
79551 2005-10-21  Simon Josefsson  <jas@extundo.com>
79552
79553         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
79554
79555 2005-10-21  Simon Josefsson  <jas@extundo.com>
79556
79557         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
79558
79559 2005-10-21  Simon Josefsson  <jas@extundo.com>
79560
79561         * lib/des.h, lib/des.c: New files.
79562
79563         * lib/gc-gnulib.c: Support DES.c
79564
79565 2005-10-21  Simon Josefsson  <jas@extundo.com>
79566
79567         * lib/arctwo.h, lib/arctwo.c: New files.
79568
79569         * lib/gc-gnulib.c: Support ARCTWO.
79570
79571 2005-10-21  Simon Josefsson  <jas@extundo.com>
79572
79573         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
79574         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79575
79576 2005-10-21  Simon Josefsson  <jas@extundo.com>
79577
79578         * gnulib-tool (func_import, func_create_testdir): Define automake
79579         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
79580         Makefile.am snippet),
79581         suggested by Bruno Haible <bruno@clisp.org>.
79582
79583         * modules/gc (Makefile.am): Use it.
79584
79585 2005-10-21  Bruno Haible  <bruno@clisp.org>
79586
79587         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
79588         patch.
79589
79590 2005-10-19  Simon Josefsson  <jas@extundo.com>
79591
79592         * tests/test-gc-rijndael.c: New file.
79593
79594         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
79595
79596 2005-10-19  Simon Josefsson  <jas@extundo.com>
79597
79598         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
79599         interface too.
79600
79601 2005-10-19  Simon Josefsson  <jas@extundo.com>
79602
79603         * tests/test-gc-arcfour.c: New file.
79604
79605         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
79606
79607 2005-10-19  Simon Josefsson  <jas@extundo.com>
79608
79609         * modules/gc-md4, modules/gc-md4-tests: New file.
79610
79611         * tests/test-gc-md4.c: New file.
79612
79613 2005-10-19  Simon Josefsson  <jas@extundo.com>
79614
79615         * m4/gc-md4.m4: New file.
79616
79617 2005-10-19  Simon Josefsson  <jas@extundo.com>
79618
79619         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
79620         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
79621         <kasal@ucw.cz>.
79622
79623 2005-10-19  Simon Josefsson  <jas@extundo.com>
79624
79625         * m4/gc-arcfour.m4: New file.
79626
79627         * m4/gc-rijndael.m4: New file.
79628
79629 2005-10-19  Simon Josefsson  <jas@extundo.com>
79630
79631         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
79632
79633 2005-10-19  Simon Josefsson  <jas@extundo.com>
79634
79635         * lib/gc-gnulib.c: Support ARCFOUR.
79636
79637 2005-10-19  Simon Josefsson  <jas@extundo.com>
79638
79639         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
79640         support.
79641
79642         * lib/gc.h: Add ECB enum type.
79643
79644         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
79645
79646 2005-10-18  Simon Josefsson  <jas@extundo.com>
79647
79648         * tests/test-md5.c: New file.
79649
79650         * modules/md5-tests: New file.
79651
79652 2005-10-18  Simon Josefsson  <jas@extundo.com>
79653
79654         * tests/test-md4.c: New file.
79655
79656         * modules/md4, modules/md4-tests: New files.
79657
79658 2005-10-18  Simon Josefsson  <jas@extundo.com>
79659
79660         * m4/md4.m4: New file.
79661
79662 2005-10-18  Simon Josefsson  <jas@extundo.com>
79663
79664         * lib/md4.h, lib/md4.c: New files, based on md5.?.
79665
79666 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
79667
79668         * gnulib-tool (func_create_testdir): Omit the second check whether
79669         BUILT_SOURCES in nonempty.
79670
79671 2005-10-17  Simon Josefsson  <jas@extundo.com>
79672
79673         * tests/test-rijndael.c: New file.
79674
79675 2005-10-17  Simon Josefsson  <jas@extundo.com>
79676
79677         * modules/sha1: Depend on stdint instead of md5.
79678
79679         * modules/md5: Depend on stdint, remove uint32_t.
79680
79681 2005-10-17  Simon Josefsson  <jas@extundo.com>
79682
79683         * modules/gc-sha1-tests: New file.
79684
79685         * tests/test-gc-sha1.c: New file.
79686
79687 2005-10-17  Simon Josefsson  <jas@extundo.com>
79688
79689         * m4/md5.m4: Remove call to uint32_t.m4.
79690
79691 2005-10-17  Simon Josefsson  <jas@extundo.com>
79692
79693         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
79694
79695         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
79696         md5.h.
79697
79698         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
79699
79700         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
79701
79702 2005-10-17  Simon Josefsson  <jas@extundo.com>
79703
79704         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
79705
79706 2005-10-17  Simon Josefsson  <jas@extundo.com>
79707
79708         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
79709
79710 2005-10-17  Simon Josefsson  <jas@extundo.com>
79711
79712         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
79713
79714         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
79715
79716 2005-10-17  Bruno Haible  <bruno@clisp.org>
79717
79718         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
79719         that it can also be used in a test.
79720
79721 2005-10-16  Bruno Haible  <bruno@clisp.org>
79722
79723         * gnulib-tool (func_emit_tests_Makefile_am): Also define
79724         TESTS_ENVIRONMENT, so that individual tests can augment it.
79725
79726         * gnulib-tool (func_create_testdir): Use an intermediate target for
79727         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
79728         macros, like $(ALLOCA_H), which cannot be passed through the command
79729         line.
79730
79731 2005-10-15  Simon Josefsson  <jas@extundo.com>
79732
79733         * modules/rijndael-tests: New file.
79734
79735         * modules/rijndael: New file.
79736
79737 2005-10-15  Simon Josefsson  <jas@extundo.com>
79738
79739         * m4/rijndael.m4: New file.
79740
79741 2005-10-15  Simon Josefsson  <jas@extundo.com>
79742
79743         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
79744
79745         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
79746
79747 2005-10-14  Simon Josefsson  <jas@extundo.com>
79748
79749         * tests/test-arcfour.c: New file.
79750
79751         * modules/arcfour, modules/arcfour-tests: New files.
79752
79753 2005-10-14  Simon Josefsson  <jas@extundo.com>
79754
79755         * m4/arcfour.m4: New file.
79756
79757 2005-10-14  Simon Josefsson  <jas@extundo.com>
79758
79759         * lib/arcfour.h, lib/arcfour.c: New files.
79760
79761 2005-10-14  Roland McGrath  <roland@redhat.com>
79762
79763         Import from libc.  [BZ #1331]
79764         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
79765         macro argument.
79766         Reported by Matej Vela <vela@debian.org>.
79767
79768 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79769
79770         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
79771         include <wchar.h>; no longer needed.
79772
79773 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
79774
79775         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
79776
79777 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
79778         and  Ulrich Drepper  <drepper@redhat.com>
79779
79780         Import from libc.
79781         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
79782         instead of inline stream orientation test and two separate
79783         function calls.  Pay no attention to USE_IN_LIBIO.
79784
79785 2005-10-13  Simon Josefsson  <jas@extundo.com>
79786
79787         * modules/gc-hmac-md5-tests: New file.
79788
79789         * tests/test-gc-hmac-sha1.c: New file.
79790
79791         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
79792
79793         * modules/gc-hmac-md5-tests: New file.
79794
79795         * tests/test-gc-md5.c: New file.
79796
79797         * modules/gc-md5-tests: New file.
79798
79799 2005-10-13  Simon Josefsson  <jas@extundo.com>
79800
79801         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
79802         Move memory allocation outside of loop.
79803
79804 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
79805
79806         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
79807         intermediate directory is in a read-only file system.  Problem
79808         reported by Eric Blake.
79809
79810 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
79811
79812         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
79813
79814 2005-10-12  Simon Josefsson  <jas@extundo.com>
79815
79816         * tests/test-hmac-sha1.c: New file.
79817
79818         * modules/hmac-sha1-tests: New file.
79819
79820         * modules/hmac-sha1: New file.
79821
79822 2005-10-12  Simon Josefsson  <jas@extundo.com>
79823
79824         * modules/gc-sha1: New file.
79825
79826 2005-10-12  Simon Josefsson  <jas@extundo.com>
79827
79828         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
79829
79830         * tests/test-gc-pbkdf2-sha1.c: New file.
79831
79832 2005-10-12  Simon Josefsson  <jas@extundo.com>
79833
79834         * modules/gc-md5, modules/gc-hmac-md5: New files.
79835
79836         * modules/gc (Files): Remove md5, memxor and hmac files.
79837
79838 2005-10-12  Simon Josefsson  <jas@extundo.com>
79839
79840         * m4/gc-pbkdf2-sha1.m4: New file.
79841
79842         * m4/gc-hmac-sha1.m4: New file.
79843
79844         * m4/gc-sha1: New file.
79845
79846         * m4/hmac-sha1.m4: New file.
79847
79848 2005-10-12  Simon Josefsson  <jas@extundo.com>
79849
79850         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
79851
79852         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
79853
79854 2005-10-12  Simon Josefsson  <jas@extundo.com>
79855
79856         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
79857         suggested by Bruno Haible <bruno@clisp.org>.
79858
79859 2005-10-12  Simon Josefsson  <jas@extundo.com>
79860
79861         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
79862
79863 2005-10-12  Simon Josefsson  <jas@extundo.com>
79864
79865         * lib/gc-pbkdf2-sha1.c: New file.
79866
79867         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
79868
79869 2005-10-12  Simon Josefsson  <jas@extundo.com>
79870
79871         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
79872
79873         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
79874
79875 2005-10-12  Simon Josefsson  <jas@extundo.com>
79876
79877         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
79878         GC_USE_HMAC_MD5, respectively.
79879
79880         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
79881         (gc_md5): Fix typo.
79882
79883         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
79884
79885         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
79886
79887         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
79888
79889 2005-10-12  Bruno Haible  <bruno@clisp.org>
79890
79891         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
79892         Reported by Stepan Kasal <kasal@ucw.cz>.
79893
79894 2005-10-11  Simon Josefsson  <jas@extundo.com>
79895
79896         * tests/test-crc.c: New file.
79897
79898         * modules/crc, modules/crc-tests: New files.
79899
79900 2005-10-11  Simon Josefsson  <jas@extundo.com>
79901
79902         * m4/crc.m4: New file.
79903
79904 2005-10-11  Simon Josefsson  <jas@extundo.com>
79905
79906         * lib/gc.h: Add gc_hash and gc_hash_buffer.
79907
79908         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
79909
79910         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
79911
79912 2005-10-11  Simon Josefsson  <jas@extundo.com>
79913
79914         * lib/crc.h, lib/crc.c: New files.
79915
79916         * lib/gc.h (gc_hash_buffer): Add doc.
79917
79918 2005-10-11  Bruno Haible  <bruno@clisp.org>
79919
79920         * modules/c-strcasestr: New file.
79921         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
79922
79923 2005-10-11  Bruno Haible  <bruno@clisp.org>
79924
79925         * modules/c-strcase: New file.
79926         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
79927
79928 2005-10-11  Bruno Haible  <bruno@clisp.org>
79929
79930         * lib/strcasecmp.c: Include limits.h.
79931         (strcasecmp): Avoid integer overflow on exotic platforms.
79932         * lib/strncasecmp.c: Include limits.h.
79933         (strncasecmp): Avoid integer overflow on exotic platforms.
79934         Reported by Paul Eggert.
79935
79936 2005-10-11  Bruno Haible  <bruno@clisp.org>
79937
79938         * lib/c-strcasestr.h: New file, from GNU gettext.
79939         * lib/c-strcasestr.c: New file, from GNU gettext.
79940
79941 2005-10-11  Bruno Haible  <bruno@clisp.org>
79942
79943         * lib/c-strcase.h: New file, from GNU gettext.
79944         * lib/c-strcasecmp.c: New file, from GNU gettext.
79945         * lib/c-strncasecmp.c: New file, from GNU gettext.
79946
79947 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
79948
79949         * modules/mempcpy (License): GPL -> LGPL.
79950         * modules/strchrnul (License): Likewise.
79951         * modules/sysexits (License): Likewise.
79952
79953 2005-10-08  Simon Josefsson  <jas@extundo.com>
79954
79955         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
79956
79957 2005-10-07  Simon Josefsson  <jas@extundo.com>
79958
79959         * m4/memxor.m4: Remove gl_C_RESTRICT call.
79960
79961 2005-10-06  Simon Josefsson  <jas@extundo.com>
79962
79963         * tests/test-hmac-md5.c: New file.
79964
79965         * modules/hmac-md5-tests: New file.
79966
79967         * modules/hmac-md5: New file.
79968
79969 2005-10-06  Simon Josefsson  <jas@extundo.com>
79970
79971         * m4/hmac-md5.m4: New file.
79972
79973         * m4/memxor.m4: Require gl_C_RESTRICT.
79974
79975 2005-10-06  Simon Josefsson  <jas@extundo.com>
79976
79977         * lib/memxor.c (memxor): Avoid casts and warnings.
79978
79979 2005-10-06  Simon Josefsson  <jas@extundo.com>
79980
79981         * lib/hmac-md5.c: New file.
79982
79983         * lib/hmac.h: New file.
79984
79985 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
79986
79987         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
79988         promotes to int, not unsigned int, to catch the AIX 5.3
79989         compiler bug.
79990
79991 2005-10-05  Simon Josefsson  <jas@extundo.com>
79992
79993         * modules/memxor: New file.
79994
79995         * modules/iconv (Files): Move config.rpath to havelib, it is used
79996         there.
79997
79998         * modules/havelib (Files): Add config.rpath.
79999
80000 2005-10-05  Simon Josefsson  <jas@extundo.com>
80001
80002         * m4/memxor.m4: New file.
80003
80004 2005-10-05  Simon Josefsson  <jas@extundo.com>
80005
80006         * lib/memxor.c (memxor): Fix compiler error.
80007
80008         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
80009         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
80010
80011         * lib/memxor.h, lib/memxor.c: New files.
80012
80013         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
80014         we assume all systems have it, suggested by Jim Meyering
80015         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
80016         any systems lack sys/socket.h; mingw32 is known to lack it, but we
80017         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
80018         same reasons.
80019
80020 2005-10-05  Simon Josefsson  <jas@extundo.com>
80021
80022         * config/srclist.txt: Add glibc bug 1423 for md5.h.
80023
80024 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
80025
80026         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
80027         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
80028         needed, since the source code now assumes these .h files.
80029
80030 2005-10-05  Derek Price  <derek@ximbiot.com>
80031
80032         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
80033
80034 2005-10-05  Bruno Haible  <bruno@clisp.org>
80035
80036         * modules/stdint (License): Change to LGPL.
80037
80038 2005-10-04  Simon Josefsson  <jas@extundo.com>
80039
80040         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
80041         D. Baushke" <mdb@gnu.org>.
80042
80043 2005-10-04  Bruno Haible  <bruno@clisp.org>
80044
80045         * lib/verify.h (verify_true): Provide alternative definition for C++.
80046
80047 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
80048
80049         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
80050         (SSIZE_MAX): New macro, if not already defined.
80051         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
80052         than 2 GiB.
80053
80054 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80055
80056         Sync from coreutils.
80057         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
80058         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
80059         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
80060         ULLONG_MAX doesn't work with 2.7.2.1.
80061
80062 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80063
80064         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
80065         From Ben Pfaff.
80066
80067         * modules/exclude (Depends-on): Depend on verify.
80068         * modules/strtoimax (Depends-on): Likewise.
80069         * modules/utimecmp (Depends-on): Likewise.
80070
80071 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80072
80073         * lib/exclude.c: Include verify.h.
80074         (verify): Remove.  All callers changed to use verify.h's version.
80075         * lib/strtoimax.c: Likewise.
80076         * lib/utimecmp.c: Likewis.e
80077
80078         Sync from coreutils.
80079         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
80080         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
80081         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
80082         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
80083         bother returning ENOSYS if settimeofday or stime fails; just let
80084         them return whatever errno they want to return.
80085         * lib/utimens.c: Include unistd.h, for dup2.
80086         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
80087         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
80088
80089 2005-10-02  Jim Meyering  <jim@meyering.net>
80090
80091         Sync from coreutils.
80092         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
80093         from glibc-2.2.5 that fails for read-only files.
80094
80095 2005-10-02  Jim Meyering  <jim@meyering.net>
80096
80097         Sync from coreutils.
80098         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
80099         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
80100         `#if HAVE_CONFIG_H'.
80101         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
80102         Remove AT_FDCWD test.
80103         Do not consume the fd unless successful.
80104         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
80105         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
80106         block, so that we don't even try to compile it if settimeofday is
80107         available.  This works around a compilation failure on OSF1 V5.1,
80108         due to stime requiring a `long int*' while tv_sec is `int'.
80109
80110 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
80111
80112         Sync from coreutils.
80113         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
80114         against `yes', rather than just testing for nonempty.
80115
80116 2005-10-01  Simon Josefsson  <jas@extundo.com>
80117
80118         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
80119         and Darwin.
80120
80121         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
80122         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
80123         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
80124         freeaddrinfo and gai_strerror are declared by the POSIX headers.
80125         Check if struct addrinfo is declared.
80126
80127 2005-10-01  Simon Josefsson  <jas@extundo.com>
80128
80129         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
80130         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
80131         AI_* and EAI_* definitions.  Protect function declarations.
80132
80133 2005-10-01  Jim Meyering  <jim@meyering.net>
80134
80135         Sync from coreutils.
80136
80137         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
80138         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
80139         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
80140         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80141         in the inet and nsl libraries.  Required on Solaris 5.7.
80142
80143 2005-10-01  Jim Meyering  <jim@meyering.net>
80144
80145         Sync from coreutils.
80146         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80147         in the inet and nsl libraries.  Required on Solaris 5.7.
80148
80149 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
80150
80151         * lib/getdelim.c (getdelim): Remove unused variables.
80152
80153 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
80154
80155         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
80156         so that the code works even with ancient cpp.  Portability problem
80157         with GCC 2.7.2.1 reported by Thomas M.Ott.
80158
80159 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
80160
80161         * modules/regex (Depends-on): Add strcase.
80162
80163         * modules/gethostname (Licence): Change from GPL to LGPL, since
80164         gethostname.c is a trivial implementation of a standard library
80165         function.
80166         * modules/poll (License): Change from GPL to LGPL, since it's
80167         derived from LGPL code.
80168
80169 2005-09-27  Jim Meyering  <jim@meyering.net>
80170
80171         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
80172         HAVE_CONFIG_H.
80173
80174         * lib/intprops.h (signed_type_or_expr__): Define.
80175         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
80176         for unsigned types.
80177
80178 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
80179
80180         * lib/verify.h (verify_expr): Remove, replacing with:
80181         (verify_true): New macro that returns true instead of void.
80182         (verify_type__): Remove.
80183         (verify): Use verify_true rather than verify_type__.
80184
80185 2005-09-26  Bruno Haible  <bruno@clisp.org>
80186
80187         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
80188         is necessary.
80189         (lib_SOURCES): Remove mbchar.c.
80190         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
80191         (Files): Add m4/mbrtowc.m4.
80192         * modules/mbiter: Likewise.
80193         * modules/mbuiter: Likewise.
80194
80195 2005-09-26  Bruno Haible  <bruno@clisp.org>
80196
80197         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
80198         compile mbchar.c if they are not both present.
80199         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
80200         * m4/mbiter.m4 (gl_MBITER): Likewise.
80201         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
80202         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
80203         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
80204
80205 2005-09-25  Jim Meyering  <jim@meyering.net>
80206
80207         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
80208         also uses socklen_t.
80209
80210 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
80211
80212         * lib/utimens.c (ENOSYS): Define if not already defined.
80213         (futimens): Support having a null PATH if the file descriptor
80214         is nonnegative.
80215
80216         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
80217         Remove.
80218         (__attribute): Define to empty unless GCC 3.1 or later.
80219         This works around a core dump on OpenBSD 3.4, which has GCC
80220         2.95.3, which dumps core when given __attribute__(()).  It also
80221         simplifies other tests, since we really don't want to bother with
80222         worrying about which ancient version of GCC supported what.
80223         Original problem reported by Yoann Vandoorselaere, with part of
80224         the fix suggested by Derek Price.
80225
80226 2005-09-24  Jim Meyering  <jim@meyering.net>
80227
80228         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
80229         so we can once again use a positive bitfield width of 1 -- now we
80230         don't have to explain why we were using a bitfield width of 2.
80231
80232 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80233
80234         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
80235         and similarly for the other external symbols.  Problem reported
80236         by James Gallager.
80237
80238         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
80239         bug reported by Jim Meyering.
80240
80241         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
80242         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
80243         not needed, since socklen is a prerequisite module.
80244
80245 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
80246
80247         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
80248         Problem reported by Eric Blake.
80249         (getaddrinfo): Initialize se so that it's not garbage.
80250         Redo internal storage allocation so that it doesn't make unportable
80251         assumptions about alignment.
80252         Fix a memory leak.
80253
80254         * lib/utimens.c (futimens): Use futimesat if available.
80255         Prefer it to futimes since it doesn't have the futimes bug.
80256
80257         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
80258         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
80259         Instead, declare a function that returns a pointer to an array,
80260         and use verify_type__ to declare the size of the array.
80261         Problem and germ of a solution reported by Bruno Haible.
80262         (verify_type__): Use 2, not 1, for bitfield size, to avoid
80263         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
80264
80265 2005-09-23  Jim Meyering  <jim@meyering.net>
80266
80267         Sync from coreutils.
80268         Correct build failure (socklen_t not defined) on at least
80269         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
80270         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
80271
80272 2005-09-23  Jim Meyering  <jim@meyering.net>
80273
80274         * modules/getaddrinfo (Depends-on): Add socklen.
80275
80276 2005-09-23  Bruno Haible  <bruno@clisp.org>
80277
80278         * tests/test-verify.c: New file.
80279
80280 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80281
80282         Sync from coreutils.
80283
80284         * modules/argmatch (Depends-on): Add verify.
80285         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
80286         unistd-safer.
80287         * modules/save-cwd (Depends-on): Likewise.
80288
80289         * modules/openat (Files): Add lib/openat-die.c.
80290         (Depends-on): Remove error, exitfail.
80291         Add dirname.
80292
80293         * modules/verify: New file.
80294         * MODULES.html.sh (Diagnostics <assert.h>): New section,
80295         with "verify" module.
80296
80297 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80298
80299         Sync from coreutils.
80300
80301         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
80302         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
80303         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
80304         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
80305         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
80306         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
80307         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
80308         Don't bother checking for string.h, stdlib.h, unistd.h.
80309         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
80310         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
80311         module's job.
80312         * m4/jm-macros.m4 (gl_MACROS): Likewise.
80313         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
80314
80315         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
80316         (gl_GETDATE): Use it.
80317
80318         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
80319
80320 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80321
80322         Sync from coreutils.
80323
80324         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
80325         stat-time.h.
80326         * lib/argmatch.h: Include verify.h
80327         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
80328         (ARGMATCH_ASSERT): Remove; unused.
80329         * lib/canonicalize.c: Assume STDC_HEADERS.
80330         * lib/exclude.c: Include "strcase.h".
80331         * lib/regex_internal.h [!defined _LIBC]: Likewise.
80332         * lib/getusershell.c: Include stdio--.h rather than stdio.h
80333         and stdio-safer.h.
80334         (getusershell): Call fopen, not fopen_safer.
80335         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
80336         Do not include unistd-safer.h.
80337         (save_cwd): Don't call fd_safer; no longer needed
80338         now that we include fcntl--.h.
80339
80340         * lib/getdate.y (relative_time): New type.
80341         (RELATIVE_TIME_0): New constant.
80342         (parser_control): Use relative_time instead of doing it ourselves.
80343         (%union): Add new relative_time rel member.
80344         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
80345         Now typeless.
80346         (relunit, relunit_snumber): Now of type rel.
80347         (zone, rel, relunit, get_date): Adjust to above changes.
80348
80349         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
80350         Do not include unistd-safer.h.
80351         (getloadavg): Don't call fd_safer; no longer needed
80352         now that we include fcntl--.h.
80353
80354         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
80355         (make_dir_parents): Treat ENOSYS like EEXIST.
80356
80357         Improve quality of diagnostics on restore_cwd failure.
80358         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
80359         (make_dir_parents): Last arg is now int * (for errno), not bool *.
80360         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
80361         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
80362         each time through the loop.  Do not diagnose restore_cwd failure;
80363         that is the caller's job (and perhaps the caller does not care).
80364
80365         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
80366         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
80367         If the file already exists but is not a directory, don't bother
80368         to try to make its parents.
80369         Close potential file descriptor leak if we can't chdir("/") (!).
80370         Don't always return true if chdir($PWD) fails; return true only
80371         if the requested action was done successfully (except for the
80372         chdir($PWD)).
80373         Don't log final directory unless we actually made it.
80374         Refactor to avoid duplicate code to fix up permissions.
80375         Don't attempt to fix up parent permissions if chdir($PWD) fails.
80376
80377         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
80378         to make it a bit faster and (I hope) clearer.
80379         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
80380         Fix bug in formats like %2N.
80381
80382         * lib/verify.h: New file.
80383
80384 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
80385
80386         Sync from coreutils.
80387         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
80388
80389 2005-09-22  Jim Meyering  <jim@meyering.net>
80390
80391         Sync from coreutils.
80392
80393         * m4/lstat.m4 (gl_FUNC_LSTAT):
80394         Use AC_LIBSOURCES to require lstat.c and lstat.h.
80395         Remove obsolete comment.
80396         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
80397         * m4/xstrtod.m4: Likewise.
80398
80399         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
80400
80401 2005-09-22  Jim Meyering  <jim@meyering.net>
80402
80403         Sync from coreutils.
80404
80405         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
80406
80407         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
80408         the .tm_year member, since otherwise gcc-4.0 would now warn about
80409         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
80410
80411         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
80412         order to avoid an unsuppressible warning from gcc on 64-bit systems.
80413
80414         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
80415         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
80416         when run in a time zone for which daylight savings time is in effect
80417         for the starting date.
80418
80419         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
80420         stop us from restricting permissions of just-created absolute-named
80421         directories.
80422         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
80423         to restore initial working directory.
80424         * lib/mkdir-p.c (make_dir_parents): New parameter:
80425         different_working_dir, to tell caller if/when we change the working
80426         directory and are unable to return to the initial one.
80427         * lib/mkdir-p.h (make_dir_parents): Update prototype.
80428         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
80429         `return false'.  This fixes a bug introduced on 2004-07-30.
80430
80431         * lib/openat.c (fdopendir): Be sure to close the supplied
80432         file descriptor before returning.  This makes our replacement
80433         implementation a little closer to Solaris's, where fdopendir
80434         ties the file descriptor to the returned DIR* pointer.
80435         * lib/openat.c (unlinkat): New function.
80436         * lib/openat.h (unlinkat): Add prototype.
80437         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
80438         (openat_restore_fail): Rename from openat_restore_die.
80439         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
80440
80441         Provide an alternative to exiting immediately upon save_cwd or
80442         restore_cwd failure.  Now, an application can arrange e.g.,
80443         to perform a longjump in that case.
80444         * lib/openat.c: Include dirname.h.
80445         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
80446         (rpl_openat, fdopendir, fstatat): Call openat_save_die
80447         and openat_restore_die rather than calling error directly.
80448         Don't include "error.h" or "exitfail.h"; they're no longer needed.
80449
80450         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
80451         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
80452         define.
80453
80454         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
80455         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
80456                             int utc, int nanoseconds);
80457         Background:
80458         date should not have to allocate a megabyte of virtual memory to
80459         handle a format argument like +%1048575T.  When implemented with
80460         strftime, it must allocate such a buffer, use strftime to fill it
80461         in, print it, then free it.
80462         With fprintftime, it simply prints everything and exits.
80463         With no need for memory allocation, that's one fewer way to fail.
80464         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
80465         optional field width, not before, so we accept %9:z, not %:9z.
80466         (my_strftime): Be sure to use L_('x') for literals.
80467
80468         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
80469         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
80470         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
80471         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
80472         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
80473         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
80474         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
80475         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
80476         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
80477         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
80478         * lib/xgethostname.c, lib/xreadlink.c:
80479         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
80480
80481         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
80482         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
80483         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
80484         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80485         and don't include <sys/file.h>).
80486
80487 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
80488
80489         Sync from coreutils.
80490
80491         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
80492         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
80493         [!LDAV_DONE]: Avoid unused variable warning.
80494
80495 2005-09-21  Bruno Haible  <bruno@clisp.org>
80496
80497         * lib/unicodeio.h (unicode_to_mb): New declaration.
80498
80499 2005-09-20  Derek Price  <derek@ximbiot.com>
80500
80501         * lib/getaddrinfo.c: Don't include <netdb.h> included from
80502         getaddrinfo.h.
80503
80504 2005-09-20  Bruno Haible  <bruno@clisp.org>
80505
80506         * gnulib-tool: Remove trailing slashes from the values specified for
80507         --source-base, --m4-base, --tests-base, --aux-dir.
80508         Suggested by Simon Josefsson <jas@extundo.com>.
80509
80510 2005-09-20  Bruno Haible  <bruno@clisp.org>
80511
80512         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
80513         func_modules_to_filelist, func_import, func_create_testdir): Make all
80514         sorting results locale-independent, so that gnulib-cache.m4 doesn't
80515         change when gnulib-tool is invoked in a different locale.
80516
80517 2005-09-19  Simon Josefsson  <jas@extundo.com>
80518
80519         * m4/socklen.m4: Fix typo.
80520
80521 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80522
80523         Use a consistent style for including <config.h>.
80524         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
80525         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
80526         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
80527         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
80528         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
80529         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
80530         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
80531         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
80532         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
80533         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
80534         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
80535         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
80536         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
80537         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
80538         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
80539         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
80540         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
80541         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
80542         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
80543         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
80544         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
80545         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
80546         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
80547         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
80548         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
80549         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
80550         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
80551         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
80552         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
80553         lib/xstrtoumax.c, lib/yesno.c:
80554         Standardize inclusion of config.h.
80555         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
80556         lib/inttostr.h:  Removed inclusion of config.h from header files.
80557         * lib/inttostr.c:  Adjusted in-tree users.
80558         * lib/timespec.h: Remove superfluous warning to include config.h.
80559         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
80560         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
80561         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
80562         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
80563         config.h with HAVE_CONFIG_H.
80564
80565 2005-09-19  Jim Meyering  <jim@meyering.net>
80566
80567         * modules/pathmax (License): Change to LGPL.
80568
80569 2005-09-19  Derek Price  <derek@ximbiot.com>
80570
80571         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
80572
80573 2005-09-19  Bruno Haible  <bruno@clisp.org>
80574
80575         * gnulib-tool (import): Provide default for --tests-base.
80576
80577 2005-09-19  Bruno Haible  <bruno@clisp.org>
80578
80579         * doc/quote.texi: New file, extracted from gnulib.texi.
80580         * doc/ctime.texi: New file, extracted from gnulib.texi.
80581         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
80582         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
80583         * doc/gnulib.texi: Include them.
80584
80585 2005-09-18  Bruno Haible  <bruno@clisp.org>
80586
80587         Portability fix.
80588         * gnulib-tool (func_readlink): New function.
80589         (func_ln_if_changed): Use it.
80590
80591 2005-09-18  Bruno Haible  <bruno@clisp.org>
80592
80593         * gnulib-tool: Support --with-tests also with --import.
80594         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
80595         (func_import): Use variables $testsbase and $inctests. Emit a
80596         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
80597         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
80598         SUBDIRS += $testsdir.
80599         (func_create_testdir): Update.
80600
80601 2005-09-18  Bruno Haible  <bruno@clisp.org>
80602
80603         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
80604         instead of $dry_run.
80605         (func_cp_if_changed, func_mv_if_changed): Remove functions.
80606         (func_ln_if_changed): Don't handle dry-run here.
80607         (func_import): In dry-run mode, detect more precisely which actions
80608         would be performed, and don't use "...ing" verbs.
80609
80610 2005-09-18  Bruno Haible  <bruno@clisp.org>
80611
80612         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
80613         (func_import): Use join on two temporary files instead of three nested
80614         loops, in order to determine which files are new or old.
80615
80616 2005-09-18  Bruno Haible  <bruno@clisp.org>
80617
80618         * gnulib-tool (func_import): Comment out code that spits out the
80619         new files with --dry-run.
80620
80621 2005-09-18  Bruno Haible  <bruno@clisp.org>
80622
80623         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
80624
80625 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80626
80627         * lib/stat-time.h: New file.
80628         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
80629         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
80630         in a different way.
80631         (timespec_cmp): New function.
80632         * lib/utimecmp.c: Include stat-time.h.
80633         (SYSCALL_RESOLUTION): Depend on whether various struct stat
80634         members exist, not on the obsolescent ST_MTIM_NSEC.
80635         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
80636
80637 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80638
80639         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
80640
80641 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
80642
80643         * MODULES.html.sh (File system functions): Add stat-time.
80644         * modules/stat-time: New file.
80645         * modules/timespec (Files): Remove m4/st_mtim.m4; this
80646         is now done in a different way, by the stat-time module.
80647         * modules/utimecmp (Depends-on): Add stat-time.
80648
80649 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
80650
80651         * m4/st_mtim.m4: Remove.  Superseded by...
80652         * m4/stat-time.m4: New file.
80653         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
80654         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
80655
80656 2005-09-15  Derek Price  <derek@ximbiot.com>
80657
80658         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
80659
80660 2005-09-15  Derek Price  <derek@ximbiot.com>
80661
80662         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
80663         * lib/regex_internal.c: Ditto, using this...
80664         (__GNUC_PREREQ): ...new macro.
80665         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
80666         using...
80667         (__GNUC_PREREQ): ...this new macro.
80668
80669         * lib/strstr.h: Include string.h. Define strstr as a macro here.
80670
80671 2005-09-15  Derek Price  <derek@ximbiot.com>
80672             Paul Eggert  <eggert@cs.ucla.edu>
80673
80674         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
80675         changes, consolidating in...
80676         * lib/regex_internal.h: ...this file.
80677
80678 2005-09-13  Jim Meyering  <jim@meyering.net>
80679
80680         * lib/canon-host.c: Filter through gnu indent and reword comments
80681         slightly.
80682         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
80683
80684 2005-09-13  Derek Price  <derek@ximbiot.com>
80685
80686         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
80687         failure.
80688         Reported by Jim Meyering  <jim@meyering.net>.
80689
80690 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80691
80692         * lib/base64.c: Typo.
80693         (base64_encode): Put b64str in initialized data section.
80694
80695 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
80696
80697         Merge glibc and coreutils changes into gnulib, plus a few
80698         extra fixes.
80699         * lib/md5.c: Use #error rather than a string.
80700         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
80701         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
80702         (__attribute__): Define to empty for non recent-GCC.
80703         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
80704         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
80705         Renamed from their non-__ counterparts, with new macros replacing
80706         them if not _LIBC.  Add __THROW attribute.
80707         (rol): Remove.
80708         (struct md5_ctx): Align buffer if using GCC.
80709         * lib/sha1.h (struct sha1_ctx): Likewise.
80710         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
80711         The old name was backwards.
80712         (NOTSWAP): Remove; not used.
80713         (rol): New macro, moved here from md5.h.
80714         (sha1_process_block): Remove a FIXME that doesn't make sense.
80715
80716 2005-09-12  Derek Price  <derek@ximbiot.com>
80717
80718         Return usable errors from canon-host.
80719         * lib/canon-host.h: New file.
80720         * lib/canon-host.c (canon_host): Wrap...
80721         (canon_host_r): ...this new function, which now relies exclusively on
80722         getaddrinfo.
80723         (ch_strerror): New function.
80724         (last_cherror): New global.
80725         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
80726         interface.
80727         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
80728         void *.
80729         (freeaddrinfo): Free ai->ai_canonname when set.
80730
80731 2005-09-12  Derek Price  <derek@ximbiot.com>
80732
80733         Make canon-host require getaddrinfo.
80734         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
80735         AC_LIBSOURCE canon-host.h.  Call...
80736         (gl_PREREQ_CANON_HOST): ...this new function, which requires
80737         gl_GETADDRINFO.
80738         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
80739
80740 2005-09-12  Derek Price  <derek@ximbiot.com>
80741
80742         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
80743         LGPL.
80744         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
80745
80746 2005-09-12  Derek Price  <derek@ximbiot.com>
80747
80748         * lib/gai_strerror.c: Include config.h when available.  Include
80749         getaddrinfo.h before other headers to test interface.
80750         Reported by Larry Jones <lawrence.jones@ugs.com>.
80751
80752 2005-09-12  Derek Price  <derek@ximbiot.com>
80753             Paul Eggert  <eggert@cs.ucla.edu>
80754
80755         * modules/glob (Files): Add glob-libc.h.
80756
80757 2005-09-12  Derek Price  <derek@ximbiot.com>
80758             Paul Eggert  <eggert@cs.ucla.edu>
80759
80760         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
80761         glob_.h, glob-libc.h.
80762         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
80763
80764 2005-09-12  Derek Price  <derek@ximbiot.com>
80765             Paul Eggert  <eggert@cs.ucla.edu>
80766
80767         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
80768         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
80769         protecting things that should be done only in gnulib contexts.
80770         * lib/glob_.h: New file, containing only the glob things needed for
80771         gnulib.
80772         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
80773         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
80774         (glob, globfree, glob_pattern_p): Now defined simply in terms of
80775         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
80776         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
80777         and to respect the namespace rules better.
80778
80779 2005-09-08  Simon Josefsson  <jas@extundo.com>
80780
80781         * modules/socklen: New file.
80782
80783 2005-09-08  Simon Josefsson  <jas@extundo.com>
80784
80785         * m4/socklen.m4: New file.
80786
80787 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80788
80789         * modules/utimens (Files): Add m4/utimbuf.m4, since
80790         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
80791         Reported by Sergey Poznyakoff.
80792
80793 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80794
80795         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
80796         definitions, since that's the preferred style in glibc.
80797         Fix a minor spacing issue, and update copyright notice to match
80798         glibc's.
80799
80800 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
80801
80802         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
80803
80804 2005-09-06  Simon Josefsson  <jas@extundo.com>
80805
80806         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
80807         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
80808
80809 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80810
80811         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
80812         warning.
80813
80814 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80815
80816         * config/srclist.txt: Add glibc bug 1302.
80817
80818 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
80819
80820         Change bitset word type from unsigned int to unsigned long int,
80821         as this has better performance on typical 64-bit hosts.
80822         Port bitset code to hosts with unusual word sizes.
80823         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
80824         (build_collating_symbol):
80825         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
80826         argument is a bitset.  This is merely a style issue, but it makes
80827         it clearer that an entire array is expected.
80828         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
80829         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
80830         Port to the case where bitset_word is not the same as unsigned int.
80831         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
80832         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
80833         Likewise.
80834         * lib/regexec.c (check_dst_limits_calc_pos_1,
80835         check_subexp_matching_top):
80836         (build_trtable, group_nodes_into_DFAstates):
80837         Likewise.
80838         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
80839         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
80840         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
80841         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
80842         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
80843         * lib/regcomp.c (optimize_subexps, lower_subexp):
80844         Work even if bitset_word has holes in its bitwise representation.
80845         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
80846         * lib/regexec.c (check_dst_limits_calc_pos_1,
80847         check_subexp_matching_top):
80848         Likewise.
80849         * lib/regex_internal.c (re_string_reconstruct):
80850         Don't assume UCHAR_MAX == 255.
80851         * lib/regex_internal.h (bitset_set_all): Likewise.
80852         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
80853         All uses changed.
80854         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
80855         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
80856         All uses changed.
80857         (BITSET_WORD_MAX): New macro.
80858         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
80859         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
80860         (bitset_empty, bitset_copy):
80861         Prefer sizeof (bitset) to multiplying it out ourselves.
80862         (bitset_not_merge): Remove; unused.
80863         (bitset_contain): Return bool, not unsigned int with one bit on.
80864         All callers changed.
80865         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
80866         alignment than re_node_set; do this by defining a new internal
80867         type struct dests_alloc and using it to allocate memory.
80868
80869 2005-09-05  Bruno Haible  <bruno@clisp.org>
80870
80871         * gnulib-tool (func_import): Fix comparison in handling of symbolic
80872         links.
80873
80874 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
80875
80876         * modules/size_max (Makefile.am): Add size_max.h
80877
80878 2005-09-04  Derek Price  <derek@ximbiot.com>
80879
80880         * gnulib-tool (func_import): Fix reversed $symbolic logic.
80881
80882 2005-09-03  Simon Josefsson  <jas@extundo.com>
80883
80884         * gnulib-tool: Fix typo.
80885
80886 2005-09-03  Simon Josefsson  <jas@extundo.com>
80887
80888         * config/srclist.txt: Add glibc bug 1293.
80889
80890 2005-09-03  Derek Price  <derek@ximbiot.com>
80891
80892         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
80893         From Larry Jones <lawrence.jones@ugs.com>.
80894
80895 2005-09-02  Simon Josefsson  <jas@extundo.com>
80896
80897         * modules/socklen: New file.
80898
80899 2005-09-02  Simon Josefsson  <jas@extundo.com>
80900
80901         * modules/havelib: New module.
80902
80903         * modules/gettext, modules/iconv, modules/lock, modules/readline:
80904         Use havelib.
80905
80906 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80907
80908         Check for arithmetic overflow when calculating sizes, to prevent
80909         some buffer-overflow issues.  These patches are conservative, in the
80910         sense that when I couldn't determine whether an overflow was possible,
80911         I inserted a run-time check.
80912         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
80913         macros.
80914         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
80915         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
80916         (re_xnrealloc, re_x2nrealloc): New inline functions.
80917         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
80918         parse_bracket_exp):
80919         (build_equiv_class, build_charclass): Check for arithmetic overflow
80920         in size expression calculations.
80921         * lib/regex_internal.c (re_string_realloc_buffers):
80922         (build_wcs_upper_buffer, re_node_set_add_intersect):
80923         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
80924         (re_dfa_add_node, register_state): Likewise.
80925         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
80926         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
80927         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
80928         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
80929
80930 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
80931
80932         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
80933         m4/ulonglong.m4.  Problem reported by Martin Lambers.
80934
80935 2005-09-02  Bruno Haible  <bruno@clisp.org>
80936
80937         Support for lib vs. lib64 distinction on biarch platforms.
80938         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
80939         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
80940         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
80941
80942 2005-09-02  Bruno Haible  <bruno@clisp.org>
80943
80944         * gnulib-tool (import): In the other first-use case, provide defaults
80945         as well.
80946
80947 2005-09-02  Bruno Haible  <bruno@clisp.org>
80948
80949         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
80950         patches not yet found in the latest gettext release.
80951
80952 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
80953
80954         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
80955         to avoid a collision with bits/local_lim.h in glibc.
80956         All uses changed.  Problem reported by Dmitry V. Levin in
80957         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
80958
80959         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
80960         bugs in int versus size_t comparisons.
80961         (re_string_context_at): Fix bug where the code assumed that
80962         Idx is signed.
80963
80964         Use bool where appropriate.
80965         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
80966         All callers changed.
80967         (calc_eclosure_iter): Likewise, for ROOT arg.
80968         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
80969         (build_charclass_op): Likewise, for NON_MATCH arg.
80970         * lib/regex_internal.c (re_string_allocate, re_string_construct):
80971         (re_string_construct_common): Likewise, for ICASE arg.
80972         * lib/regexec.c (re_search_2_stub, re_search_stub):
80973         Likewise, for RET_LEN arg.
80974         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
80975         (set_regs): Likewise, for FL_BACKTRACK arg.
80976         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
80977         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
80978         (calc_eclosure_iter, parse_bracket_exp):
80979         Use bool for internal variables that are booleans.
80980         * lib/regexec.c (re_search_internal, check_matching,
80981         proceed_next_node):
80982         (set_regs, build_sifted_states, sift_states_bkref):
80983         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
80984         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80985         (find_collation_sequence_value):
80986         Likewise.
80987         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
80988         (re_node_set_compare):
80989         Return bool, not int. All callers changed.
80990         * lib/regexec.c (check_halt_node_context, check_dst_limits):
80991         (build_trtable, check_node_accept): Likewise.
80992         * lib/regex_internal.h: Include stdbool.h.
80993
80994         Fix bugs uncovered when converting to bool.
80995         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
80996         failure instead of charging ahead blindly.
80997         * lib/regex_internal.c (register_state): Likewise.
80998         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
80999         for freeing internal storage.
81000         (group_nodes_into_DFA_states): Use unsigned int, not int, for
81001         bitset pieces used as boolean, to avoid undefined behavior
81002         on hosts that do int overflow checking.
81003
81004 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81005
81006         * config/srclist.txt: Add glibc bugs 1285-1287.
81007
81008 2005-09-01  Jim Meyering  <jim@meyering.net>
81009
81010         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
81011         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
81012         Require gl_STAT_MACROS, too.
81013
81014 2005-09-01  Bruno Haible  <bruno@clisp.org>
81015
81016         * gnulib-tool (import): In the first-use case, provide defaults.
81017
81018 2005-09-01  Bruno Haible  <bruno@clisp.org>
81019
81020         * gnulib-tool (func_import): Remove the .tmp files.
81021
81022 2005-09-01  Bruno Haible  <bruno@clisp.org>
81023
81024         * gnulib-tool (func_import): Fix handling of symbolic links.
81025
81026 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81027
81028         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
81029         old glibc regex code mishandles strings longer than 2**31 bytes.
81030         This patch fixes this when the regex code is used in gnulib
81031         (i.e., outside glibc).
81032
81033         This patch should not affect the use of the regex code inside
81034         glibc.  No doubt this problem also needs to be handled for glibc
81035         as well, but the result will be an incompatible change to the
81036         glibc ABI, and the old ABI will have to be supported too.  That
81037         can be the the subject for another patch.
81038
81039         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
81040         governing whether the rest of this patch is active.  By default,
81041         the macro is disabled and the patch has no effect.
81042         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
81043         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
81044         (struct re_pattern_buffer, re_search, re_search_2, re_match):
81045         (re_match_2, re_set_registers): Use the new types.
81046         * lib/regex_internal.h (Idx, re_hashval_t): New types.
81047         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
81048         New macros.
81049         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
81050         (re_string_context_at, bin_tree_t, re_dfastate_t):
81051         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
81052         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
81053         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
81054         (re_string_char_size_at, re_string_wchar_at):
81055         (re_string_elem_size_at):
81056         Use the new types and macros to port to 64-bit hosts.
81057         Use unsigned types for internal values, so that the code
81058         mostly works even for arrays larger than SSIZE_MAX.
81059         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
81060         (search_duplicated_node, calc_eclosure_iter, fetch_number):
81061         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
81062         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
81063         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
81064         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
81065         (calc_inveclosure, parse_dup_op, build_range_exp):
81066         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
81067         (fetch_number, create_token_tree, mark_opt_subexp):
81068         Likewise.
81069         * lib/regex_internal.c (re_string_construct_common,
81070         create_ci_newstate):
81071         (create_cd_newstate, re_string_allocate, re_string_construct):
81072         (re_string_realloc_buffers, build_wcs_upper_buffer):
81073         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81074         (re_string_reconstruct, re_string_peek_byte_case):
81075         (re_string_fetch_byte_case, re_string_context_at):
81076         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81077         (re_node_set_init_copy, re_node_set_add_intersect):
81078         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81079         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81080         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81081         (re_acquire_state, re_acquire_state_context, register_state):
81082         Likewise.
81083         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
81084         search_cur_bkref_entry):
81085         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
81086         (re_search_internal, re_search_2_stub, re_search_stub)
81087         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
81088         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
81089         (update_cur_sifted_state, check_dst_limits):
81090         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81091         (check_subexp_limits, sift_states_bkref, merge_state_array):
81092         (check_subexp_matching_top, get_subexp, get_subexp_sub):
81093         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
81094         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81095         (expand_bkref_cache, check_node_accept_bytes):
81096         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
81097         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
81098         (acquire_init_state_context, check_halt_node_context):
81099         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
81100         (sift_states_backward, clean_state_log_if_needed):
81101         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
81102         (find_recover_state, transit_state_sb, transit_state_mb):
81103         (transit_state_bkref, build_trtable, match_ctx_clean):
81104         Likewise.
81105         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
81106         to work around an assumption that REG_MISSING is negative.
81107
81108         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
81109         (seek_collating_symbol_entry) [defined _LIBC]:
81110         (lookup_collation_sequence_value) [defined _LIBC]:
81111         (build_range_exp, build_collating_symbol) [defined _LIBC]:
81112         Use prototypes rather than old-style function definitions.
81113         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
81114         (transit_state_sb) [0]:
81115         (find_collation_sequence_value) [defined _LIBC]: Likewise.
81116
81117         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
81118         rm_eo.
81119
81120         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
81121         (optimize_subexps, lower_subexp):
81122         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
81123         since the signed shift might overflow.  Use 1u<<31 instead.
81124         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81125         Likewise.
81126         * lib/regexec.c (check_dst_limits_calc_pos_1,
81127         check_subexp_matching_top): Likewise.
81128
81129         * lib/regcomp.c (optimize_subexps, lower_subexp):
81130         Use CHAR_BIT rather than 8, for clarity.
81131         * lib/regexec.c (check_dst_limits_calc_pos_1):
81132         (check_subexp_matching_top): Likewise.
81133         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
81134         have to worry about portability issues when shifting it left.
81135         Remove no-longer-needed test for table_size > 0.
81136         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
81137         in a word, as the resulting behavior is undefined.
81138         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
81139         in one case, a <= should have been an <, and in another case the
81140         whole test was missing.
81141         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
81142         the standard name CHAR_BIT.
81143         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
81144         this is not true on one's complement and signed-magnitude hosts.
81145
81146         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
81147         next_last_offset.
81148         (struct re_dfa_t): Remove unused member states_alloc.
81149         * lib/regcomp.c (init_dfa): Don't initialize unused members.
81150
81151 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81152
81153         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
81154         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
81155         and large-file glibc and in 32-bit large-file Solaris.
81156
81157 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81158
81159         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
81160         lengths fit in regoff_t; this isn't true if regoff_t is the same
81161         width as size_t.
81162         * lib/regex.c (re_search_internal): 5th arg is LAST_START
81163         (= START + RANGE) instead of RANGE.  This avoids overflow
81164         problems when regoff_t is the same width as size_t.
81165         All callers changed.
81166         (re_search_2_stub): Check for overflow when adding the
81167         sizes of the two strings.
81168         (re_search_stub): Check for overflow when adding START
81169         to RANGE; if it occurs, substitute the extreme value.
81170
81171 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81172
81173         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
81174
81175 2005-08-31  Jim Meyering  <jim@meyering.net>
81176
81177         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
81178         a pointer-to-const.
81179         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
81180         (register_state): Likewise.
81181         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
81182         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81183         (group_nodes_into_DFAstates): Likewise.
81184
81185 2005-08-31  Jim Meyering  <jim@meyering.net>
81186
81187         * check-module: Add a FIXME comment.
81188
81189 2005-08-31  Eric Blake  <ebb9@byu.net>
81190
81191         * modules/unistd-safer (Files): Add unistd--.h.
81192         * modules/stdio-safer (Files): Add stdio--.h.
81193
81194 2005-08-31  Derek Price  <derek@ximbiot.com>
81195
81196         * lib/getdelim.c (getdelim): Return EOF on EOF.
81197         Reported by Larry Jones <lawrence.jones@ugs.com>.
81198
81199 2005-08-31  Bruno Haible  <bruno@clisp.org>
81200
81201         Avoid unnecessary diffs in the generated lib/Makefile.am.
81202         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
81203         the generated files.
81204         (func_import): Don't set cmd.
81205
81206 2005-08-31  Bruno Haible  <bruno@clisp.org>
81207
81208         * lib/strstr.c: Include <stddef.h>, for NULL.
81209         * lib/strcasestr.c: Likewise.
81210         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81211
81212 2005-08-31  Bruno Haible  <bruno@clisp.org>
81213
81214         * gnulib-tool: New option --macro-prefix.
81215         (func_import): Use macro_prefix.
81216         (import): Handle option --macro-prefix.
81217
81218 2005-08-31  Bruno Haible  <bruno@clisp.org>
81219
81220         * gnulib-tool (import): Rename most ac_* variables to cached_*.
81221         Also use new variables cached_lgpl, cached_libtool.
81222
81223 2005-08-31  Bruno Haible  <bruno@clisp.org>
81224
81225         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
81226         always instantiating them.
81227
81228 2005-08-31  Bruno Haible  <bruno@clisp.org>
81229
81230         * gnulib-tool (func_import): Read the previous cached settings
81231         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
81232         earlier added by gnulib but are now dropped. Warn when a gnulib file
81233         overwrites a non-gnulib file.
81234
81235 2005-08-31  Bruno Haible  <bruno@clisp.org>
81236
81237         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
81238         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
81239         projects that don't keep autogenerated files in CVS. Put into
81240         actioncmd only the specified modules, not the transitive closure.
81241
81242 2005-08-31  Bruno Haible  <bruno@clisp.org>
81243
81244         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
81245         Create directories that shall be filled.
81246         (import): Don't look for gl_* macros in configure.ac. Recurse across
81247         all directories containing a gnulib-cache.m4 files, if meaningful.
81248
81249 2005-08-31  Bruno Haible  <bruno@clisp.org>
81250
81251         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
81252         (import): Set seen_libtool when we see gl_LIBTOOL.
81253
81254 2005-08-31  Bruno Haible  <bruno@clisp.org>
81255
81256         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
81257         declaration macro definitions from generated gnulib.m4.
81258
81259 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
81260
81261         * lib/iconvme.h: Add prototype for iconv_alloc.
81262
81263 2005-08-29  Simon Josefsson  <jas@extundo.com>
81264
81265         * lib/iconvme.c: Fix errno.
81266
81267 2005-08-29  Bruno Haible  <bruno@clisp.org>
81268
81269         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
81270         that it works when the directory contains spaces.
81271
81272 2005-08-29  Bruno Haible  <bruno@clisp.org>
81273
81274         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
81275
81276 2005-08-29  Bruno Haible  <bruno@clisp.org>
81277
81278         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
81279         Emit more advice.
81280
81281 2005-08-29  Bruno Haible  <bruno@clisp.org>
81282         and Stepan Kasal  <kasal@ucw.cz>
81283
81284         * check-module: If more parameters are given, check each of them
81285         separately; add more exceptions, as noted by Jim Meyering.
81286         (check_module): New procedure.
81287         (%exempt_header): Now contains all exceptions.
81288
81289 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
81290
81291         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
81292
81293 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
81294
81295         * lib/iconvme.c: Split iconv_string into iconv_alloc.
81296
81297 2005-08-28  Bruno Haible  <bruno@clisp.org>
81298
81299         * m4/gnulib-tool.m4: New file.
81300
81301 2005-08-27  Jim Meyering  <jim@meyering.net>
81302
81303         * modules/unistd-safer (Files): Add pipe-safer.c.
81304         * modules/fcntl-safer (Files): Add creat-safer.c.
81305
81306 2005-08-27  Jim Meyering  <jim@meyering.net>
81307
81308         * m4/stdlib-safer.m4: New file.  From coreutils.
81309         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
81310         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
81311         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
81312         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
81313         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
81314
81315 2005-08-27  Jim Meyering  <jim@meyering.net>
81316
81317         * lib/fopen-safer.c: Merge minor changes from coreutils.
81318         * lib/dup-safer.c: Likewise.
81319         * lib/fd-safer.c: Likewise.
81320
81321         Merge from coreutils.
81322         * lib/stdio--.h: New file.
81323         * lib/stdlib--.h: New file.
81324         * lib/mkstemp-safer.c: New file.
81325
81326         GNU tar needs these.
81327         * lib/pipe-safer.c: New file.
81328         * lib/creat-safer.c: New file.
81329         * lib/fcntl--.h (creat): Define to creat_safer.
81330         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
81331         * lib/unistd--.h (pipe): Define to pipe_safer.
81332         * lib/unistd-safer.h: Declare pipe_safer.
81333
81334 2005-08-26  Simon Josefsson  <jas@extundo.com>
81335
81336         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
81337         Haible <bruno@clisp.org>.
81338
81339 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
81340
81341         * lib/regex_internal.h: Remove all references to
81342         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
81343         or better.
81344         (bitset_not, bitset_merge, bitset_not_merge):
81345         (bitset_mask, re_string_allocate, re_string_construct):
81346         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
81347         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
81348         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
81349         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
81350         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81351         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81352         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
81353         (re_acquire_state_context):
81354         Remove unnecessary forward decls.
81355         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
81356         Put __attribute at function definition,
81357         now that the function decl has been removed.
81358         * lib/regex_internal.c (re_string_peek_byte_case):
81359         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
81360         Likewise.
81361
81362 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
81363
81364         * m4/regex.m4: Add AC_PREREQ(2.50).
81365         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
81366
81367 2005-08-25  Simon Josefsson  <jas@extundo.com>
81368
81369         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
81370         __fsetlocking.
81371
81372 2005-08-25  Simon Josefsson  <jas@extundo.com>
81373
81374         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
81375         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
81376         GLIBC specific code.
81377
81378 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81379
81380         Make regex safe for g++.  This fixes one real bug (an "err"
81381         that should have been "*err").  g++ problem reported by
81382         Sam Steingold.
81383         * lib/regex_internal.h (re_calloc): New macro, consistent with
81384         re_malloc etc.  All callers of calloc changed to use re_calloc.
81385         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
81386         not int.  All callers changed.
81387         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
81388         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
81389         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
81390         (find_recover_state): Change "err" to "*err"; this fixes what
81391         appears to be a real bug.
81392         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
81393         versus int.
81394
81395 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81396
81397         * modules/regex (Depends-on): Add malloc, since the code
81398         assumes that !malloc(0) means failure.
81399
81400 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81401
81402         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
81403
81404         alloca modernization/simplification for regex.
81405         * lib/regex.c: Remove portability cruft for alloca.  This no longer
81406         needs to be at the start of the file, and can be moved into
81407         regex_internal.h and simplified.
81408         * lib/regex_internal.h: Include <alloca.h>.
81409         (__libc_use_alloca) [!defined _LIBC]: New macro.
81410         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
81411         now works outside glibc.
81412
81413 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
81414
81415         * config/srclist.txt: Add glibc bugs 1241, 1245.
81416
81417 2005-08-25  Jim Meyering  <jim@meyering.net>
81418
81419         * lib/open-safer.c: Include <config.h>.
81420         Otherwise, we'd lose LARGEFILE support in any file using
81421         e.g. "fcntl--.h"
81422
81423 2005-08-25  Bruno Haible  <bruno@clisp.org>
81424
81425         * m4/minmax.m4: Require autoconf 2.52.
81426         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
81427         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
81428         alternatives of translit over the alphabet.
81429         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
81430
81431 2005-08-24  Simon Josefsson  <jas@extundo.com>
81432
81433         * tests/test-getpass.c: New file.
81434
81435 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81436
81437         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
81438         for GNU regex features.
81439
81440 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81441
81442         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
81443         * lib/regex.h (regerror): Likewise.
81444
81445         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
81446         requires this.  (The code never needed it.)
81447
81448         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
81449         All uses of recently-renamed identifiers changed to use the new,
81450         POSIX-compliant names.  The code will build and run just fine
81451         without these changes, but it's better to eat our own dog food
81452         and use the standard-conforming names.
81453
81454         * lib/regex.h: Fix a multitude of POSIX name space violations.
81455         These changes have an effect only for programs that define
81456         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
81457         do not change anything for programs compiled in the normal way.
81458         Also, there is no effect on the ABI.
81459
81460         (_REGEX_SOURCE): New macro.
81461         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
81462         defined and _GNU_SOURCE is not; this fixes a name space violation.
81463
81464         Rename the following macros to obey POSIX requirements.
81465         The old names are still visible as macros if _REGEX_SOURCE is defined.
81466         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
81467         RE_BACKSLASH_ESCAPE_IN_LISTS.
81468         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
81469         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
81470         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
81471         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
81472         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
81473         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
81474         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
81475         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
81476         (REG_INTERVALS): renamed from RE_INTERVALS.
81477         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
81478         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
81479         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
81480         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
81481         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
81482         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
81483         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
81484         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
81485         RE_UNMATCHED_RIGHT_PAREN_ORD.
81486         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
81487         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
81488         (REG_DEBUG): renamed from RE_DEBUG.
81489         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
81490         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
81491         unusual, since we can't clash with the POSIX REG_ICASE.
81492         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
81493         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
81494         (REG_NO_SUB): renamed from RE_NO_SUB.
81495         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
81496         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
81497         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
81498         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
81499         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
81500         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
81501         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
81502         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
81503         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
81504         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
81505         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
81506         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
81507         RE_SYNTAX_POSIX_MINIMAL_BASIC.
81508         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
81509         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
81510         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
81511         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
81512         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
81513         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
81514         (REG_FIXED): Renamed from REGS_FIXED.
81515         (REG_NREGS): Renamed from RE_NREGS.
81516
81517         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
81518         of other REG_* macros, since POSIX says the user is allowed to
81519         #undef these macros selectively.
81520
81521         (reg_errcode_t): Update comment stating what other tables need
81522         to be consistent.
81523
81524         Rename the following enum values to obey POSIX requirements.
81525         The old names are still visible as macros.
81526         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
81527         is not defined, since GNU is supposed to be a superset of POSIX as
81528         much as possible, and since we want reg_errcode_t to be a signed
81529         type for implementation consistency.
81530         (_REG_NOERROR): Renamed from REG_NOERROR.
81531         (_REG_NOMATCH): Renamed from REG_NOMATCH.
81532         (_REG_BADPAT): Renamed from REG_BADPAT.
81533         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
81534         (_REG_ECTYPE): Renamed from REG_ECTYPE.
81535         (_REG_EESCAPE): Renamed from REG_EESCAPE.
81536         (_REG_ESUBREG): Renamed from REG_ESUBREG.
81537         (_REG_EBRACK): Renamed from REG_EBRACK.
81538         (_REG_EPAREN): Renamed from REG_EPAREN.
81539         (_REG_EBRACE): Renamed from REG_EBRACE.
81540         (_REG_BADBR): Renamed from REG_BADBR.
81541         (_REG_ERANGE): Renamed from REG_ERANGE.
81542         (_REG_ESPACE): Renamed from REG_ESPACE.
81543         (_REG_BADRPT): Renamed from REG_BADRPT.
81544         (_REG_EEND): Renamed from REG_EEND.
81545         (_REG_ESIZE): Renamed from REG_ESIZE.
81546         (_REG_ERPAREN): Renamed from REG_ERPAREN.
81547         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
81548         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
81549         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
81550         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
81551
81552         (_REG_RE_NAME, _REG_RM_NAME): New macros.
81553         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
81554         changed.  But support the old name if the new one is not defined
81555         and if _REGEX_SOURCE.
81556
81557         Change the following member names in struct re_pattern_buffer.
81558         The old names are still supported if !_REGEX_SOURCE.
81559         The new names are always supported, regardless of _REGEX_SOURCE.
81560         (re_buffer): Renamed from buffer.
81561         (re_allocated): Renamed from allocated.
81562         (re_used): Renamed from used.
81563         (re_syntax): Renamed from syntax.
81564         (re_fastmap): Renamed from fastmap.
81565         (re_translate): Renamed from translate.
81566         (re_can_be_null): Renamed from can_be_null.
81567         (re_regs_allocated): Renamed from regs_allocated.
81568         (re_fastmap_accurate): Renamed from fastmap_accurate.
81569         (re_no_sub): Renamed from no_sub.
81570         (re_not_bol): Renamed from not_bol.
81571         (re_not_eol): Renamed from not_eol.
81572         (re_newline_anchor): Renamed from newline_anchor.
81573
81574         Change the following member names in struct re_registers.
81575         The old names are still supported if !_REGEX_SOURCE.
81576         The new names are always supported, regardless of _REGEX_SOURCE.
81577         (rm_num_regs): Renamed from num_regs.
81578         (rm_start): Renamed from start.
81579         (rm_end): Renamed from end.
81580
81581         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
81582         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
81583         Prepend __ to parameter names.
81584
81585         Undo yesterday's changes.
81586
81587 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
81588
81589         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
81590         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
81591         lib/regex.c.
81592
81593 2005-08-24  Jim Meyering  <jim@meyering.net>
81594
81595         Sync from coreutils.
81596         * m4/fcntl-safer.m4: New file.
81597
81598         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
81599         and object files for this module.
81600
81601 2005-08-24  Jim Meyering  <jim@meyering.net>
81602
81603         Sync from coreutils.
81604         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
81605
81606 2005-08-24  Jim Meyering  <jim@meyering.net>
81607
81608         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
81609         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
81610
81611 2005-08-24  Jim Meyering  <jim@meyering.net>
81612
81613         * modules/fcntl-safer: New module.
81614         * modules/fts (Depends-on): Add fcntl-safer.
81615         * MODULES.html.sh (File descriptor based Input/Output):
81616         Add fcntl-safer.
81617
81618 2005-08-24  Bruno Haible  <bruno@clisp.org>
81619
81620         Support for unit test modules.
81621         * modules/README: Mention tests modules.
81622         * modules/TEMPLATE-TESTS: New file.
81623         * gnulib-tool: New options --extract-tests-module, --with-tests and
81624         --tests-base (unused for the moment).
81625         (testsbase, inctests): New variables.
81626         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
81627         (func_verify_module): Exclude TEMPLATE-TESTS.
81628         (func_verify_nontests_module, func_verify_tests_module): New functions.
81629         (func_get_dependencies): Add implicit dependency for tests modules.
81630         (func_get_tests_module): New function.
81631         (func_modules_transitive_closure): When --with-tests was specified,
81632         include the unit tests as well, unless explicitly avoided.
81633         (func_emit_lib_Makefile_am): Ignore the tests modules here.
81634         (func_emit_tests_Makefile_am): New function.
81635         (func_create_testdir): When --with-tests was specified, emit a
81636         tests/ directory.
81637         * MODULES.html.sh (Future developments): Update.
81638
81639 2005-08-24  Bruno Haible  <bruno@clisp.org>
81640
81641         * modules/tls-tests: New file.
81642         * tests/test-tls.c: New file, from GNU gettext.
81643
81644 2005-08-24  Bruno Haible  <bruno@clisp.org>
81645
81646         * modules/lock-tests: New file.
81647         * tests/test-lock.c: New file, from GNU gettext.
81648
81649 2005-08-24  Bruno Haible  <bruno@clisp.org>
81650
81651         * lib/lock.h: Add multiple inclusion guard.
81652         * lib/tls.h: Add multiple inclusion guard.
81653
81654 2005-08-24  Bruno Haible  <bruno@clisp.org>
81655
81656         * gnulib-tool: Add support for the --aux-dir option to
81657         --create-testdir, --create-megatestdir, --test, --megatest.
81658         (func_create_testdir, func_create_megatestdir): Optionally emit a
81659         AC_CONFIG_AUX_DIR directive.
81660         (create-testdir, create-megatestdir, test, megatest): Provide a
81661         default value for $auxdir.
81662
81663 2005-08-24  Bruno Haible  <bruno@clisp.org>
81664
81665         * gnulib-tool (import): Use compound statement instead of subshell
81666         where possible.
81667
81668 2005-08-24  Bruno Haible  <bruno@clisp.org>
81669
81670         * gnulib-tool (import): Change --aux-dir default to "build-aux".
81671
81672 2005-08-24  Bruno Haible  <bruno@clisp.org>
81673
81674         * gnulib-tool (func_version): Update.
81675
81676 2005-08-24  Bruno Haible  <bruno@clisp.org>
81677
81678         * gnulib-tool (func_import, func_create_testdir,
81679         func_create_megatestdir): Quote all autoconf macro arguments.
81680
81681 2005-08-24  Bruno Haible  <bruno@clisp.org>
81682
81683         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
81684         option --force, because --force causes the aclocal.m4 of each
81685         subdirectory to be newer than the corresponding config.h.in.
81686
81687 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81688
81689         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
81690         All contents moved to gl_REGEX.
81691         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
81692         assume that it does.
81693
81694 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81695
81696         * lib/regex.h (REG_NOSYS)
81697         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
81698         Define, since POSIX requires it as of 2001.
81699         (_REG_ENOSYS)
81700         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
81701         New private symbol, used to keep the enum signed in all cases.
81702         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
81703         Youngman in
81704         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
81705
81706         * lib/regex_internal.c (re_string_skip_chars, register_state):
81707         (calc_state_hash):
81708         Remove forward decls; no longer needed now that we use prototypes.
81709         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
81710         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
81711         (clean_state_log_if_needed): Likewise.
81712
81713 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
81714
81715         * config/srclist.txt: Add glibc bugs 1231-1233.
81716
81717 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81718
81719         Fix problems reported by Sam Steingold in
81720         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
81721         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
81722         assumed that reg_errcode_t is a signed type, which is not
81723         necessarily true if _XOPEN_SOURCE is not defined.
81724         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
81725         since some compilers warn about it otherwise.
81726
81727 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81728
81729         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
81730         (init_word_char, create_initial_state, duplicate_node_closure):
81731         (fetch_token, peek_token_bracket, build_range_exp):
81732         (build_collating_symbol): Remove forward decls; no longer needed
81733         now that we use prototypes.
81734
81735         * lib/regcomp.c:
81736         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
81737         (re_compile_fastmap_iter, regcomp, regerror, regfree):
81738         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
81739         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
81740         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
81741         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
81742         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
81743         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
81744         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
81745         (build_range_exp, build_collating_symbol, parse_bracket_exp):
81746         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
81747         (build_charclass, build_charclass_op, fetch_number, create_tree):
81748         (create_token_tree, mark_opt_subexp, duplicate_tree):
81749         Use prototypes rather than old-style definitions.
81750
81751         * lib/regex_internal.c:
81752         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
81753         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
81754         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81755         (re_string_reconstruct, re_string_peek_byte_case):
81756         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
81757         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81758         (re_node_set_init_copy, re_node_set_add_intersect):
81759         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81760         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81761         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81762         (re_acquire_state, re_acquire_state_context, register_state):
81763         (create_ci_newstate, create_cd_newstate, free_state):
81764         Likewise.
81765         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
81766         re_search_2):
81767         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
81768         (re_search_internal, prune_impossible_nodes):
81769         (acquire_init_state_context, check_matching, static):
81770         (check_halt_node_context, check_halt_state_context, proceed_next_node):
81771         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
81772         (update_regs, sift_states_backward, build_sifted_states):
81773         (clean_state_log_if_needed, merge_state_array):
81774         (update_cur_sifted_state, add_epsilon_src_nodes):
81775         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
81776         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
81777         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
81778         (find_recover_state, check_subexp_matching_top, transit_state_mb):
81779         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
81780         (check_arrival, check_arrival_add_next_nodes):
81781         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81782         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81783         (check_node_accept_bytes, check_node_accept, extend_buffers):
81784         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
81785         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
81786         (sift_ctx_init):
81787         Likewise.
81788
81789         * lib/regex_internal.h:
81790         (re_string_allocate, re_string_construct, re_string_reconstruct):
81791         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
81792         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
81793         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
81794         (re_string_context_at, re_string_peek_byte_case):
81795         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
81796         is defined, since we now use prototypes always.
81797
81798         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
81799         C89 or better.  All uses removed.
81800
81801 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
81802
81803         * config/srclist.txt: Add glibc bugs 1220-1227.
81804
81805 2005-08-20  Jim Meyering  <jim@meyering.net>
81806
81807         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
81808         of unused local, dfa.
81809
81810 2005-08-20  Bruno Haible  <bruno@clisp.org>
81811
81812         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
81813
81814 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81815
81816         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
81817         (re_node_set_insert_last, re_dfa_add_node):
81818         Rename local variables to avoid GCC shadowing warnings.
81819
81820 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81821
81822         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
81823         [defined lint]: Suppress bogus uninitialized-variable warnings.
81824
81825         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
81826         and let the caller return REG_ESPACE if out of space.  This
81827         removes an uninitialied-variable warning with GCC 4.0.1, and also
81828         avoids taking the address of a local variable.  All callers
81829         changed.
81830
81831 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
81832
81833         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
81834         $LIBCSRC/posix/regexec.c.
81835         Add glibc bug 1217 for regcomp.c.
81836
81837 2005-08-19  Jim Meyering  <jim@meyering.net>
81838
81839         * lib/regexec.c (proceed_next_node): Redo local variables to
81840         avoid GCC shadowing warnings.
81841
81842 2005-08-18  Bruno Haible  <bruno@clisp.org>
81843
81844         * lib/strstr.c (strstr): Fix return value in multibyte case.
81845         * lib/strcasestr.c (strcasestr): Likewise.
81846
81847 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
81848
81849         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
81850
81851 2005-08-17  Jim Meyering  <jim@meyering.net>
81852
81853         Make the %s format (seconds since the epoch) work for a negative
81854         number and when used with a zero-padded field width, e.g. %015s.
81855
81856         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
81857         label so that it precedes the code to set `digits'.  Otherwise,
81858         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
81859         print `00-22'.  Now, it prints `-0022', as it should.
81860
81861 2005-08-17  Bruno Haible  <bruno@clisp.org>
81862
81863         * modules/strstr (Files): Add m4/mbrtowc.m4.
81864         (Depends-on): Add mbuiter.
81865
81866 2005-08-17  Bruno Haible  <bruno@clisp.org>
81867
81868         * modules/strcasestr: New file.
81869         * MODULES.html.sh (String handling, based on ANSI C 89): Add
81870         strcasestr.
81871
81872 2005-08-17  Bruno Haible  <bruno@clisp.org>
81873
81874         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
81875
81876 2005-08-17  Bruno Haible  <bruno@clisp.org>
81877
81878         * modules/mbuiter: New file.
81879         * MODULES.html.sh (Extended multibyte and wide character utilities):
81880         Add mbuiter.
81881
81882 2005-08-17  Bruno Haible  <bruno@clisp.org>
81883
81884         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
81885         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
81886
81887 2005-08-17  Bruno Haible  <bruno@clisp.org>
81888
81889         * m4/strcasestr.m4: New file.
81890
81891 2005-08-17  Bruno Haible  <bruno@clisp.org>
81892
81893         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
81894         * lib/strstr.c: Completely rewritten, with multibyte locale support.
81895
81896 2005-08-17  Bruno Haible  <bruno@clisp.org>
81897
81898         * lib/strcasestr.h: New file.
81899         * lib/strcasestr.c: New file.
81900
81901 2005-08-17  Bruno Haible  <bruno@clisp.org>
81902
81903         * lib/strcasecmp.c: Use mbuiter.h.
81904
81905 2005-08-17  Bruno Haible  <bruno@clisp.org>
81906
81907         * lib/mbuiter.h: New file.
81908
81909 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
81910
81911         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
81912         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
81913         and gl_GETOPT are both invoked via different paths (as happens
81914         with GNU tar CVS because it uses both argp and getopt), the former
81915         wins.
81916
81917 2005-08-16  Bruno Haible  <bruno@clisp.org>
81918
81919         * modules/tls: New file.
81920         * MODULES.html.sh (Multithreading): Add tls.
81921
81922 2005-08-16  Bruno Haible  <bruno@clisp.org>
81923
81924         * modules/strnlen1: New file.
81925         * MODULES.html.sh (String handling): Add strnlen1.
81926
81927 2005-08-16  Bruno Haible  <bruno@clisp.org>
81928
81929         * modules/strcase (Files): Add m4/mbrtowc.m4.
81930         (Depends-on): Add strnlen1, mbchar.
81931
81932 2005-08-16  Bruno Haible  <bruno@clisp.org>
81933
81934         * modules/mbiter: New file.
81935         * MODULES.html.sh (Extended multibyte and wide character utilities):
81936         Add mbiter.
81937
81938 2005-08-16  Bruno Haible  <bruno@clisp.org>
81939
81940         * modules/mbfile: New file.
81941         * MODULES.html.sh (Extended multibyte and wide character utilities):
81942         Add mbfile.
81943
81944 2005-08-16  Bruno Haible  <bruno@clisp.org>
81945
81946         * modules/mbchar: New file.
81947         * MODULES.html.sh (Extended multibyte and wide character utilities):
81948         New section.
81949
81950 2005-08-16  Bruno Haible  <bruno@clisp.org>
81951
81952         * m4/tls.m4: New file, from GNU gettext.
81953
81954 2005-08-16  Bruno Haible  <bruno@clisp.org>
81955
81956         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
81957         always.
81958         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
81959
81960 2005-08-16  Bruno Haible  <bruno@clisp.org>
81961
81962         * m4/mbiter.m4: New file.
81963
81964 2005-08-16  Bruno Haible  <bruno@clisp.org>
81965
81966         * m4/mbfile.m4: New file.
81967
81968 2005-08-16  Bruno Haible  <bruno@clisp.org>
81969
81970         * m4/mbchar.m4: New file.
81971
81972 2005-08-16  Bruno Haible  <bruno@clisp.org>
81973
81974         * lib/tls.h: New file, from GNU gettext.
81975         * lib/tls.c: New file, from GNU gettext.
81976
81977 2005-08-16  Bruno Haible  <bruno@clisp.org>
81978
81979         * lib/strnlen1.h: New file.
81980         * lib/strnlen1.c: New file.
81981
81982 2005-08-16  Bruno Haible  <bruno@clisp.org>
81983
81984         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
81985         (mbi_init): Update.
81986         (mbi_avail, mbi_advance): Let the iteration end before the terminating
81987         NUL byte, not after it.
81988
81989 2005-08-16  Bruno Haible  <bruno@clisp.org>
81990
81991         * lib/strcase.h (strcasecmp): Add note in comments.
81992         * lib/strncasecmp.c: Use code from strcasecmp.c.
81993         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
81994         (strcasecmp): Work correctly in multibyte locales.
81995
81996 2005-08-16  Bruno Haible  <bruno@clisp.org>
81997
81998         * lib/mbiter.h: New file.
81999
82000 2005-08-16  Bruno Haible  <bruno@clisp.org>
82001
82002         * lib/mbfile.h: New file.
82003
82004 2005-08-16  Bruno Haible  <bruno@clisp.org>
82005
82006         * lib/mbchar.h: New file.
82007         * lib/mbchar.c: New file.
82008
82009 2005-08-16  Bruno Haible  <bruno@clisp.org>
82010
82011         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
82012         the valid ones. Makes the comparison operations transitive:
82013         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
82014         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
82015
82016 2005-08-15  Simon Josefsson  <jas@extundo.com>
82017
82018         * modules/ssize_t (License): Change to 'unlimited'.
82019
82020         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
82021
82022 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
82023
82024         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
82025         Add comments for each pending glibc patch.
82026
82027 2005-08-15  Bruno Haible  <bruno@clisp.org>
82028
82029         * lib/regex.h (__restrict_arr): Don't define to __restrict if
82030         __cplusplus is defined.
82031
82032 2005-08-14  Jim Meyering  <jim@meyering.net>
82033
82034         Sync from coreutils.
82035
82036         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
82037         Use the hash-table-based cycle-detection code not just when
82038         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
82039         Reported by James Youngman in
82040         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
82041         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
82042         FTS_TIGHT_CYCLE_CHECK.
82043         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
82044         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
82045         once again.
82046         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
82047         * lib/fts.c (fd_safer): Remove decl.
82048         Include fcntl--.h rather than unistd-safer.h
82049         (fts_safe_changedir): Don't call fd_safer; no longer needed
82050         now that we include fcntl--.h.
82051
82052 2005-08-12  Simon Josefsson  <jas@extundo.com>
82053
82054         * modules/getndelim2: Use ssize_t module.
82055         * modules/getnline: Likewise.
82056         * modules/safe-read: Likewise.
82057         * modules/xreadlink: Likewise.
82058
82059         * modules/ssize_t: New file.
82060
82061 2005-08-12  Simon Josefsson  <jas@extundo.com>
82062
82063         * m4/readline.m4: Look for termcap, curses or ncurses if required.
82064
82065 2005-08-12  Simon Josefsson  <jas@extundo.com>
82066
82067         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82068         ssize_t.
82069
82070 2005-08-12  Simon Josefsson  <jas@extundo.com>
82071
82072         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
82073         readline, getdelim and check_version.
82074         (Support for systems lacking ISO C 99: Sizes of integer types):
82075         Add size_max.
82076
82077 2005-08-12  Bruno Haible  <bruno@clisp.org>
82078
82079         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
82080
82081 2005-08-11  Simon Josefsson  <jas@extundo.com>
82082
82083         * modules/readline: New file.
82084
82085         * modules/strnlen (Files): Add strnlen.h.
82086
82087 2005-08-11  Simon Josefsson  <jas@extundo.com>
82088
82089         * m4/readline.m4: New file.
82090
82091 2005-08-11  Simon Josefsson  <jas@extundo.com>
82092
82093         * lib/readline.h, readline.c: New file.
82094
82095 2005-08-11  Simon Josefsson  <jas@extundo.com>
82096
82097         * doc/gnulib.texi (Initial import, Finishing touches): Mention
82098         gl_AVOID.
82099
82100 2005-08-11  Bruno Haible  <bruno@clisp.org>
82101
82102         * lib/strnlen.h (strnlen): Change parameter name to match comment.
82103
82104 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
82105
82106         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
82107
82108 2005-08-10  Simon Josefsson  <jas@extundo.com>
82109
82110         * tests/test-iconvme.c: New file.
82111
82112 2005-08-10  Simon Josefsson  <jas@extundo.com>
82113
82114         * m4/strnlen.m4: New file.
82115
82116         * m4/strndup.m4: Don't check for strnlen declaration, done in
82117         strnlen.m4.
82118
82119 2005-08-10  Simon Josefsson  <jas@extundo.com>
82120
82121         * lib/strndup.c: Use strnlen.h.
82122
82123         * lib/strnlen.h: New file.
82124
82125 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82126
82127         * README: Typos.
82128
82129 2005-08-02  Simon Josefsson  <jas@extundo.com>
82130
82131         * modules/readline: New file.
82132
82133 2005-08-02  Simon Josefsson  <jas@extundo.com>
82134
82135         * modules/getdelim: New file.
82136
82137         * modules/getline: Rewrite, don't use getndelim2.
82138
82139 2005-08-02  Simon Josefsson  <jas@extundo.com>
82140
82141         * m4/getline.m4: Separate out getdelim stuff into separate module.
82142
82143         * m4/getdelim.m4: New file.
82144
82145 2005-08-02  Simon Josefsson  <jas@extundo.com>
82146
82147         * lib/getline.h, getline.c: Rewrite.
82148
82149         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
82150
82151 2005-07-31  Bruno Haible  <bruno@clisp.org>
82152
82153         * lib/lock.h (gl_lock_initializer): New macro.
82154         (gl_lock_define_initialized): Use it.
82155         (gl_rwlock_initializer): New macro.
82156         (gl_rwlock_define_initialized): Use it.
82157         (gl_recursive_lock_initializer): New macro.
82158         (gl_recursive_lock_define_initialized): Use it.
82159
82160 2005-07-30  Karl Berry  <karl@gnu.org>
82161
82162         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
82163         Report from Ben Pfaff, regarding getopt.
82164
82165 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
82166
82167         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
82168         normal way.
82169         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
82170         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
82171         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
82172         (gl_GETOPT): Use the new macros.  Most of the implementation
82173         is moved to the new macros.  This is for programs like Emacs
82174         that don't want all the functionality of gl_GETOPT.
82175
82176 2005-07-26  Bruno Haible  <bruno@clisp.org>
82177
82178         * m4/lock.m4: Update from GNU gettext.
82179
82180 2005-07-26  Bruno Haible  <bruno@clisp.org>
82181
82182         * lib/lock.h: Update from GNU gettext.
82183         * lib/lock.c: Update from GNU gettext.
82184
82185 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
82186
82187         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
82188         obsolescent AC_TRY_RUN.  Include the default includes files, for
82189         'exit'.
82190
82191 2005-07-24  Bruno Haible  <bruno@clisp.org>
82192
82193         * modules/visibility: New file.
82194         * MODULES.html.sh (Misc): Add visibility.
82195
82196 2005-07-24  Bruno Haible  <bruno@clisp.org>
82197
82198         * m4/visibility.m4: New file.
82199
82200 2005-07-24  Bruno Haible  <bruno@clisp.org>
82201
82202         * doc/visibility.texi: New file.
82203
82204 2005-07-22  Bruno Haible  <bruno@clisp.org>
82205
82206         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
82207         $(ALLOCA_H), redundant through BUILT_SOURCES.
82208         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
82209         redundant through BUILT_SOURCES.
82210         * modules/byteswap (Makefile.am): Remove explicit dependency on
82211         $(BYTESWAP_H), redundant through BUILT_SOURCES.
82212         * modules/fnmatch (Makefile.am): Remove explicit dependency on
82213         $(FNMATCH_H), redundant through BUILT_SOURCES.
82214         * modules/getopt (Makefile.am): Remove explicit dependency on
82215         $(GETOPT_H), redundant through BUILT_SOURCES.
82216         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
82217         redundant through BUILT_SOURCES.
82218         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
82219         redundant through BUILT_SOURCES.
82220         * modules/stdbool (Makefile.am): Remove explicit dependency on
82221         $(STDBOOL_H), redundant through BUILT_SOURCES.
82222         * modules/stdint (Makefile.am): Remove explicit dependency on
82223         $(STDINT_H), redundant through BUILT_SOURCES.
82224         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
82225         Remove explicit dependency on $(SYSEXITS_H).
82226         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
82227
82228 2005-07-18  Simon Josefsson  <jas@extundo.com>
82229
82230         * lib/check-version.c (check_version): Accept identical versions too.
82231
82232 2005-07-18  Bruno Haible  <bruno@clisp.org>
82233
82234         * modules/lock: New file.
82235         * MODULES.html.sh (Multithreading): New section.
82236
82237 2005-07-18  Bruno Haible  <bruno@clisp.org>
82238
82239         * m4/lock.m4: New file, from GNU gettext.
82240
82241 2005-07-18  Bruno Haible  <bruno@clisp.org>
82242
82243         * lib/lock.h: New file, from GNU gettext.
82244         * lib/lock.c: New file, from GNU gettext.
82245
82246 2005-07-18  Bruno Haible  <bruno@clisp.org>
82247
82248         * lib/lock.h (gl_once_t): New type.
82249         (gl_once_define, gl_once): New macros.
82250         * lib/lock.c (fresh_once): New variable.
82251         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
82252         functions.
82253
82254 2005-07-16  Simon Josefsson  <jas@extundo.com>
82255
82256         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
82257         workaround, suggested by Bruno.
82258
82259 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82260
82261         * modules/xalloc (Depends-on): Add xalloc-die.
82262         * modules/xvasprintf (Depends-on): Add xalloc-die.
82263
82264 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
82265
82266         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
82267         with a minor change.
82268
82269 2005-07-15  Bruno Haible  <bruno@clisp.org>
82270
82271         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
82272         When using lib/poll.c, define poll as rpl_poll.
82273
82274 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
82275
82276         * modules/argp (Depends-on): Remove unlocked-io.
82277
82278 2005-07-14  Derek Price  <derek@ximbiot.com>
82279
82280         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
82281         for glob symlink bug.
82282
82283 2005-07-14  Bruno Haible  <bruno@clisp.org>
82284
82285         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
82286         Instead, test for *_unlocked function declarations directly.
82287
82288 2005-07-11  Simon Josefsson  <jas@extundo.com>
82289
82290         * modules/size_max: New file.
82291
82292         * modules/xsize: Depend on size_max module for size_max.m4.
82293
82294 2005-07-11  Simon Josefsson  <jas@extundo.com>
82295
82296         * lib/size_max.h: New file.
82297
82298 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
82299
82300         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
82301         copyright symbol and the year.
82302         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
82303         (version_etc_va): Use parameterized copyright notice.
82304         Reword to conform to the current GNU coding standards.
82305
82306 2005-07-11  Karl Berry  <karl@gnu.org>
82307
82308         * doc/gnulib.texi (Quoting): new node.
82309         (Initial import): more info, from Patrice.
82310
82311 2005-07-11  Bruno Haible  <bruno@clisp.org>
82312
82313         * gnulib-tool (func_usage): Document option --avoid.
82314         (Command line options): Handle --avoid.
82315         (func_acceptable): New function.
82316         (func_modules_transitive_closure): Use it.
82317
82318 2005-07-11  Bruno Haible  <bruno@clisp.org>
82319
82320         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
82321         Reported by Jim Meyering.
82322
82323 2005-07-10  Bruno Haible  <bruno@clisp.org>
82324
82325         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
82326         Needed when size_t is smaller than 'unsigned int'.
82327         Reported by Paul Eggert.
82328
82329 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82330
82331         * modules/argp (Depends-on): Add unlocked-io
82332
82333 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82334
82335         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
82336         block of defines.
82337
82338 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
82339
82340         * config/srclist.txt: Comment out regcomp.c, since we have a porting
82341         fix now.
82342
82343 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
82344         and Paul Eggert  <eggert@cs.ucla.edu>
82345
82346         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
82347         in wint_t, not wchar_t.  Remove now-unnecessary cast.
82348
82349 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82350
82351         * modules/regex (Files): Add lib/regex_internal.c,
82352         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
82353         (Depends-on): Add extensions.
82354         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
82355
82356 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82357
82358         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
82359         pathconf.
82360         * m4/same.m4 (gl_SAME): Likewise.
82361         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
82362
82363         * m4/regex.m4: Adjust to new libc regex implementation.
82364         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
82365         all the .c and .h parts of (the new) regex.
82366         Quote the m4 stuff better.
82367         Check for RE_ICASE bug of old gnulib.
82368         Check for REG_STARTEND of recent libc.
82369         Rename local variables from jm_* to gl_*.
82370         Quote operand of "test -f".
82371         Say "recent enough" version of libc, not "version 2".
82372         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
82373         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
82374         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
82375         Remove check for btowc, isascii.
82376         Require AM_LANGINFO_CODESET.
82377
82378 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82379
82380         * lib/regex.c, regex.h: Sync from libc.
82381         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
82382         * lib/regexec.c:
82383         New files, synced from libc, except that regex_internal.h
82384         currently has a small porting fix.
82385
82386 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
82387
82388         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
82389         regex_internal.c, regexec.c.
82390         Add regex_internal.h too, but as a comment, since the libc version
82391         is currently broken in gnulib mode.
82392
82393 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
82394
82395         Support programs like Emacs that use gnulib but not gettext.
82396         * MODULES.html.sh (Internationalization functions): Add gettext-h.
82397         * modules/gettext-h: New file.
82398         * modules/gettext (Files): Remove lib/gettext.h.
82399         (Depends-on): Add gettext-h.
82400         (Makefile.am): Remove lib_SOURCES.
82401         * modules/argmatch, modules/c-stack, modules/closeout:
82402         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
82403         * modules/execute, modules/file-type, modules/getaddrinfo:
82404         * modules/getopt, modules/human, modules/javacomp:
82405         * modules/javaexec, modules/mkdir-p, modules/obstack:
82406         * modules/openat, modules/pagealign_alloc, modules/pipe:
82407         * modules/quotearg, modules/regex, modules/rpmatch:
82408         * modules/unicodeio, modules/userspec, modules/version-etc:
82409         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
82410         * modules/xsetenv:
82411         Depend on gettext-h, not gettext.
82412
82413 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
82414
82415         * gnulib-tool (func_import): Add support for 'public domain' license.
82416         * modules/alloca, modules/atexit, modules/memmove:
82417         Now public domain, not GPL.
82418         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
82419         * modules/realloc, modules/strerror, modules/strtod:
82420         Now LGPL, not GPL.
82421
82422 2005-07-05  Bruno Haible  <bruno@clisp.org>
82423
82424         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
82425         autoconf CVS. Needed for mingw.
82426
82427 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82428
82429         Remove the dependency of the strftime module on the tzset module.
82430         * modules/strftime (Depends-on): Remove dependency on tzset.
82431
82432 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82433
82434         Remove the dependency of the strftime module on the tzset module.
82435         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
82436         gl_FUNC_TZSET_CLOBBER.
82437
82438 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
82439
82440         Remove the dependency of the strftime module on the tzset module.
82441         * lib/strftime.c (my_strftime)
82442         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
82443         Copy the input structure, to work around some of the bug with
82444         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
82445         Solaris releases, you should also use the tzset module, but we won't
82446         require it as a dependency any more since we don't want LGPLed code
82447         to depend on GPLed code.
82448
82449 2005-07-02  Jim Meyering  <jim@meyering.net>
82450
82451         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
82452         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
82453         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
82454         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
82455
82456 2005-07-02  Jim Meyering  <jim@meyering.net>
82457
82458         * lib/backupfile.c (backup_args): Change a `0' to NULL.
82459
82460 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
82461
82462         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
82463         declares only 'struct timespec;' (!).
82464
82465 2005-07-01  Jim Meyering  <jim@meyering.net>
82466
82467         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
82468         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
82469         * lib/save-cwd.c, tempname.c:
82470         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82471         and don't include <sys/file.h>).
82472
82473 2005-06-29  Jim Meyering  <jim@meyering.net>
82474
82475         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
82476         type name.  Use the variable name instead.
82477         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
82478         Likewise.
82479
82480 2005-06-28  Simon Josefsson  <jas@extundo.com>
82481
82482         * modules/check-version (Files): Add check-version.m4.
82483
82484 2005-06-28  Simon Josefsson  <jas@extundo.com>
82485
82486         * m4/check-version.m4: New file, suggested by Jim Meyering
82487         <jim@meyering.net>.
82488
82489 2005-06-28  Simon Josefsson  <jas@extundo.com>
82490
82491         * lib/check-version.h, lib/check-version.c: New files.
82492
82493 2005-06-28  Simon Josefsson  <jas@extundo.com>
82494
82495         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
82496         collision with global variable.  Better indentation.  Don't
82497         increment buffer pointer beyond buffer end.  Based on comments
82498         from Paul Eggert <eggert@cs.ucla.edu>.
82499
82500         * lib/base64.h: Indent.
82501
82502 2005-06-28  Simon Josefsson  <jas@extundo.com>
82503
82504         * doc/gnulib.texi (Library version handling): New section.
82505
82506 2005-06-28  Jim Meyering  <jim@meyering.net>
82507
82508         * check-module (find_included_lib_files): Hard-code another
82509         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
82510         but modules/fts-lgpl (correctly) does not list those files.
82511
82512         * modules/canonicalize (Files): Add lib/pathmax.h.
82513
82514 2005-06-25  Simon Josefsson  <jas@extundo.com>
82515
82516         * modules/check-version: New file.
82517
82518 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
82519
82520         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
82521         initializer of struct addrinfo, as an indication that we don't
82522         care how many members the structure has.
82523
82524 2005-06-24  Derek Price  <derek@ximbiot.com>
82525         and Bruno Haible  <bruno@clisp.org>
82526
82527         Remove stat module & update lstat.
82528         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
82529         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82530         * m4/stat.m4: Remove this file.
82531
82532 2005-06-24  Derek Price  <derek@ximbiot.com>
82533         and Bruno Haible  <bruno@clisp.org>
82534
82535         Remove stat module & update lstat.
82536         * lib/stat.c: Remove this file...
82537         (slash_aware_lstat): ...moving this content and its support...
82538         * lib/lstat.c (rpl_lstat): ...into here.
82539         * lib/lstat.h: New file.
82540
82541 2005-06-24  Derek Price  <derek@ximbiot.com>
82542         and Bruno Haible  <bruno@clisp.org>
82543
82544         Remove stat module & update lstat.
82545         * config/srclist.txt (libc sources): Remove stat.
82546
82547 2005-06-24  Derek Price  <derek@ximbiot.com>
82548         and Bruno Haible  <bruno@clisp.org>
82549
82550         Remove stat module & update lstat.
82551         * MODULES.html.sh (stat): Remove.
82552         * MODULES.html: Regenerated.
82553         * modules/lstat (Description): Correct function name.
82554         (Files): Add "lstat.h".
82555         (Depends-on): Remove stat, add xalloc, stat-macros.
82556         * modules/stat: Remove this file.
82557         (Include): Add "lstat.h", remove <sys/stat.h>.
82558
82559 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
82560
82561         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
82562         (ranged_convert): Don't save conversion in a temporary struct.
82563         This causes a warning with GCC 4.0.0, and anyway in the typical
82564         case it's not worth the extra 100 bytes or so of code.
82565         (ranged_convert, __mktime_internal): When calling a function via a
82566         pointer P, use P () rather than (*P) (), as we now assume C89 or
82567         better.
82568
82569 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
82570
82571         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
82572         "who -r" failed to give output.  Problem reported by Tim Waugh.
82573
82574         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
82575         (xcalloc): Use it to avoid needless tests.
82576         Problem reported by Jim Meyering.
82577
82578 2005-06-20  Derek Price  <derek@ximbiot.com>
82579
82580         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
82581         unnecessary for Autoconfs > 2.59c.
82582
82583 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82584
82585         * lib/argp.h (__option_is_short): Check upper limit of
82586         __key. Isprint() requires its argument to have the value
82587         of an unsigned char or EOF.
82588
82589 2005-06-16  Jim Meyering  <jim@meyering.net>
82590
82591         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
82592         when either N or S is zero.
82593
82594 2005-06-16  Derek Price  <derek@ximbiot.com>
82595
82596         * m4/bison.m4: Declare YACC & YFLAGS precious.
82597
82598 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
82599
82600         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
82601         multibyte string or pattern, fall back on unibyte matching.
82602         Problem reported by James Youngman.
82603
82604 2005-06-08  Bruno Haible  <bruno@clisp.org>
82605
82606         * modules/csharpcomp: New file.
82607         * MODULES.html.sh (C#): Add csharpcomp.
82608
82609 2005-06-08  Bruno Haible  <bruno@clisp.org>
82610
82611         * m4/csharpcomp.m4: New file, from GNU gettext.
82612
82613 2005-06-08  Bruno Haible  <bruno@clisp.org>
82614
82615         * lib/csharpcomp.h: New file, from GNU gettext.
82616         * lib/csharpcomp.c: New file, from GNU gettext.
82617         * lib/csharpcomp.sh.in: New file, from GNU gettext.
82618
82619 2005-06-08  Bruno Haible  <bruno@clisp.org>
82620
82621         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
82622         warning on mingw.
82623
82624 2005-06-07  Derek Price  <derek@ximbiot.com>
82625
82626         Sync from CVS.
82627         * lib/glob_.h: Indent nested #ifdef.
82628
82629 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82630
82631         Sync from coreutils.
82632         Use "file name" when talking about file names, instead of "filename"
82633         or "path", as per the GNU coding standards.
82634         * lib/mkdir-p.c: Renamed from makepath.c.
82635         (make_dir_parents): Renamed from make_path.  All callers changed.
82636         * lib/mkdir-p.h: Likewise.  All includers changed.
82637         * lib/filenamecat.c: Renamed from path-concat.c.
82638         (file_name_concat): Renamed from path_concat.  All callers changed.
82639         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
82640         * lib/filenamecat.h: Likewise.  All includers changed.
82641         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
82642         in comments or local variable names.
82643         * lib/basename.c: Likewise.
82644         * lib/canonicalize.c, canonicalize.h: Likewise.
82645         * lib/dirname.c, dirname.h: Likewise.
82646         * lib/euidaccess.c: Likewise.
82647         * lib/exclude.c: Likewise
82648         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
82649         * lib/fsusage.c, fsuage.h: Likewise.
82650         * lib/fts.c, fts_.h: Likewise.
82651         * lib/getcwd.c: Likewise.
82652         * lib/getloadavg.c: Likewise.
82653         * lib/mkstemp.c: Likewise.
82654         * lib/mountlist.c, mountlist.h: Likewise.
82655         * lib/openat.c, openat.h: Likewise.
82656         * lib/readlink-stub.c: Likewise.
82657         * lib/readutmp.c, readutmp.h: Likewise.
82658         * lib/rename.c: Likewise.
82659         * lib/rmdir.c: Likewise.
82660         * lib/same.c: Likewise.
82661         * lib/savedir.c: Likewise.
82662         * lib/stripslash.c: Likewise.
82663         * lib/tempname.c: Likewise.
82664         * lib/xreadlink.c: Likewise.
82665         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
82666         All uses changed.
82667         * lib/exclude.h: Likewise.
82668
82669         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
82670         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82671         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
82672         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82673         * lib/pathmax.h: Include <limits.h> unconditionally, since other
82674         files have been getting away with it for years (MORE/BSD 4.3
82675         is extinct now).
82676         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
82677         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
82678
82679         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
82680         Define to 256, not 255, as per modern POSIX.
82681
82682 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82683
82684         Sync from coreutils.
82685         Use "file name" when talking about file names, instead of "filename"
82686         or "path", as per the GNU coding standards.
82687         * MODULES.html.sh: mkdir-p renamed from makepath.
82688         filenamecat renamed from path-concat.
82689         * modules/filenamecat: Renamed from modules/path-concat.
82690         (Files): filenamecat.h and filenamecat.c renamed from
82691         path-concat.h and path-concat.c.
82692         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
82693         (Include): filenamecat.h, not path-concat.h.
82694         * modules/mkdir-p: Renamed from modules/makepath.
82695         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
82696         makepath.c.
82697         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
82698         (Include): mkdir-p.h, not makepath.h.
82699
82700 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
82701
82702         Sync from coreutils.
82703         * m4/mkdir-p.m4: Renamed from makepath.m4.
82704         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
82705         Rename files from makepath.c to mkdir-p.c, and from
82706         makepath.h to mkdir-p.h.
82707         * m4/filenamecat.m4: Renamed from path-concat.m4.
82708         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
82709         Rename files from path-concat.c to filenamecat.c,
82710         and from path-concat.h to filenamecat.h.
82711         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
82712         "file name" in local variables or comments.
82713         * m4/rename.m4: Likewise.
82714
82715 2005-06-01  Bruno Haible  <bruno@clisp.org>
82716
82717         * modules/csharpexec: New file.
82718         * MODULES.html.sh (C#): New section.
82719
82720 2005-06-01  Bruno Haible  <bruno@clisp.org>
82721
82722         * m4/csharp.m4: New file, from GNU gettext.
82723         * m4/csharpexec.m4: New file, from GNU gettext.
82724
82725 2005-06-01  Bruno Haible  <bruno@clisp.org>
82726
82727         * lib/csharpexec.h: New file, from GNU gettext.
82728         * lib/csharpexec.c: New file, from GNU gettext.
82729         * lib/csharpexec.sh.in: New file, from GNU gettext.
82730
82731 2005-05-31  Derek Price  <derek@ximbiot.com>
82732             Paul Eggert  <eggert@cs.ucla.edu>
82733
82734         Sync from cvs.
82735         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82736
82737 2005-05-31  Derek Price  <derek@ximbiot.com>
82738             Paul Eggert  <eggert@cs.ucla.edu>
82739
82740         Sync from cvs.
82741         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
82742
82743 2005-05-29  Derek Price  <derek@ximbiot.com>
82744
82745         * config/srclist.txt (glob_.h, glob.c): Add these files.
82746
82747 2005-05-29  Derek Price  <derek@ximbiot.com>
82748
82749         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
82750         * modules/glob: New file.
82751         * modules/getlogin_r: Add link to POSIX spec in description.
82752
82753 2005-05-29  Derek Price  <derek@ximbiot.com>
82754             Paul Eggert  <eggert@cs.ucla.edu>
82755
82756         * m4/glob.m4: New file.
82757
82758 2005-05-29  Derek Price  <derek@ximbiot.com>
82759             Paul Eggert  <eggert@cs.ucla.edu>
82760
82761         * lib/glob_.h, lib/glob.c: New files.
82762
82763 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82764
82765         * modules/fts (Files): Remove m4/inttypes-pri.m4.
82766         * modules/fts-lgpl (Depends-on): Remove gettext.
82767
82768 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82769
82770         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
82771         and don't require gt_INTTYPES_PRI.
82772
82773 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
82774
82775         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
82776
82777         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
82778         the configuration hassle isn't worth it.
82779         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
82780         (LONGEST_MODIFIER, PRIuMAX): Remove.
82781
82782 2005-05-27  Bruno Haible  <bruno@clisp.org>
82783
82784         * lib/getlogin_r.h: Remove second include of <stddef.h>.
82785
82786 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
82787
82788         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
82789         _POSIX_PTHREAD_SEMANTICS for Solaris.
82790
82791 2005-05-25  Derek Price  <derek@ximbiot.com>
82792
82793         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
82794
82795 2005-05-25  Derek Price  <derek@ximbiot.com>
82796             Paul Eggert  <eggert@cs.ucla.edu>
82797
82798         * modules/getlogin_r, m4/getlogin_r.m4: New files.
82799         * lib/getlogin_r.c, getlogin_r.h: New files.
82800
82801 2005-05-25  Bruno Haible  <bruno@clisp.org>
82802             Derek Price  <derek@ximbiot.com>
82803
82804         * lib/getlogin_r.h: Simplify API documentation.
82805
82806 2005-05-23  Derek Price  <derek@ximbiot.com>
82807
82808         * modules/minmax (Files): Add m4/minmax.m4.
82809         (configure.ac): Add gl_MINMAX.
82810
82811 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
82812
82813         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
82814         so that unistd-safer.h (GPL'ed code) need not be included.
82815
82816 2005-05-22  Bruno Haible  <bruno@clisp.org>
82817
82818         * m4/minmax.m4: New file.
82819         Based on a patch by Derek Price <derek@ximbiot.com>.
82820
82821 2005-05-22  Bruno Haible  <bruno@clisp.org>
82822
82823         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
82824         (INT64_MIN): Fix definition.
82825         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
82826
82827         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
82828         NEED_SIGNED_INT_TYPES.
82829
82830         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
82831         HAVE_SYSTEM_INTTYPES.
82832
82833 2005-05-22  Bruno Haible  <bruno@clisp.org>
82834
82835         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
82836         Also include <sys/param.h> if it defines MIN, MAX.
82837         Based on a patch by Derek Price <derek@ximbiot.com>.
82838
82839 2005-05-21  Jim Meyering  <jim@meyering.net>
82840
82841         * modules/fts (Files): Add m4/inttypes-pri.m4.
82842         (Depends-on): Add lstat and remove gettext.  Alphabetize.
82843
82844 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82845
82846         New fts module.
82847         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
82848         (setup_dir, free_dir): New functions.
82849         (enter_dir, leave_dir): Define trivial
82850         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
82851         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
82852         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
82853         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
82854         Move to fts-cycle.c.
82855         (fts_open): Use setup_dir.
82856         (fts_close): Use free_dir.
82857         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
82858         This adds a label and some gotos, but the alternatives were messier.
82859         Check for memory allocation failure when entering a dir.
82860         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
82861         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
82862         (FTS): New member fts_cycle, that is a union that contains the
82863         old active_dir_ht and cycle_state.  All uses changed to mention
82864         fts_cycle.ht and fts_cycle.state.
82865         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
82866         fts.c, with the following changes:
82867         (setup_dir, free_dir): New functions.
82868         (enter_dir): Now returns bool.  Return true if successful, false
82869         if memory exhausted.  All callers changed.
82870         Do not bother partly cleaning up on
82871         memory allocation failure; that is free_dir's job.
82872         However, free ad if hash_insert fails, to avoid memory leak.
82873         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
82874         fts->fts_options to see which union member to use.
82875
82876 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82877
82878         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
82879         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
82880
82881 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
82882
82883         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
82884
82885 2005-05-20  Jim Meyering  <jim@meyering.net>
82886
82887         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
82888         Now a macro, to pacify GCC.
82889
82890 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82891
82892         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
82893         of -1.
82894
82895 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
82896
82897         * lib/chown.c (rpl_chown): Return -1 on failure.
82898
82899 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82900
82901         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
82902         Don't check for stddef.h.
82903         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
82904         don't use its results.
82905         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
82906         since we include them unconditionally.  Don't require
82907         AM_STDBOOL_H, since stdbool is a prerequisite.
82908         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
82909         since we assume C89 or better.
82910         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
82911         as we don't use their results.
82912         Don't check for fchdir, memmove, memset, strrchr, as we use
82913         them unconditionally.
82914         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
82915         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
82916
82917 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
82918
82919         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
82920         Include <stddef.h> unconditionally, since we assume C89 now.
82921         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
82922         * lib/fts.c: Include fts_.h first, to check interface.
82923         Do not include intprops.h; no longer needed.
82924         Include cycle-check.h and hash.h, since fts_.h no longer does.
82925         Remove unnecessary casts of closedir to void.
82926         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
82927         decide whether to decrement nlinks.
82928         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
82929         (FTS): Use struct hash_table * instead of Hash_table, so that
82930         we no longer need to include hash.h here.
82931
82932 2005-05-18  Jim Meyering  <jim@meyering.net>
82933
82934         * modules/dirfd (License): Change to LGPL.  Most of the code
82935         is already in the public domain.
82936
82937 2005-05-18  Jim Meyering  <jim@meyering.net>
82938
82939         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
82940         Reported by Yoann Vandoorselaere.
82941
82942 2005-05-17  Jim Meyering  <jim@meyering.net>
82943
82944         * m4/fts.m4: New file, from coreutils.
82945
82946 2005-05-17  Jim Meyering  <jim@meyering.net>
82947
82948         * lib/fts.c, lib/fts_.h: New files, from coreutils.
82949
82950 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82951
82952         Sync from coreutils.
82953         * m4/unlinkdir.m4: New file.
82954
82955 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82956
82957         Sync from coreutils.
82958         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
82959         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
82960         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
82961         White space changes only.
82962         * lib/makepath.c (make_path): Port to hosts where leading "//" is
82963         special.
82964         * lib/yesno.c: Include getline.h, not ctype.h.
82965         (yesno): Don't remove leading white space; POSIX doesn't allow it.
82966         Use getline to remove arbitrary restriction on response length.
82967
82968 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82969
82970         * config/srclist-update: Spell out "Street" in FSF postal
82971         mail address; this is the style the FSF seems to prefer.
82972
82973         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
82974         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
82975         this updates FSF postal mail address.
82976
82977         Sync from coreutils.
82978         * modules/unlinkdir: New file.
82979         * modules/yesno (Depends-on): Add getline.
82980         * MODULES.html.sh (File system functions): Add unlinkdir.
82981
82982 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
82983
82984         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
82985         lib/strsep.h:
82986         Change the initial comment to refer to GPL, not LGPL.
82987         gnulib-tool will change it to LGPL as needed.
82988
82989         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
82990         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
82991         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
82992         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
82993         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
82994         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
82995         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
82996         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
82997         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
82998         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
82999         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
83000         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
83001         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
83002         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
83003         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
83004         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
83005         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
83006         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
83007         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
83008         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
83009         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
83010         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
83011         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
83012         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
83013         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
83014         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
83015         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
83016         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
83017         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
83018         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
83019         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
83020         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
83021         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
83022         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
83023         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
83024         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
83025         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
83026         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
83027         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
83028         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
83029         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
83030         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
83031         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
83032         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
83033         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
83034         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
83035         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
83036         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
83037         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
83038         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
83039         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83040         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
83041         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
83042         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
83043         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
83044         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
83045         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
83046         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
83047         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
83048         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
83049         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
83050         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
83051         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
83052         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
83053         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
83054         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
83055         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
83056         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
83057         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
83058         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
83059         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
83060         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
83061         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
83062         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
83063         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
83064         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
83065         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
83066         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
83067         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
83068         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
83069         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
83070         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
83071         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
83072         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
83073         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
83074         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
83075         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
83076         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
83077         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
83078         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
83079         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
83080         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
83081         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
83082         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
83083         lib/yesno.c, lib/yesno.h:
83084         Update FSF postal mail address.
83085
83086 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83087
83088         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
83089         tests/test-memmem.c, tests/test-stpncpy.c:
83090         Update FSF postal mail address.
83091
83092 2005-05-13  Bruno Haible  <bruno@clisp.org>
83093
83094         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
83095         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
83096         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
83097         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
83098         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
83099         Add support for 64-bit integers in the MSVC compiler.
83100
83101 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83102
83103         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
83104
83105 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
83106
83107         * gnulib-tool (func_import): Sort and uniquify recommended includes.
83108
83109 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83110
83111         * doc/getdate.texi (General date syntax): Don't say that date
83112         date --iso-8601=ns generates acceptable dates; it doesn't yet.
83113         Problem reported by Nic Ferrier.
83114
83115 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83116
83117         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
83118         specified in ai_socktype. Fix invalid ai_protocol
83119         check. ai_protocol is usually set to 0 or depending on
83120         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
83121         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
83122         ai_socktype / ai_protocol in the returned addrinfo structure.
83123
83124 2005-05-10  Simon Josefsson  <jas@extundo.com>
83125
83126         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
83127         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83128
83129 2005-05-10  Karl Berry  <karl@gnu.org>
83130
83131         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
83132         (from http://www.gnu.org/licenses).
83133         * doc/COPYING.LIB: also rename to COPYING.LESSER.
83134         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
83135         fdl.texi suffices.
83136
83137 2005-05-10  Karl Berry  <karl@gnu.org>
83138
83139         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
83140         (COPYING.DOC): remove.
83141
83142         * config/srclist-update: new FSF address.
83143
83144 2005-05-10  Derek Price  <derek@ximbiot.com>
83145
83146         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
83147         possible.
83148
83149 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83150             Bruno Haible  <bruno@clisp.org>
83151
83152         * modules/inet_ntop: New file.
83153         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83154         inet_ntop.
83155
83156 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83157             Bruno Haible  <bruno@clisp.org>
83158
83159         * m4/inet_ntop.m4: New file.
83160
83161 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83162             Bruno Haible  <bruno@clisp.org>
83163
83164         * lib/inet_ntop.h: New file.
83165         * lib/inet_ntop.c: New file, from glibc with modifications.
83166
83167 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
83168
83169         * modules/time_r (License): Change to LGPL.
83170         * modules/extensions (License): Change to LGPL.  Actually,
83171         the license is more permissive than that, but currently gnulib-tool
83172         doesn't know how to handle more-permissive licenses.
83173
83174         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
83175         Problem reported by Dave Love.
83176
83177 2005-05-08  Jim Meyering  <jim@meyering.net>
83178
83179         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
83180         blank.
83181
83182 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83183
83184         * modules/argmatch (Depends-on): Add stdbool.
83185         * modules/backupfile (Depends-on): Likewise.
83186         * modules/chdir-long (Depends-on): Likewise.
83187         * modules/closeout (Depends-on): Likewise.
83188         * modules/cycle-check (Depends-on): Likewise.
83189         * modules/dirname (Depends-on): Likewise.
83190         * modules/fnmatch (Depends-on): Likewise.
83191         * modules/fsusage (Depends-on): Likewise.
83192         * modules/fwriteerror (Depends-on): Likewise.
83193         * modules/getcwd (Depends-on): Likewise.
83194         * modules/getloadavg (Depends-on): Likewise.
83195         * modules/hard-locale (Depends-on): Likewise.
83196         * modules/makepath (Depends-on): Likewise.
83197         * modules/mountlist (Depends-on): Likewise.
83198         * modules/nanosleep (Depends-on): Likewise.
83199         * modules/posixtm (Depends-on): Likewise.
83200         * modules/quotearg (Depends-on): Likewise.
83201         * modules/readtokens (Depends-on): Likewise.
83202         * modules/readtokens0 (Depends-on): Likewise.
83203         * modules/readutmp (Depends-on): Likewise.
83204         * modules/save-cwd (Depends-on): Likewise.
83205         * modules/strftime (Depends-on): Likewise.
83206         * modules/userspec (Depends-on): Likewise.
83207         * modules/utimecmp (Depends-on): Likewise.
83208         * modules/xgetcwd (Depends-on): Likewise.
83209         * modules/xnanosleep (Depends-on): Likewise.
83210         * modules/xstrtod (Depends-on): Likewise.
83211         * modules/yesno (Depends-on): Likewise.
83212
83213 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
83214
83215         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
83216         needless checks.
83217
83218 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83219
83220         Merge from coreutils.  Among other things,
83221         add bulletproofing for cases where stdin, stdout, or stderr are closed.
83222         * lib/fd-safer.c: New file.
83223         * lib/fcntl-safer.h, open-safer.c: Remove.
83224         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
83225         * lib/dup-safer.c: Include unistd-safer.h first.
83226         Don't include errno.h.
83227         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
83228         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
83229         * lib/file-type.c: Rely on file-type.h change.
83230         * lib/getloadavg.c: Include unistd-safer.h.
83231         (getloadavg): Use safer open.
83232         * lib/getusershell.c: Include "stdio-safer.h".
83233         (getusershell): Use safer fopen.
83234         * lib/long-options.c (long_options): Use NULL rather than 0.
83235         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
83236         'free'.
83237         * lib/modechange.c: Likewise.
83238         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
83239         (MODE_DONE): New constant.
83240         (struct mode_change): Remove 'next' member.
83241         (make_node_op_equals): New function; like the old one of the
83242         same name, except it allocates an array.
83243         (mode_compile, mode_create_from_ref): Use it.
83244         (mode_compile): Allocate result as an array, not a linked list.
83245         Parse octal string ourself, so that we catch mistakes like "+0".
83246         (mode_adjust): Arg is an array, not a linked list.
83247         * lib/modechange.c: Include stat-macros.h, xalloc.h.
83248         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
83249         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
83250         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
83251         Remove.  This is now stat-macros.h's job.
83252         (talloc): Remove.  All callers replaced by xalloc, so that
83253         our invokers don't have to worry about reporting memory failures.
83254         (make_node_op_equals): Remove.
83255         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83256         New constants.
83257         (struct mode_change): Moved here from modechange.h.
83258         (mode_append_entry): Remove.
83259         (mode_compile): Remove MASKED_OPS arg, since it encouraged
83260         apps to have incorrect behavior.  Use simpler algorithm for head
83261         and tail.  Don't futz with umask; that's now the job of mode_adjust.
83262         Detect more invalid usages rather than having somewhat-random behavior.
83263         Don't insert an "a=" action, as that leads to incorrect behavior.
83264         (mode_compile, mode_create_from_ref): Return NULL on error instead
83265         of an enum, since now there's only one way to have an error.  All
83266         callers changed.
83267         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
83268         at the correct time.  Simplify calculation of "+u" and its ilk.
83269         Don't mishandle "+X".
83270         (mode_free): Remove "register" and localize decls.
83271         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
83272         (struct mode_change): Move to modechange.c; callers don't
83273         need to see this stuff.
83274         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
83275         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
83276         (mode_change, mode_adjust): Reflect the new signatures noted above.
83277         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
83278         that might redefine system include files.
83279         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
83280         (my_usleep): Use NULL rather than (void *) 0.
83281         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
83282         Use siginterrupt to specify that system calls should be interrupted.
83283         (rpl_nanosleep): Move initialization of suspended closer to call of
83284         my_usleep.
83285         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
83286         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
83287         (desirable_utmp_entry): New function.
83288         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
83289         using x2nrealloc, to simplify logic.
83290         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
83291         size calculation.  Do not assume utmp file is a regular file.
83292         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
83293         (READ_UTMP_CHECK_PIDS): New constant.
83294         * lib/save-cwd.c: Include unistd-safer.h.
83295         (save_cwd): Use fd_safer.
83296         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
83297         [!_LIBC] Include "stat-macros.h" instead.
83298         * lib/unistd-safer.h (fd_safer): New decl.
83299
83300 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83301
83302         * modules/getloadavg (Depends-on): Add unistd-safer.
83303         * modules/getusershell (Depends-on): Add stdio-safer.
83304         * modules/lstat (Depends-on): Remove xalloc.
83305         * modules/mkstemp (Depends-on): Add stat-macros.
83306         * modules/modechange (Depends-on): Remove xstrtol.
83307         Add stat-macros, xalloc.
83308         * modules/save-cwd (Depends-on): Add unistd-safer.
83309         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
83310         * modules/unistd-safer (Files): Add lib/fd-safer.c
83311         (Makefile.am): Remove lib_SOURCES.
83312
83313         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
83314         Remove fcntl-safer; unistd-safer supersedes it.
83315
83316 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83317
83318         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
83319         AC_HEADER_STAT.
83320         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
83321         (gl_PREREQ_CHOWN): Remove.
83322         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
83323         it.  Don't require AC_HEADER_STAT.
83324         (gl_PREREQ_LSTAT): Remove.
83325         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
83326         Don't require AC_HEADER_STAT.
83327         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
83328         (gl_PREREQ_RMDIR): Remove.
83329         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
83330         mention stat-macros.h or AC_HEADER_STAT, since we'll make
83331         the stat-macros module a prerequisite.
83332         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
83333         * m4/filemode.m4 (gl_FILEMODE): Likewise.
83334         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
83335         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
83336         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
83337         variable names.
83338         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
83339         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
83340         variable prefixes.
83341         * m4/fcntl-safer.m4: Remove.
83342         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
83343         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
83344         Invoke gl_PREREQ_FD_SAFER.
83345         (gl_PREREQ_FD_SAFER): New macro.
83346         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
83347         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
83348         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
83349         Remove duplicate call to AC_LIBOBJ(readutmp).
83350         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
83351
83352         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
83353         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
83354
83355 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
83356
83357         * MODULES.html.sh (Misc): Add byteswap.
83358
83359 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83360
83361         * modules/getcwd (Depends-on): Add extensions.
83362         * modules/openat (Depends-on): Likewise.
83363
83364 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83365
83366         * modules/byteswap: New file.
83367
83368 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83369
83370         * m4/byteswap.m4: New file.
83371
83372 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
83373
83374         * lib/byteswap_.h: New file.
83375
83376 2005-04-25  Karl Berry  <karl@gnu.org>
83377
83378         * m4/gettext.m4: Update from GNU gettext 0.14.4.
83379
83380 2005-04-25  Albert Chin  <china@thewrittenword.com>
83381
83382         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
83383         Toolkit C bug.
83384
83385 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
83386
83387         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
83388         (func_ln_if_changed): Remove forcibly for no error message
83389         in case file does not exist.
83390
83391 2005-04-19  Simon Josefsson  <jas@extundo.com>
83392
83393         * gnulib-tool (Options): Make --symlink mean --symbolic.
83394
83395 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
83396
83397         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
83398
83399 2005-04-16  Simon Josefsson  <jas@extundo.com>
83400
83401         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
83402
83403 2005-04-15  Simon Josefsson  <jas@extundo.com>
83404
83405         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
83406
83407 2005-04-15  Simon Josefsson  <jas@extundo.com>
83408
83409         * gnulib-tool: Rename --symlink to --symbolic.
83410
83411 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
83412
83413         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
83414         symbolic links to files instead of copying/moving.  Add --aux-dir,
83415         specifying directory relative --dir where auxiliary build tools
83416         are placed.
83417
83418 2005-04-14  Bruno Haible  <bruno@clisp.org>
83419
83420         * modules/allocsa (License): Change to LGPL.
83421         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
83422
83423 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
83424
83425         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
83426         that "UTC +1 second" continues to work.  Problem reported
83427         by Dmitry V. Levin.
83428         (relunit_snumber): New rule.
83429         (relunit): Use it.
83430
83431 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
83432
83433         * lib/getdate.y (universal_time_zone_table): New constant.
83434         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
83435         universal_time_zone_table.
83436         (lookup_zone): Prefer universal_time_zone_table to
83437         local_time_zone_table, so that "GMT" time stamps are allowed in
83438         London during the summer.  Problem reported by Ian Abbott.
83439
83440 2005-04-12  Jim Meyering  <jim@meyering.net>
83441
83442         * lib/human.c (humblock): Set *options even when returning due to
83443         xstrtoumax conversion failure.  Thanks to a used-uninitialized
83444         warning from gcc-4.
83445
83446 2005-04-09  Jim Meyering  <jim@meyering.net>
83447
83448         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
83449         -Wuninitialized: initialize tm0.tm_year.
83450
83451 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
83452
83453         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
83454         count, since there's no maximum.  All uses changed.
83455         Add member dsts_seen.
83456         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
83457         not being INT_MAX.
83458         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
83459         Use pc_rels_seen to decide whther a date is absolute.
83460
83461         * lib/getdate.y (number): Don't overwrite year.
83462         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
83463         check.
83464
83465 2005-04-02  Simon Josefsson  <jas@extundo.com>
83466
83467         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
83468         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
83469
83470 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
83471
83472         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
83473         where no absolute path name can be longer than PATH_MAX.
83474
83475 2005-03-27  Jim Meyering  <jim@meyering.net>
83476
83477         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
83478
83479 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
83480
83481         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
83482         "one's complement" -> "ones' complement" in comment, as per Knuth.
83483         "value of type" -> "type or expression" in comment.
83484         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
83485
83486 2005-03-26  Jim Meyering  <jim@meyering.net>
83487
83488         Comment nits.
83489         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
83490         Correct typos: s/or/of/.
83491
83492 2005-03-26  Jim Meyering  <jim@meyering.net>
83493
83494         * modules/check-include-files: Move to ../ and rename to...
83495         * check-module: ...this.
83496
83497 2005-03-25  Jim Meyering  <jim@meyering.net>
83498
83499         * modules/xvasprintf (Files): Add xalloc.h.
83500
83501 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
83502
83503         * modules/gettext (Files): config/config.rpath ->
83504         build-aux/config.rpath
83505         * modules/iconv (Files): Likewise.
83506         Problem reported by Oskar Liljeblad.
83507
83508 2005-03-23  Jim Meyering  <jim@meyering.net>
83509
83510         * modules/check-include-files: New script to check for
83511         missing dependencies, multiple includes, etc.
83512
83513         * modules/c-strtold (Depends-on): Add xalloc.
83514         * modules/c-strtod (Depends-on): Add xalloc.
83515         * modules/hash (Depends-on): Add xalloc.
83516         (Files): Remove lib/xalloc.h.
83517
83518         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
83519         * modules/userspec (Files): Add lib/inttostr.h.
83520
83521 2005-03-23  Jim Meyering  <jim@meyering.net>
83522
83523         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
83524
83525 2005-03-22  Jim Meyering  <jim@meyering.net>
83526
83527         * modules/stat-macros: New module.
83528         * modules/canonicalize, modules/euidaccess, modules/file-type,
83529         * modules/filemode, modules/lchown, modules/makepath,
83530         * modules/rmdir, modules/stat: Depend on new stat-macros module
83531         rather than listing lib/stat-macros.h manually.
83532         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
83533
83534 2005-03-22  Jim Meyering  <jim@meyering.net>
83535
83536         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
83537
83538 2005-03-22  Bruno Haible  <bruno@clisp.org>
83539
83540         * config/srclist.txt: Replace target directory 'config' with
83541         'build-aux'.
83542         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
83543         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
83544         ../build-aux/.
83545
83546 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
83547
83548         * modules/chdir-long (Depends-on): Add mempcpy.
83549
83550         * modules/acl, modules/backupfile, modules/c-strtod,
83551         modules/c-strtold, modules/canon-host, modules/canonicalize,
83552         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
83553         modules/exclude, modules/exitfail, modules/file-type,
83554         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
83555         modules/getdate, modules/getline, modules/getpagesize,
83556         modules/getpass, modules/getugroups, modules/group-member,
83557         modules/hard-locale, modules/hash, modules/human, modules/idcache,
83558         modules/inttostr, modules/long-options, modules/makepath,
83559         modules/md5, modules/memcasecmp, modules/memcoll,
83560         modules/modechange, modules/mountlist, modules/path-concat,
83561         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
83562         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
83563         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
83564         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
83565         modules/strftime, modules/strndup, modules/strverscmp,
83566         modules/timespec, modules/unlocked-io, modules/userspec,
83567         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
83568         modules/yesno:
83569         Remove lib_SOURCES line from Makefile.am section, as this is now
83570         done automatically by the corresponding Autoconf macro.
83571
83572 2005-03-21  Jim Meyering  <jim@meyering.net>
83573
83574         Changes imported from coreutils.
83575
83576         * lib/cycle-check.c: Don't include xalloc.h.
83577
83578         * lib/path-concat.c: Don't include assert.h.
83579         (path_concat): Remove assertion that would have triggered
83580         for ABASE starting with more than one slash.
83581         Reported by Andreas Schwab.
83582
83583         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
83584         properly when ABASE is an absolute file name.
83585         Correct the description of this function.
83586         Include <assert.h>.
83587         Add an assertion and a test driver.
83588         This fixes a bug introduced on 2004-07-02.
83589         Andreas Schwab reported the resulting failure of cp --parents:
83590         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
83591
83592 2005-03-21  Jim Meyering  <jim@meyering.net>
83593
83594         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
83595         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
83596
83597 2005-03-21  Jim Meyering  <jim@meyering.net>
83598         and  Paul Eggert  <eggert@cs.ucla.edu>
83599
83600         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
83601         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
83602         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
83603         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
83604         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
83605         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
83606         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
83607         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
83608         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
83609         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
83610         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
83611         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
83612         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
83613         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
83614         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
83615         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
83616         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
83617         for these modules.
83618
83619 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
83620
83621         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
83622         (which shouldn't happen), generate nothing instead of returning 0
83623         immediately, so that nstrftime (NULL, ...) doesn't return 0.
83624
83625 2005-03-16  Bruno Haible  <bruno@clisp.org>
83626
83627         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
83628         HAVE_LONGLONG_64BIT.
83629
83630 2005-03-16  Bruno Haible  <bruno@clisp.org>
83631
83632         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
83633         HAVE_LONGLONG_64BIT.
83634
83635 2005-03-16  Bruno Haible  <bruno@clisp.org>
83636
83637         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
83638         HAVE_LONGLONG_64BIT.
83639
83640 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83641
83642         * lib/strftime.c (my_strftime): Prepend space to format so that we can
83643         reliably distinguish strftime failure from empty output on POSIX
83644         hosts.
83645
83646 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
83647
83648         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
83649         (iconv_string): Don't guess a size-zero buffer, as that might cause
83650         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
83651         result would be 'too large', where 'too large' is (heuristically)
83652         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
83653         overflow concerns.  This will prevent some unwanted malloc failures
83654         when the inputs are very large.
83655
83656 2005-03-15  Karl Berry  <karl@gnu.org>
83657
83658         * config/srclist.txt (config.rpath): from gettext.
83659         * config/config.rpath: update.
83660
83661 2005-03-15  Bruno Haible  <bruno@clisp.org>
83662
83663         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
83664         to 'negate'.
83665
83666         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
83667         variable.
83668
83669         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
83670         results.
83671
83672 2005-03-14  Simon Josefsson  <jas@extundo.com>
83673
83674         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
83675         <fx@gnu.org>.
83676
83677 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
83678
83679         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
83680         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
83681         intprops.h.
83682         * lib/strtol.c: Likewise.
83683
83684 2005-03-14  Jim Meyering  <jim@meyering.net>
83685
83686         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
83687         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
83688         to be nonzero so that we (and caller) can detect the difference
83689         between a valid zero-length expansion and an error return, even
83690         when the underlying strftime fails before writing anything into
83691         that location.
83692
83693 2005-03-14  Bruno Haible  <bruno@clisp.org>
83694
83695         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
83696         Update from GNU gettext 0.14.3.
83697
83698 2005-03-10  Jim Meyering  <jim@meyering.net>
83699
83700         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
83701
83702 2005-03-10  Jim Meyering  <jim@meyering.net>
83703
83704         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
83705         so that this module works on systems without fchdir.
83706
83707 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
83708
83709         Factor int-properties macros into a single file, except for
83710         glibc-related files.
83711         * lib/intprops.h: New file.
83712         * lib/getloadavg.c: Include it instead of limits.h.
83713         (INT_STRLEN_BOUND): Remove.
83714         * lib/human.c: Include intprops.h.
83715         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
83716         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
83717         302/1000.
83718         * lib/inttostr.h: Include intprops.h instead of limits.h.
83719         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
83720         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
83721         for consistency with intprops.h.
83722         (time_t_is_integer, twos_complement_arithmetic): Use them.
83723         * lib/sig2str.h: Include <signal.h>, intprops.h.
83724         (INT_STRLEN_BOUND): Remove.
83725         * lib/strftime.c (TYPE_SIGNED): Remove.
83726         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
83727         * lib/strtol.c: Adjust comments to match intprops.h.
83728         * lib/userspec.c: Include intprops.h.
83729         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
83730         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
83731         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
83732         instead of rolling our own expressions.
83733         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
83734
83735         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
83736         instead of int.
83737         (my_strftime): Do not mishandle years close to INT_MAX, by doing
83738         the right thing even if adding 1900 would overflow.  Similarly
83739         for tm_mon + 1 and tm_yday + 1.
83740         Make %Y always equivalent to %C%y, and similarly for %G and %g.
83741         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
83742         (DO_SIGNED_NUMBER): New macro.
83743         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
83744
83745 2005-03-07  Bruno Haible  <bruno@clisp.org>
83746
83747         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
83748
83749 2005-03-07  Bruno Haible  <bruno@clisp.org>
83750
83751         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
83752
83753 2005-03-04  Derek R. Price  <derek@ximbiot.com>
83754
83755         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
83756         (func_import): Only replace files via --import when they have actually
83757         changed.
83758
83759 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83760
83761         * m4/mmap-anon.m4: New file.
83762         * m4/pagealign_alloc.m4: New file.
83763
83764 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83765             Bruno Haible  <bruno@clisp.org>
83766
83767         * modules/pagealign_alloc: New file.
83768         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
83769
83770 2005-03-03  Derek R. Price  <derek@ximbiot.com>
83771             Bruno Haible  <bruno@clisp.org>
83772
83773         * lib/pagealign_alloc.h: New file.
83774         * lib/pagealign_alloc.c: New file.
83775
83776 2005-03-03  Bruno Haible  <bruno@clisp.org>
83777
83778         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
83779         Use an all-permissive copyright notice, recommended by RMS.
83780
83781 2005-03-02  Bruno Haible  <bruno@clisp.org>
83782
83783         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
83784         of AIX, the replacement has to be done only after <string.h> is
83785         included, therefore not in config.h. stpncpy.h does the replacement,
83786         and stpncpy.c uses it.
83787
83788 2005-03-02  Bruno Haible  <bruno@clisp.org>
83789
83790         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
83791         stpncpy.c uses it.
83792
83793 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83794
83795         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
83796         The workaround isn't strictly needed for POSIX conformance, and
83797         it's too much of a pain to configure and maintain.  We'll ask
83798         people to fix their kernels instead.
83799         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
83800         (NANOSLEEP_BUG_WORKAROUND): Remove.
83801         (xnanosleep): Remove the workaround.
83802
83803 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83804
83805         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
83806         Reported by Derek Price.
83807         (Include): Add "timespec.h".
83808
83809         * modules/xnanosleep (Depends-on): Remove gethrxtime.
83810
83811 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
83812
83813         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
83814         to detect nanosleep bug.
83815
83816 2005-03-01  Bruno Haible  <bruno@clisp.org>
83817
83818         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
83819
83820 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
83821
83822         * modules/gethrxtime: New file.
83823         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
83824         (Depends-on): Add gethrxtime.
83825         (configure.ac): Add gl_XNANOSLEEP.
83826         (Makefile.am): Remove lib_SOURCES line.
83827
83828 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83829
83830         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
83831         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
83832
83833 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
83834
83835         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
83836         * lib/timespec.h (gettime): Return void, since it always
83837         succeeds now.  All uses changed.
83838         * lib/gettime.c (gettime): Likewise.
83839         [HAVE_NANOTIME]: Prefer nanotime.
83840         Assume gettimeofday succeeds, as POSIX requires.
83841         Assime time () succeeds, since other code already does.
83842         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
83843         (timespec_subtract): Remove.
83844         (NANOSLEEP_BUG_WORKAROUND): New constant.
83845         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
83846         things considerably.  Use it only on GNU/Linux hosts, since the
83847         workaround shouldn't be needed elsewhere.
83848
83849 2005-02-24  Bruno Haible  <bruno@clisp.org>
83850
83851         * modules/gettext (Files): Add m4/glibc2.m4.
83852
83853 2005-02-24  Bruno Haible  <bruno@clisp.org>
83854
83855         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
83856         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
83857         * m4/progtest.m4:
83858         Update from GNU gettext 0.14.2.
83859         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
83860
83861 2005-02-24  Bruno Haible  <bruno@clisp.org>
83862
83863         * lib/localcharset.c: Update from GNU gettext 0.14.2.
83864         * lib/config.charset: Update from GNU gettext 0.14.2.
83865
83866 2005-02-24  Bruno Haible  <bruno@clisp.org>
83867
83868         * lib/gettext.h: Update from GNU gettext 0.14.2.
83869
83870 2005-02-23  Simon Josefsson  <jas@extundo.com>
83871
83872         * m4/iconvme.m4: New file.
83873
83874 2005-02-23  Jim Meyering  <jim@meyering.net>
83875
83876         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
83877         change.
83878         Thanks to Bruno Haible for catching it.
83879
83880 2005-02-22  Simon Josefsson  <jas@extundo.com>
83881
83882         * modules/iconvme: New file.
83883
83884         * MODULES.html.sh: Add iconvme.
83885
83886 2005-02-22  Simon Josefsson  <jas@extundo.com>
83887
83888         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
83889
83890 2005-02-22  Simon Josefsson  <jas@extundo.com>
83891
83892         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
83893
83894 2005-02-22  Jim Meyering  <jim@meyering.net>
83895
83896         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
83897         s/ifndef/ifdef/.
83898
83899 2005-02-20  Neil Conway  <neilc@samurai.com>
83900
83901         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
83902         returned by OSX/Darwin if the specified buffer is not large
83903         enough for the hostname.
83904
83905 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83906
83907         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
83908         pass it to _help, otherwise the latter coredumps trying to
83909         dereference state.root_argp.
83910
83911 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83912
83913         * modules/chdir-long (Depends-on): Add memrchr.
83914         * modules/memrchr (Files): Add lib/memrchr.h.
83915         (Include): "memrchr.h".
83916
83917 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83918
83919         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
83920
83921 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
83922
83923         * lib/memrchr.h: New file.
83924         * lib/chdir-long.c: Include it.
83925         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
83926         Don't bother including stddef.h.
83927
83928 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
83929
83930         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
83931         inclusion.
83932         Include <sys/types.h>, for dev_t.
83933         (ME_DUMMY, ME_REMOTE): Move from here....
83934         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
83935         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
83936         Dmitry V. Levin.
83937         Include mountlist.h first, to test the interface.
83938
83939 2005-01-29  Bruno Haible  <bruno@clisp.org>
83940
83941         * lib/progname.c (program_name): Initialize.
83942         Needed when linking statically on MacOS X.
83943
83944 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83945
83946         Sync from coreutils.
83947         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
83948         (Depends-on): Add c-strtod.
83949         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
83950
83951 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
83952
83953         Sync from coreutils.
83954         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
83955
83956         Remove files that are specific to coreutils.
83957         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
83958
83959 2005-01-28  Bruno Haible  <bruno@clisp.org>
83960
83961         * modules/javacomp: New file.
83962         * MODULES.html.sh (Java): Add javacomp.
83963
83964 2005-01-28  Bruno Haible  <bruno@clisp.org>
83965
83966         * m4/javacomp.m4: New file, from GNU gettext.
83967
83968 2005-01-28  Bruno Haible  <bruno@clisp.org>
83969
83970         * lib/javacomp.sh.in: New file, from GNU gettext.
83971         * lib/javacomp.h: New file, from GNU gettext.
83972         * lib/javacomp.c: New file, from GNU gettext.
83973
83974 2005-01-26  Simon Josefsson  <jas@extundo.com>
83975
83976         * lib/gai_strerror.c: Use GPL in header.
83977
83978 2005-01-26  Bruno Haible  <bruno@clisp.org>
83979
83980         * modules/javaexec: New file.
83981         * MODULES.html.sh (Java): Add javaexec.
83982
83983 2005-01-26  Bruno Haible  <bruno@clisp.org>
83984
83985         * m4/javaexec.m4: New file, from GNU gettext.
83986
83987 2005-01-26  Bruno Haible  <bruno@clisp.org>
83988
83989         * lib/javaexec.sh.in: New file, from GNU gettext.
83990         * lib/javaexec.h: New file, from GNU gettext.
83991         * lib/javaexec.c: New file, from GNU gettext.
83992
83993 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83994
83995         * modules/lchown (Depends-on): Remove lchown.h
83996
83997 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83998
83999         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
84000         must be defined if the header file was not found, in order
84001         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
84002
84003 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84004
84005         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
84006         initializers for struct pentry_state.
84007         (__argp_error): Check return value of __asprintf
84008         (__argp_failure): Translate error message
84009
84010         * lib/argp-parse.c: Removed braces around the expansion of N_()
84011
84012 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
84013
84014         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
84015         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
84016         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
84017         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
84018         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
84019         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
84020         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
84021         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
84022         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
84023         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
84024         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
84025         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
84026         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
84027         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
84028         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
84029         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
84030         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
84031         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
84032         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
84033         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
84034         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
84035         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
84036         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
84037         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
84038         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
84039         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
84040         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
84041         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
84042         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
84043         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
84044         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
84045         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
84046         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
84047         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
84048         xstrtol.m4, xstrtoumax.m4, yesno.m4:
84049         Use an all-permissive copyright notice, recommended by RMS.
84050
84051 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
84052
84053         * modules/chdir-long (Depends-on): Remove mempcpy.
84054
84055 2005-01-21  Jim Meyering  <jim@meyering.net>
84056
84057         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
84058         same value as for Solaris 9.
84059
84060         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
84061         component length.  This included changing the parameter to be
84062         of type `char *' rather than `char const *'.
84063         * lib/chdir-long.h (chdir_long): Update prototype.
84064
84065         * lib/openat.c (fdopendir, fstatat): New functions.
84066         * lib/openat.h: Include headers required for use of DIR and struct
84067         stat.
84068         [AT_SYMLINK_NOFOLLOW]: Define.
84069         (fdopendir, fstatat): Add prototypes.
84070
84071 2005-01-21  Bruno Haible  <bruno@clisp.org>
84072
84073         * modules/classpath: New file.
84074         * MODULES.html.sh (Java): Add classpath.
84075
84076 2005-01-21  Bruno Haible  <bruno@clisp.org>
84077
84078         * lib/classpath.h: New file, from GNU gettext.
84079         * lib/classpath.c: New file, from GNU gettext.
84080
84081 2005-01-20  Simon Josefsson  <jas@extundo.com>
84082
84083         * modules/version-etc-fsf: New file.
84084
84085 2005-01-20  Simon Josefsson  <jas@extundo.com>
84086
84087         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
84088         * lib/version-etc.c: Remove version_etc_copyright.
84089         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
84090         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
84091
84092 2005-01-20  Simon Josefsson  <jas@extundo.com>
84093
84094         * lib/base64.h (isbase64): Add.
84095
84096         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
84097         using a unsigned prototype, don't inline.
84098         (base64_decode): Use it.
84099
84100 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84101
84102         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
84103         it.
84104
84105 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84106
84107         * lib/save-cwd.c (save_cwd): Remove code to support the case
84108         where fchdir is missing or flaky.
84109
84110 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84111
84112         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
84113
84114 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
84115
84116         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
84117         AC_LIBSOURCES now does this.
84118         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
84119         with new ullong_max module.
84120
84121 2005-01-19  Bruno Haible  <bruno@clisp.org>
84122
84123         * modules/sh-quote: New file.
84124         * MODULES.html.sh (Executing programs): Add sh-quote.
84125
84126 2005-01-19  Bruno Haible  <bruno@clisp.org>
84127
84128         * lib/sh-quote.h: New file, from GNU gettext.
84129         * lib/sh-quote.c: New file, from GNU gettext.
84130
84131 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84132
84133         Merge from coreutils.
84134         * m4/ullong_max.m4: New file.
84135         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
84136         (gl_MACROS): Assume localeconv exists.
84137
84138 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84139
84140         Merge changes from coreutils, as described below in several
84141         changelogs dated today.
84142
84143         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
84144         (O_DIRECTORY): Remove; not needed here, since "." must be
84145         a directory.  All uses removed.
84146         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
84147         universal on Suns, and we also need to test for IRIX.
84148         Revamp code to use 'if' rather than '#if'.
84149         Avoid unnecessary comparison of cwd->desc to 0.
84150
84151         * lib/utimens.c (futimens): Robustify the previous patch, by checking
84152         for known valid error numbers rather than observed invalid ones.
84153
84154 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84155
84156         * modules/ullong_max: New file.
84157
84158         * modules/chdir-long, modules/openat: New files.
84159         * modules/save-cwd (Depends-on): Depend on chdir-long.
84160         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
84161
84162 2005-01-18  Jim Meyering  <jim@meyering.net>
84163
84164         Merge from coreutils.
84165         * m4/chdir-long.m4, m4/openat.m4: New files.
84166         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
84167         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
84168         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
84169         is sane and DOES follow symlinks.  Besides, testing 20 different
84170         systems found no broken chown implementations.
84171         Prompted by a change in rsync's copy of this macro.
84172         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
84173
84174         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
84175
84176         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
84177         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
84178         NULL-means-set-to-current-time semantics.
84179         Remove temporary file immediately, rather than waiting
84180         for configure's at-exit trap code to do it.
84181
84182 2005-01-18  Jim Meyering  <jim@meyering.net>
84183
84184         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84185
84186         * lib/utimens.c (futimens): Account for the fact that futimes
84187         can also fail with errno == ENOSYS or errno == ENOENT.
84188         Patch from Dmitry V. Levin.
84189
84190         Change the name of the robust chdir function from chdir to chdir_long.
84191         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
84192         (restore_cwd): Use chdir_long, not chdir.
84193         * lib/chdir-long.c: Renamed from chdir.c.
84194         * lib/chdir-long.h: Renamed from chdir.h.
84195         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
84196         Hurd.
84197
84198 2005-01-18  Bruno Haible  <bruno@clisp.org>
84199
84200         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
84201         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
84202         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
84203         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
84204         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
84205         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
84206         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
84207         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
84208         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
84209         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
84210         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
84211         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
84212         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
84213         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
84214         Use an all-permissive copyright notice, recommended by RMS.
84215
84216 2005-01-18  Bob Proulx  <bob@proulx.com>
84217
84218         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
84219         simplify offsetof() macro construct to avoid compile failure with
84220         native HP-UX 11.0 ANSI C compiler.
84221
84222 2005-01-17  Bruno Haible  <bruno@clisp.org>
84223
84224         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
84225         redundant because stpncpy.m4 takes care of it.
84226
84227 2005-01-17  Bruno Haible  <bruno@clisp.org>
84228
84229         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
84230
84231 2005-01-17  Bruno Haible  <bruno@clisp.org>
84232
84233         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
84234         used.
84235
84236 2005-01-17  Bruno Haible  <bruno@clisp.org>
84237
84238         * lib/fwriteerror.h (fwriteerror): Change specification to include
84239         fclose.
84240         * lib/fwriteerror.c: Include <stdbool.h>.
84241         (fwriteerror): At the end, close the file stream. Record whether
84242         stdout was already closed.
84243
84244 2005-01-17  Bruno Haible  <bruno@clisp.org>
84245
84246         * lib/execute.c (environ): Declare if needed.
84247         * lib/pipe.c (environ): Likewise.
84248         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
84249
84250 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84251
84252         * modules/argp: Depend on vsnprintf
84253
84254 2005-01-10  Jim Meyering  <jim@meyering.net>
84255
84256         * modules/closeout (Depends-on): Add atexit.
84257
84258 2005-01-06  Bruno Haible  <bruno@clisp.org>
84259
84260         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
84261
84262 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
84263
84264         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
84265         definitions to be after all include files, to avoid collisions.
84266         Problem reported by Bob Proulx.
84267
84268 2005-01-04  Jim Meyering  <jim@meyering.net>
84269
84270         Changes imported from coreutils.
84271         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
84272         as the mkstemp template, use a temporary directory and an
84273         8.3-friendly template to avoid trouble on systems like DJGPP.
84274         Reported by Juan M. Guerrero via Stepan Kasal.
84275         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
84276         close. Remove the temporary directory right away, rather than waiting
84277         for configure's at-exit trap code to do it.
84278         Suggestion from Stepan Kasal.
84279
84280 2005-01-01  Simon Josefsson  <jas@extundo.com>
84281
84282         * gnulib-tool: Print #include directives when --import'ing.
84283
84284 2004-12-28  Simon Josefsson  <jas@extundo.com>
84285
84286         * tests/test-base64.c: Include required header files.  Remove
84287         unused variables.
84288
84289 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84290
84291         * modules/error (Depends-on): Remove gettext.
84292
84293 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
84294
84295         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
84296         not needed.  This removes a dependency on the gettext module.
84297         [defined _LIBC]: Do not include <libintl.h>; not needed.
84298
84299 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84300
84301         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
84302         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
84303
84304 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
84305
84306         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
84307         HAVE_DECL_STRTOLD.
84308
84309 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84310
84311         * modules/getdate (Depends-on): Remove alloca-opt.
84312
84313 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84314
84315         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
84316
84317 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
84318
84319         * lib/argp-parse.c: Include <stddef.h>.
84320         (alignof, alignto): New macros.
84321         (parser_init): Don't assume that void * is aligned sufficiently
84322         for struct option.
84323
84324         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
84325         need to extend the stack.
84326         (YYINITDEPTH): New macro, so that the initial stack isn't overly
84327         large.
84328
84329 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84330
84331         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
84332
84333 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84334
84335         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
84336         (2004-10-24) change.  Apparently this was a false alarm.
84337
84338         * modules/getdate: Depend on alloca-opt, not alloca.
84339
84340 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
84341
84342         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
84343         Remove now-obsolete comment about AIX.
84344         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
84345         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
84346         (YYMAXDEPTH): New macro.
84347
84348 2004-12-18  Simon Josefsson  <jas@extundo.com>
84349
84350         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
84351
84352 2004-12-18  Bruno Haible  <bruno@clisp.org>
84353
84354         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
84355
84356 2004-12-18  Bruno Haible  <bruno@clisp.org>
84357
84358         * lib/fatal-signal.c (fatal_signals): Make non-const.
84359         (init_fatal_signals): New function.
84360         (uninstall_handlers, install_handlers): Ignore signals that were set to
84361         SIG_IGN.
84362         (at_fatal_signal): Call init_fatal_signals.
84363         (init_fatal_signal_set): Likewise. Ignore signals that were set to
84364         SIG_IGN.
84365         Reported by Paul Eggert.
84366
84367 2004-12-18  Bruno Haible  <bruno@clisp.org>
84368
84369         * doc/alloca.texi: New file.
84370         * doc/alloca-opt.texi: New file.
84371
84372 2004-12-17  Jim Meyering  <jim@meyering.net>
84373
84374         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
84375         Otherwise, install-sh could exit with improper exit status when
84376         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
84377
84378 2004-12-16  Simon Josefsson  <jas@extundo.com>
84379
84380         * tests/test-base64.c: Add license.
84381
84382 2004-12-15  Stepan Kasal  <address@hidden>
84383
84384         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
84385
84386 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
84387
84388         * modules/getcwd (Files): Add m4/d-ino.m4.
84389         Suggested by Mark D. Baushke.
84390
84391 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84392
84393         * lib/getdate.y (textint): New member "negative".
84394         (time_zone_hhmm): New function.
84395         Expect 14 shift-reduce conflicts, not 13.
84396         (o_colon_minutes): New rule.
84397         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
84398         (yylex): Set the "negative" member of signed numbers.
84399
84400 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
84401
84402         * doc/getdate.texi (Time of day items, Time zone items):
84403         Describe new formats +00:00, UTC+00:00.
84404
84405 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
84406
84407         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
84408         spurious "-l"s.  Problem reported by Stepan Kasal.
84409
84410 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
84411
84412         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
84413         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
84414
84415 2004-12-04  Simon Josefsson  <jas@extundo.com>
84416
84417         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
84418         Vandoorselaere <yoann@prelude-ids.org>.
84419
84420 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84421
84422         Changes imported from coreutils.
84423         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
84424         exist.
84425         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
84426
84427 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84428
84429         Changes imported from coreutils.
84430         * lib/hard-locale.c: Assume <locale.h> exists.
84431         Include "strdup.h".
84432         (GLIBC_VERSION): New macro.
84433         (hard_locale): Assume setlocale exists.
84434         Rewrite to avoid #ifdef.
84435         Use strdup rather than malloc + strcpy.
84436         * lib/human.c: Assume <locale.h> exists.
84437         (human_readable): Assume localeconv exists.
84438
84439 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
84440
84441         * modules/hard-locale (Depends-on): Add strdup.
84442
84443 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
84444
84445         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
84446         convert T2, not T.  (Imported from libc.)
84447
84448 2004-11-30  Simon Josefsson  <jas@extundo.com>
84449
84450         * modules/restrict (License): Change to LGPL.
84451
84452 2004-11-30  Simon Josefsson  <jas@extundo.com>
84453
84454         * m4/restrict.m4: Add copyright and copying conditions.
84455
84456 2004-11-30  Simon Josefsson  <jas@extundo.com>
84457
84458         * m4/base64.m4: New file.
84459
84460 2004-11-30  Simon Josefsson  <jas@extundo.com>
84461
84462         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
84463         base64.
84464
84465         * tests/test-base64.c: New file.
84466
84467         * modules/base64: New file.
84468
84469 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84470
84471         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
84472         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
84473
84474         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
84475
84476 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
84477
84478         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
84479         (__getcwd.c): Don't restore errno; glibc doesn't.
84480         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
84481         first, falling back to our code only if its results look suspicious.
84482         Ensure that the resulting buffer is only as large as necessary.
84483
84484         * lib/readutmp.c: Include readutmp.h first.
84485         Include <errno.h>, since readutmp.h no longer does that.
84486         * lib/readutmp.h: Don't include <errno.h>,
84487         <sys/param.h>, <time.h>; not needed to establish interface.
84488         (errno): Remove decl.
84489         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
84490         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
84491         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
84492
84493 2004-11-28  Simon Josefsson  <jas@extundo.com>
84494
84495         * lib/base64.h, base64.c: New file.
84496
84497 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
84498
84499         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
84500
84501 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
84502
84503         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
84504         (Depends-on): Remove pathmax, same.  Add mempcpy.
84505         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
84506         (Makefile.am): Append getcwd.h to lib_SOURCES.
84507         (Include): Add getcwd.h.
84508         (Maintainer): Change from Jim Meyering to "all, glibc",
84509         since getdate now uses intended-for-glibc code.
84510         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
84511         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
84512
84513 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84514
84515         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
84516         HP's ANSI C compiler.
84517         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
84518         Declaring int functions causes warnings on some modern systems and
84519         shouldn't be needed to compile on ancient ones.
84520         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
84521         defined.
84522
84523         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
84524         with the following changes.
84525         (__set_errno): Parenthesize properly.
84526         Include <stdbool.h>.
84527         (MIN, MAX, MATCHING_INO): New macros.
84528         (__getcwd): Define with prototype, not K&R form.
84529         Use heuristics to allocate default buffer on stack if possible.
84530         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
84531         behavior, and to avoid the PATH_MAX limit when computing
84532         ../../../../...
84533         Use MATCHING_INO to compare inode number to file.
84534         Check for arithmetic overflow in size calculations.
84535         Fix bug in reallocation of dot array that caused getcwd to fail
84536         on directories nested deeper than 75.
84537         Be more careful about saving errno on error.
84538         Do not use realloc; use only free+malloc, as this is a bit
84539         more flexible and avoids a needless copy operation.
84540         Do not inspect st_dev and st_ino for symbolic links; POSIX
84541         doesn't specify the latter.
84542         Check for closedir errors.
84543         Avoid needless casts.
84544         Use "#ifdef weak_alias" around weak_alias, to be like other
84545         glibc code.
84546         The following changes to getcwd.c have effect only when used in
84547         gnulib; they have no effect inside glibc proper.
84548         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
84549         as alloca isn't used.
84550         (alloca, __alloca): Likewise.
84551         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
84552         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
84553         unconditionally, as gnulib assumes C89 or better.
84554         Do not include <sys/param.h>.
84555         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
84556         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
84557         better.
84558         (NULL) [!defined NULL]: Remove; we assume C89 or better.
84559         Include <dirent.h> in a way that is compatible with modern Autoconf.
84560         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
84561         New macros, if not already defined.
84562         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
84563         Use "_LIBC", not "defined _LIBC", for consistency.
84564         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
84565         a mempcpy module.
84566         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
84567         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
84568         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
84569         credit only to Jim Meyering and adjust the copyright dates.
84570         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
84571         <stdlib.h>, <unistd.h>, "pathmax.h".
84572         Instead, include "xgetcwd.h" (first) and "getcwd.h".
84573         (INITIAL_BUFFER_SIZE): Remove.
84574         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
84575
84576 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
84577
84578         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
84579         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
84580         Use the _ONCE methods, for efficiency.
84581         Check for fcntl.h.  In test program, include <errno.h>
84582         and <fcntl.h> if available.  Remove old K&R cruft from
84583         test program.  Check for common errors in GNU/Linux,
84584         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
84585         don't do AC_LIBOBJ, as that's getcwd.m4's job.
84586         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
84587         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
84588         name accordingly.
84589         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
84590         accommodate new getcwd.c.
84591         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
84592         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
84593         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
84594         that's all we need now.
84595
84596 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84597
84598         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
84599         argp-parse.c depends on getopt internals, that means we should
84600         always use our getopt, to be on the safe side.
84601         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
84602         order not to spoil the result of an eventual previous invocation
84603         of gl_GETOPT_SUBSTITUTE.
84604
84605 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84606
84607         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
84608         redefinition warnings. To avoid them, include the defines
84609         in `#if !defined __need_getopt ... #endif'. The only place
84610         where __getopt_argv_const is used is in definitions
84611         of getopt_long and getopt_long_only below, which are as well
84612         protected by `#ifndef __need_getopt'.
84613         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
84614         __need_getopt after including <stdio.h> and <unistd.h> These
84615         headers might have defined it.
84616
84617 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84618
84619         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
84620
84621 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
84622
84623         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
84624         (futimens): New function, which uses futimes if available.
84625         (futimens, utimens): Support timespec==NULL, with same semantics
84626         as utime and utimens.
84627         * lib/utimens.h (futimens): New decl.
84628
84629 2004-11-23  Jim Meyering  <jim@meyering.net>
84630
84631         * lib/getopt_.h: Remove trailing blanks.
84632
84633 2004-11-23  Jim Meyering  <jim@meyering.net>
84634
84635         * lib/__fpending.c: Add comment.
84636
84637 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
84638
84639         * modules/canonicalize (Depends-on): Add xreadlink.
84640         Problem reported by James Youngman.
84641
84642 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
84643
84644         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
84645         New macros.
84646         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
84647         optopt): Use them instead of invoking ## directly; otherwise, the
84648         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
84649
84650 2004-11-19  Bruno Haible  <bruno@clisp.org>
84651
84652         * lib/strtok_r.c: Move comments from here...
84653         * lib/strtok_r.h: ... to here.
84654
84655 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84656
84657         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
84658         implementations that mishandle size_t overflow.
84659
84660 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
84661
84662         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
84663         might fail.  Problem reported by Yoann Vandoorselaere.
84664         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
84665         implementations that mishandle size_t overflow.
84666
84667 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84668
84669         * modules/canon-host (Depends-on): Add strdup.
84670
84671 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84672
84673         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
84674
84675 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84676
84677         * lib/canon-host.c: Include "strdup.h".
84678         (canon_host): Use getaddrinfo if available, so that IPv6 works.
84679         Use strdup instead of malloc/strcpy to duplicate strings.
84680
84681         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
84682         (human_space_before_unit): New constant.
84683         * lib/human.c (human_readable): Support it.
84684
84685         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
84686         (xgetcwd): Set errno correctly when failing.
84687         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
84688         the failure is actually due to a PATH_MAX problem.
84689
84690         Further getopt changes to make it more likely that glibc will
84691         buy the changes back.
84692         * lib/getopt.c (POSIXLY_CORRECT): New constant.
84693         (getopt): Use it, so to preserve glibc semantic
84694         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
84695         when compiling for libc.
84696         * lib/getopt_.h (__getopt_argv_const): Bring it back.
84697         (getopt_long, getopt_long_only): Use it.
84698
84699         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84700         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
84701         (getopt): Argv is now char * const *, as per standard.
84702         (_getopt_internal_r, _getopt_internal): Argv is now char **,
84703         not char *__getopt_argv_const *.
84704         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84705         _getopt_long_only_r): Likewise.
84706         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
84707         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84708         _getopt_long_r, _getopt_long_only_r): Likewise.
84709         * lib/getopt_.h (__getopt_argv_const): Remove.
84710         (getopt): Argv is now char * const *, as per standard.
84711
84712         * lib/getdate.y (tORDINAL): New token.
84713         (day, relunit): Allow it for relative times.
84714         (relative_time_table): Use tORDINAL for ordinals.
84715
84716 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
84717
84718         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
84719         Document that "second" isn't allowed as an ordinal number.
84720
84721 2004-11-16  Jim Meyering  <jim@meyering.net>
84722
84723         * modules/closeout (Depends-on): Add fpending.
84724
84725 2004-11-15  Jim Meyering  <jim@meyering.net>
84726
84727         * lib/closeout.c: Include "__fpending.h" once again.
84728         Include <stdbool.h>.
84729         (close_stdout): Don't fail just because stdout was closed initially,
84730         since some programs don't write to stdout in the normal course of
84731         operation (other than --version and --help), and we don't want this
84732         function to make e.g. `touch file >&-' fail.
84733         But do fail if it was closed and someone has tried to write to it.
84734         E.g., `printf foo >&-' must fail.
84735
84736 2004-11-13  Jim Meyering  <jim@meyering.net>
84737
84738         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
84739
84740 2004-11-12  Simon Josefsson  <jas@extundo.com>
84741
84742         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
84743         small doc fix is still pending.
84744
84745 2004-11-11  Simon Josefsson  <jas@extundo.com>
84746
84747         * modules/strtok_r: New file.
84748
84749         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84750         strtok_r.
84751
84752 2004-11-11  Simon Josefsson  <jas@extundo.com>
84753
84754         * m4/strtok_r.m4: New file.
84755
84756         * m4/getopt.m4: Replace opterr.
84757
84758 2004-11-11  Simon Josefsson  <jas@extundo.com>
84759
84760         * lib/strtok_r.h, strtok_r.c: New file.
84761
84762 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84763
84764         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
84765         of replacing opterr, getopt, etc.  This should handle the
84766         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
84767
84768 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
84769
84770         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
84771         we can stop lying to compilers about the constness of argv when we
84772         are compiled outside glibc.
84773         (getopt, getopt_long, getopt_long_only): Use it.
84774         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
84775         _getopt_internal, getopt): Likewise.
84776         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
84777         _getopt_long_only_r): Likewise.
84778         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
84779         _getopt_long_r, _getopt_long_only_r): Likewise.
84780
84781         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
84782         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
84783         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
84784         the other external symbols.
84785         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
84786         declaration, since the above renaming now works around collisions.
84787
84788 2004-11-11  Jim Meyering  <jim@meyering.net>
84789
84790         * lib/linebreak.c: Remove trailing blanks.
84791         * lib/alloca_.h: Likewise.
84792         * lib/acosl.c: Likewise.
84793         * lib/euidaccess.c: Likewise.
84794         * lib/allocsa.h: Likewise.
84795
84796 2004-11-10  Simon Josefsson  <jas@extundo.com>
84797
84798         * m4/getaddrinfo.m4: New file.
84799
84800 2004-11-10  Simon Josefsson  <jas@extundo.com>
84801
84802         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
84803
84804 2004-11-10  Simon Josefsson  <jas@extundo.com>
84805
84806         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84807         getaddrinfo.
84808
84809         * modules/getaddrinfo: New file.
84810
84811 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84812
84813         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
84814
84815 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
84816
84817         * lib/mktime.c (SHR): New macro, which is a portable
84818         substitute for >> that should work even on Crays.
84819         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
84820         Problem reported by Mark D. Baushke in
84821         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
84822         * lib/getdate.y (SHR): Likewise.
84823         (tm_diff): Use it.
84824         * lib/strftime.c (SHR): Likewise.
84825         (tm_diff): Use it.
84826         * lib/quotearg.c (struct quoting_options): Use unsigned int for
84827         quote_these_too, so that right shifts are well defined.  All uses
84828         changed.
84829
84830 2004-11-10  Jim Meyering  <jim@meyering.net>
84831
84832         Ensure that no close failure goes unreported.
84833         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
84834         return early when it seems there's nothing to flush.
84835         Don't include __fpending.h.
84836
84837 2004-11-10  Jim Meyering  <jim@meyering.net>
84838
84839         * modules/closeout (Depends-on): Remove fpending.
84840
84841 2004-11-10  Jim Meyering  <jim@meyering.net>
84842
84843         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
84844
84845 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84846
84847         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
84848         gl_FUNC_STRFTIME.
84849         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
84850         and AC_REQUIRE when possible, to avoid duplicate checks.
84851         Check for <wchar.h>.
84852
84853 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
84854
84855         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
84856
84857 2004-11-09  Bruno Haible  <bruno@clisp.org>
84858
84859         * m4/sockpfaf.m4: New file.
84860
84861 2004-11-05  Bruno Haible  <bruno@clisp.org>
84862
84863         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
84864         Reported by Mark D. Baushke <mdb@cvshome.org>.
84865
84866 2004-11-04  Bruno Haible  <bruno@clisp.org>
84867
84868         2004-09-11  Bruno Haible  <bruno@clisp.org>
84869                 * allocsa.valgrind: New file.
84870         2004-02-06  Bruno Haible  <bruno@clisp.org>
84871                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
84872                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
84873                 Reported by Christopher Seip <chris.seip@hp.com>.
84874
84875 2004-11-04  Bruno Haible  <bruno@clisp.org>
84876
84877         * modules/allocsa (Files): Add lib/allocsa.valgrind.
84878         (Makefile.am): Distribute it.
84879
84880 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
84881
84882         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
84883         with errno == ERANGE if the buffer is too small.
84884         Problem reported by Mark D. Baushke.
84885
84886 2004-11-03  Albert Chin  <china@thewrittenword.com>
84887             Paul Eggert  <eggert@cs.ucla.edu>
84888
84889         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
84890         equivalent, substitute $ac_type for equivalent type rather than
84891         blindly using uint32_t *always* which won't work if uint32_t is not
84892         available.  Define _UINT32_T to work around typedef of uint32_t if
84893         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
84894         2.5.1.
84895
84896 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84897
84898         * m4/jm-macros.m4: Sync from coreutils.
84899         (gl_MACROS): Check for mbrlen, for pathchk.
84900         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
84901
84902 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84903
84904         * lib/xreadlink.c (MAXSIZE): New macro.
84905         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
84906         size does not exceed MAXSIZE.  Avoid cast.
84907         As suggested by Mark D. Baushke in
84908         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
84909         if readlink fails with buffer size just under MAXSIZE, try again
84910         with MAXSIZE.
84911
84912 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
84913
84914         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
84915
84916 2004-11-02  Derek R. Price  <derek@ximbiot.com>
84917         and  Paul Eggert  <eggert@cs.ucla.edu>
84918
84919         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
84920         (get_date): Overparenthesize to avoid GCC warning.
84921
84922 2004-11-02  Bruno Haible  <bruno@clisp.org>
84923
84924         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
84925         returns void.
84926
84927 2004-11-02  Bruno Haible  <bruno@clisp.org>
84928
84929         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
84930         function returns void.
84931
84932 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84933
84934         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
84935         fflush_unlocked, flockfile, funlockfile, funlockfile,
84936         fputs_unlocked, putc_unlocked.
84937
84938 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
84939
84940         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
84941         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
84942         already declared.
84943
84944 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84945
84946         * modules/getdate (Files): Add doc/getdate.texi.
84947         (Depends-on): Add setenv, xalloc.
84948
84949 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84950
84951         * lib/getdate.y: Add support for TZ="foo" within a date string.
84952         Fix some bugs near time_t boundaries.  Reject dates with
84953         out-of-range components, e.g., "Sept 31".
84954         Include <stdlib.h>, "setenv.h", "xalloc.h".
84955         (ISDIGIT_LOCALE): Remove; unused.
84956         Note that the TZ and time functions used here are not reentrant.
84957         (mktime_ok, get_tz): New functions.
84958         (TZBUFSIZE): New constant.
84959         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
84960         This requires that we sometimes generate our own TZ="XXX..." setting.
84961
84962 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
84963
84964         * doc/getdate.texi: New file, from coreutils with modifications for
84965         the new TZ parsing.
84966
84967 2004-10-27  Derek R. Price  <derek@ximbiot.com>
84968
84969         * lib/mktime.c (not_equal_tm): Remove redundant check.
84970
84971 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84972
84973         * modules/regex (lib_SOURCES): Add regex.c.
84974         Reported by James Youngman in
84975         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
84976
84977 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
84978
84979         * lib/getdate.y: Use Bison 1.875 features, and some minor
84980         code cleanups.  This change does not affect semantics.
84981         Don't include <stdlib.h>; no longer needed.
84982         Don't include unlocked-io.h; only the "#if TEST" code uses
84983         stdio, and performance isn't crucial there.
84984         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
84985         Bison 1.875 features as described below.
84986         All uses of "PC." replaced by "pc->".
84987         (YYSTYPE): Add a forward declaration.
84988         (yylex, yyerror): Use full prototypes in forward decls.
84989         Use "%pure-parser" rather than obsolescent "%pure_parser".
84990         Use %parse-param and %lex-param instead of obsolescent
84991         YYPARSE_PARAM and YYLEX_PARAM.
84992         (meridian_table, month_and_day_table, time_units_table,
84993         relative_time_table, time_zone_table, military_table,
84994         lookup_zone, lookup_word, get_date):
84995         Use NULL instead of 0 where appropriate.
84996         (to_hour): Avoid abort (), to avoid a dependency on
84997         stdlib.h.
84998         (yyerror, yylex): Now accepts parser_control * arg.
84999         (main) [TEST]: Use '\0' rather than 0 for char.
85000
85001 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85002
85003         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
85004
85005 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85006
85007         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
85008         It's now the caller's responsibility to handle the case where
85009         !HAVE_GETPAGESIZE && !defined getpagesize.
85010
85011         * lib/mktime.c (leapyear): Arg is long int, not int.
85012
85013 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
85014
85015         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
85016
85017 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
85018
85019         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
85020         missing.  Problem reported by James Youngman.
85021
85022 2004-10-16  Simon Josefsson  <jas@extundo.com>
85023
85024         * gnulib-tool: Fix comments.  Fix parse problem.
85025         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
85026
85027 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
85028
85029         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
85030         implementation of getopt_long.  Problem reported by Alexander Taler in:
85031         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
85032
85033 2004-10-15  Bruno Haible  <bruno@clisp.org>
85034
85035         * gnulib-tool: Untabify. Initialize supplied_libname.
85036         (func_usage): More homogenous output.
85037         (func_modules_transitive_closure, func_modules_to_filelist,
85038         func_emit_lib_Makefile_am): New functions.
85039         (func_import): New function, extracted from big case statement. Use
85040         func_get_license, func_modules_transitive_closure,
85041         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
85042         opt_lgpl. Don't use test -a, as it's not portable.
85043         (func_create_testdir): Use func_modules_transitive_closure,
85044         func_modules_to_filelist, func_emit_lib_Makefile_am.
85045
85046 2004-10-15  Bruno Haible  <bruno@clisp.org>
85047
85048         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
85049
85050 2004-10-15  Bruno Haible  <bruno@clisp.org>
85051
85052         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
85053         the portions belonging to each module.
85054         Suggested by Derek Robert Price <derek@ximbiot.com>.
85055
85056 2004-10-12  Simon Josefsson  <jas@extundo.com>
85057
85058         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85059         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
85060         to real functions.
85061
85062 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85063
85064         * modules/vsnprintf: New file.
85065
85066 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85067
85068         * m4/vsnprintf.m4: New file.
85069
85070 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85071
85072         * lib/vsnprintf.h: New file.
85073         * lib/vsnprintf.c: New file.
85074
85075 2004-10-11  Bruno Haible  <bruno@clisp.org>
85076
85077         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
85078         vsnprintf.
85079
85080 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85081
85082         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
85083
85084 2004-10-07  Bruno Haible  <bruno@clisp.org>
85085
85086         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
85087         fits into the provided buffer.
85088
85089 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85090
85091         * lib/diacrit.c, diacrit.h: Add GPL notice.
85092
85093         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
85094         notice.
85095         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
85096         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
85097         This avoids a potential constant-folding bug.
85098
85099 2004-10-05  Bruno Haible  <bruno@clisp.org>
85100
85101         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
85102         for the declaration of strsep.
85103
85104 2004-10-05  Bruno Haible  <bruno@clisp.org>
85105
85106         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
85107
85108 2004-10-04  Simon Josefsson  <jas@extundo.com>
85109
85110         * modules/memmem: New file.
85111         * tests/test-memmem.c: New file.
85112         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
85113
85114 2004-10-04  Simon Josefsson  <jas@extundo.com>
85115
85116         * m4/memmem.m4: New file.
85117
85118 2004-10-04  Simon Josefsson  <jas@extundo.com>
85119
85120         * lib/memmem.h: New file.
85121         * lib/memmem.c: New file, taken from glibc.
85122
85123 2004-10-04  Simon Josefsson  <jas@extundo.com>
85124
85125         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
85126         '#ifdef USE_UNLOCKED_IO'.
85127
85128 2004-10-04  Simon Josefsson  <jas@extundo.com>
85129
85130         * config/srclist.txt: Add memmem from glibc.
85131
85132 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85133
85134         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
85135
85136         * modules/argmatch, modules/argp, modules/closeout, modules/error,
85137         modules/exclude, modules/getdate, modules/getline,
85138         modules/getndelim2, modules/getpass, modules/getpass-gnu,
85139         modules/getusershell, modules/linebuffer, modules/md5,
85140         modules/mountlist, modules/posixtm, modules/readtokens,
85141         modules/readutmp, modules/regex, modules/sha1,
85142         modules/version-etc, modules/yesno:
85143         Remove dependency on unlocked-io.
85144
85145 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85146
85147         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
85148
85149         * m4/unlocked-io.m4: Add copyright notice.
85150         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
85151
85152 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85153
85154         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
85155         * lib/xmalloc.c (xmemdup): Likewise.
85156         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
85157         XFREE): Remove these long-obsolescent macros.
85158         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
85159         * lib/xstrdup.c: Remove.
85160
85161         * lib/regex.c (re_comp): Cast gettext return value to char *,
85162         Problem reported by Martin Neitzel via Mark D. Baushke.
85163
85164 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85165
85166         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
85167         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
85168         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
85169         regex.c, sha1.c, version-etc.c, yesno.c:
85170         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
85171         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
85172         the includer's responsibility.
85173
85174         Sync from coreutils.
85175
85176         * lib/modechange.c (mode_compile): Don't decrement a pointer that
85177         points to the start of a string, as the C Standard says the
85178         resulting behavior is undefined.
85179
85180         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
85181         simple -> simple_backups, numbered_existing ->
85182         numbered_existing_backups, numbered -> numbered_backups
85183         to avoid shadowing problems.  All uses changed.
85184         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
85185         * lib/backupfile.c (check_extension, numbered_backup):
85186         Rename locals to avoid shadowing 'basename'.
85187         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
85188         once.
85189
85190         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
85191         * lib/.cvsignore: Add getopt.h.
85192
85193 2004-10-04  Bruno Haible  <bruno@clisp.org>
85194
85195         * modules/README: New file.
85196         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
85197         not a module.
85198
85199 2004-10-02  Jim Meyering  <jim@meyering.net>
85200
85201         * lib/dirfd.h, getpagesize.h: Add copyright notice.
85202
85203 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85204
85205         * modules/strsep: New file.
85206
85207 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85208
85209         * m4/strsep.m4: New file.
85210
85211 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85212
85213         * lib/strsep.h: New file.
85214         * lib/strsep.c: New file.
85215
85216 2004-10-01  Simon Josefsson  <jas@extundo.com>
85217
85218         * lib/snprintf.c (snprintf): Handle size==0.
85219
85220 2004-10-01  Simon Josefsson  <jas@extundo.com>
85221             Bruno Haible  <bruno@clisp.org>
85222
85223         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
85224         (snprintf): Declare 'args'.
85225
85226 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
85227
85228         * lib/snprintf.c: Remove comments as to why each header is needed.
85229
85230 2004-10-01  Bruno Haible  <bruno@clisp.org>
85231
85232         * MODULES.html.sh: Add strsep.
85233
85234 2004-09-30  Simon Josefsson  <jas@extundo.com>
85235
85236         * modules/snprintf: New file.
85237
85238 2004-09-30  Simon Josefsson  <jas@extundo.com>
85239
85240         * m4/snprintf.m4: New file.
85241
85242 2004-09-30  Simon Josefsson  <jas@extundo.com>
85243
85244         * lib/snprintf.h, lib/snprintf.c: New files.
85245
85246 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85247
85248         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
85249         (hol_entry_help): Never translate an empty string.
85250         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
85251         * lib/argp.h (OPTION_NO_TRANS): New option.
85252
85253 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85254
85255         * modules/argp (Maintainer): Replace Simon Josefsson
85256         by Sergey Poznyakoff.
85257
85258 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85259
85260         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
85261         changes merged back into glibc.
85262
85263 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
85264
85265         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
85266
85267 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85268
85269         * lib/xvasprintf.c: Include xalloc.h.
85270         (xvasprintf): Use xalloc_die, not xmalloc_die.
85271
85272 2004-09-29  Bruno Haible  <bruno@clisp.org>
85273
85274         * modules/alloca-opt: New file, derived from modules/alloca.
85275         * modules/allocsa: Depend on alloca-opt instead of alloca.
85276         * modules/setenv: Likewise.
85277         * modules/vasnprintf: Likewise.
85278         * MODULES.html.sh: Add alloca-opt.
85279
85280 2004-09-28  Simon Josefsson  <jas@extundo.com>
85281
85282         * gnulib-tool: New parameter --lgpl, to asseert that modules are
85283         LGPL, and to replace license template from GPL to LGPL.
85284
85285 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85286
85287         * modules/dummy: Change license to LGPL.
85288
85289 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
85290
85291         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
85292
85293 2004-09-24  Simon Josefsson  <jas@extundo.com>
85294
85295         * modules/minmax (License): Change from GPL to LGPL.
85296
85297 2004-09-23  Simon Josefsson  <jas@extundo.com>
85298
85299         * gnulib-tool (--import): Typo.
85300
85301 2004-09-23  Simon Josefsson  <jas@extundo.com>
85302
85303         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
85304
85305 2004-09-22  Bruno Haible  <bruno@clisp.org>
85306
85307         * modules/*: Add 'License' field.
85308         * gnulib-tool: Accept --extract-license option.
85309         (func_get_license): New function.
85310
85311 2004-09-21  Bruno Haible  <bruno@clisp.org>
85312
85313         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
85314         Reported by Simon Josefsson.
85315
85316 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85317
85318         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
85319         gl_AC_TYPE_LONG_LONG.
85320
85321 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
85322
85323         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
85324
85325 2004-09-18  Simon Josefsson  <jas@extundo.com>
85326         and  Paul Eggert  <eggert@cs.ucla.edu>
85327
85328         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
85329         calls with autoreconf.  Define GL_LIB.
85330
85331 2004-09-14  Karl Berry  <karl@gnu.org>
85332
85333         * config/srclist.txt: unsync setenv.c, sigh.
85334
85335 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85336
85337         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
85338         Problem reported by Bruno Haible in:
85339         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
85340
85341 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
85342
85343         * config/srclist.txt: Comment out argp-pvh.c.
85344
85345 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
85346
85347         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
85348         in case some system header has #define'd it.  Problem reported by
85349         Soeren D. Schulze in
85350         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
85351
85352 2004-09-09  Karl Berry  <karl@gnu.org>
85353
85354         * regex.[ch]: delete from the root.  These were supposed to be
85355                 synced with emacs cvs, but this has not happened for about
85356                 a year, and anyway nothing else uses emacs regex.[ch].
85357                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
85358                 lib/regex[.ch] is untouched.
85359
85360 2004-09-09  Bruno Haible  <bruno@clisp.org>
85361
85362         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
85363
85364 2004-09-09  Bruno Haible  <bruno@clisp.org>
85365
85366         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
85367         modifications.
85368         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
85369
85370 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85371
85372         * modules/xvasprintf: New file.
85373         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
85374
85375 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
85376
85377         * lib/xvasprintf.h: New file.
85378         * lib/xvasprintf.c: New file.
85379         * lib/xasprintf.c: New file.
85380
85381 2004-09-08  Bruno Haible  <bruno@clisp.org>
85382
85383         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
85384
85385 2004-09-08  Bruno Haible  <bruno@clisp.org>
85386
85387         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
85388         length is > INT_MAX.
85389         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
85390         more.
85391
85392 2004-09-08  Bruno Haible  <bruno@clisp.org>
85393
85394         * lib/stdint_.h: New file, taken from GNU clisp.
85395
85396 2004-09-08  Bruno Haible  <bruno@clisp.org>
85397             Oskar Liljeblad  <oskar@osk.mine.nu>
85398
85399         * modules/stdint: New file.
85400         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
85401
85402 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85403
85404         Import from coreutils.
85405         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
85406         strings on unbounded length.  alloca's performance benefits aren't
85407         that important here.
85408         (V_STRDUP): Remove.
85409         (parse_with_separator): New function, with most of the internals
85410         of the old parse_user_spec.  Allow user to omit both user and group,
85411         for compatibility with FreeBSD.
85412         Clone only the user name, not the entire spec.
85413         Do not set *uid, *gid unless entirely successful.
85414         Avoid memory leak in some failing cases.
85415         Fix regression for USER.GROUP reported by Dmitry V. Levin in
85416         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
85417         (parse_user_spec): Rewrite to use parse_with_separator.
85418
85419 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85420
85421         * modules/userspec: Don't depend on alloca.
85422
85423 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85424
85425         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
85426
85427 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85428
85429         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
85430         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
85431         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
85432
85433 2004-08-16  Simon Josefsson  <jas@extundo.com>
85434
85435         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
85436         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
85437         Add --dry-run for --import.
85438         Let user provided command line parameters override configure.ac
85439         settings.
85440
85441 2004-08-12  Simon Josefsson  <jas@extundo.com>
85442
85443         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
85444         as discussed with Paul Eggert in threads rooted at
85445         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
85446         and
85447         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
85448         Before, the test was empty, and relied on ELIDE_CODE in source
85449         code.)
85450         (gl_PREREQ_GETOPT): New macro.
85451         (gl_GETOPT): Use them.
85452
85453 2004-08-12  Simon Josefsson  <jas@extundo.com>
85454
85455         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
85456         * lib/getopt_.h: Renamed from getopt.h.
85457
85458 2004-08-12  Simon Josefsson  <jas@extundo.com>
85459
85460         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
85461         Change default library name from libfoo to libgnu.
85462         Now, if you have a configure.ac that says:
85463                 gl_SOURCE_BASE(gl)
85464                 gl_M4_BASE(gl/m4)
85465                 gl_MODULES(error getopt etcetera)
85466                 gl_INIT
85467         you can import all you need by running:
85468                 ../gnulib/gnulib-tool --import
85469
85470         * modules/getopt (Files): Rename getopt.h to getopt_.h.
85471         (Makefile.am): Rewrite, use logic from argz.
85472         (Include): Use <getopt.h> instead of "getopt.h".
85473
85474 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85475
85476         * modules/argp (Files): Add m4/unlocked-io.m4.
85477         (Depends-on): Add extensions.
85478
85479 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85480
85481         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
85482         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
85483         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
85484         Check for program_invocation_name, program_invocation_short_name,
85485         flockfile, funlockfile, features.h, _getopt_long_only_r.
85486
85487 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85488
85489         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
85490         its complicated substitute.
85491         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
85492         and program_invocation_name.
85493         (__argp_basename) [!_LIBC]: Remove; the only use was
85494         replaced by its body.
85495         (__argp_short_program_name): Change condition from
85496         !defined __argp_short_program_name to
85497         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
85498         to match argp-namefrob.h.
85499         (__argp_failure): Don't assume strerror_r returns char *.
85500         * lib/argp-parse.c (N_): Define unconditionally.
85501         (argp_default_options): Fill out initializers with 0 to avoid
85502         gcc warnings.
85503
85504 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
85505
85506         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
85507         getopt1.c.
85508
85509 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85510
85511         Merge from coreutils.
85512
85513         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
85514
85515         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
85516         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
85517
85518 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85519
85520         Merge from coreutils.
85521
85522         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
85523         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
85524         for Reliant Unix 5.43.
85525
85526         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
85527         (union fooround): Use uintmax_t, not long int.
85528         The rest is a merge from libc:
85529         [defined _LIBC]: Include <shlib-compat.h>.
85530         (_obstack) [defined _LIBC]: Remove after 2.3.4.
85531
85532         * lib/settime.c (settime): Recode to avoid warning with
85533         Sun Forte C 6U2.
85534
85535         * lib/strverscmp.c: Convert to UTF-8.
85536
85537 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
85538
85539         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85540         m4/uintmax_t.m4.
85541
85542 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85543
85544         * modules/xalloc-die: New file.
85545         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
85546
85547         * modules/md5 (Files): Add m4/uint32_t.m4.
85548         * modules/sha1: Renamed from modules/sha.
85549         (Files):
85550         Rename lib/sha.h to lib/sha1.h.
85551         Rename lib/sha.c to lib/sha1.c.
85552         Rename m4/sha.m4 to m4/sha1.m4.
85553         (lib_SOURCES): Likewise.
85554         (configure.ac): Rename gl_SHA to gl_SHA1.
85555         (Include): sha.h -> sha1.h.
85556
85557 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85558
85559         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
85560         * m4/sha1.m4: Renamed from sha.m4.
85561         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
85562
85563 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
85564
85565         * lib/obstack.h (obstack_empty_p):
85566         Don't assume that chunk->contents is suitably aligned.
85567         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
85568         Likewise. Problem reported by Benno in
85569         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
85570
85571         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
85572         readable.  This could be improved further but it'd take some work.
85573
85574 2004-08-08  Simon Josefsson  <jas@extundo.com>
85575
85576         * modules/xgethostname (Depends-on): Remove exit and error (not
85577         used).
85578
85579         * modules/getpass-gnu: Add getpass.h.
85580         (Depends-on): Add stdbool.
85581         * modules/getpass: Add getpass.h.
85582
85583 2004-08-08  Simon Josefsson  <jas@extundo.com>
85584
85585         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
85586         Check getpass declaration.
85587
85588 2004-08-08  Simon Josefsson  <jas@extundo.com>
85589
85590         * lib/xgethostname.c: Don't include error.h (not used).
85591
85592         * lib/getpass.h: Add.
85593         * lib/getpass.c: Include getpass.h first.
85594
85595 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
85596
85597         * lib/xalloc-die.c: New file.
85598         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
85599         All uses removed.
85600         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
85601         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
85602         xalloc-die.c.
85603         (_, N_, xalloc_die): Move to xalloc-die.c.
85604         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
85605         so that we needn't mess with xalloc_msg_memory_exhausted.
85606
85607         * lib/sha1.h: Renamed from sha.h.
85608         (SHA1_H): Renamed from _SHA_H.
85609         (sha1_ctx): Renamed from sha_ctx.
85610         (sha1_init_ctx): Renamed from sha_init_ctx.
85611         (sha1_process_block): Renamed from sha_process_block.
85612         (sha1_process_bytes): Renamed from sha_process_bytes.
85613         (sha1_finish_ctx): Renamed from sha_finish_ctx.
85614         (sha1_read_ctx): Renamed from sha_read_ctx.
85615         (sha1_stream): Renamed from sha_stream.
85616         (sha1_buffer): Renamed from sha_buffer.
85617         * lib/sha1.c: Likewise; renamed from sha.c.
85618         Do not include <sys/types.h>.
85619         Include <stddef.h> rather than <stdlib.h>.
85620
85621 2004-08-08  Bruno Haible  <bruno@clisp.org>
85622
85623         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
85624         FILESYSTEM_PREFIX_LEN.
85625         * lib/progreloc.c: Likewise.
85626         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
85627
85628 2004-08-06  Simon Josefsson  <jas@extundo.com>
85629
85630         * modules/progname (Depends-on): Don't depend on stdbool.
85631
85632 2004-08-06  Simon Josefsson  <jas@extundo.com>
85633
85634         * modules/getsubopt: New file.
85635         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85636         getsubopt.
85637
85638 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85639
85640         More merge from coreutils.
85641
85642         * m4/utimens.m4, m4/utimecmp.m4: New files.
85643         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
85644         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
85645         prereq.m4, sha.m4: Import changes from coreutils.
85646
85647 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85648
85649         More merge from coreutils.
85650         * modules/raise, modules/readtokens0, modules/utimens:
85651         * modules/utimecmp, module/xnanosleep: New files.
85652         * modules/strftime: Add lib/strftime.h.
85653         Change include from <time.h> to "strftime.h".
85654         * modules/yesno: Add lib/yesno.h.
85655         * modules/backupfile: Remove lib/addext.c.
85656         * modules/euidaccess: Add stat-macros.h.
85657         * modules/canonicalize, modules/euidaccess,
85658         modules/filemode, modules/lchown, modules/makepath,
85659         modules/rmdir, modules/stat: Likewise.
85660
85661 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85662
85663         Merge from tar.
85664         * lib/argp-help.c (make_hol, hol_append): Don't assume that
85665         SIZE_MAX is a valid preprocessor constant.
85666         (__argp_basename): Change from "#ifndef _LIBC"
85667         to "#ifndef __argp_short_program_name", so that
85668         we don't compile these functions for tar.
85669
85670         More merges from coreutils.
85671         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
85672         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
85673         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
85674         * lib/addext.c: Remove; no longer needed.
85675         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
85676         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
85677         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
85678         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
85679         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
85680         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
85681         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
85682         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
85683         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
85684         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
85685         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
85686         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
85687         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
85688         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
85689         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
85690         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
85691         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
85692         Import changes from coreutils.
85693
85694 2004-08-05  Simon Josefsson  <jas@extundo.com>
85695
85696         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
85697
85698 2004-08-05  Simon Josefsson  <jas@extundo.com>
85699
85700         * m4/getsubopt.m4: New file.
85701
85702 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85703
85704         Merge from coreutils.
85705
85706         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
85707         * m4/getcwd-path-max.m4: New files.
85708
85709         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
85710         FILESYSTEM_PREFIX_LEN ->
85711         FILE_SYSTEM_PREFIX_LEN.
85712         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
85713         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
85714         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
85715         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
85716
85717         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
85718         prerequisite modules now handle the DOS stuff.
85719         Don't check for unistd.h.
85720
85721 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85722
85723         Merge from coreutils.
85724
85725         * lib/.gdb-history: Remove; this doesn't belong here.
85726
85727         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
85728         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
85729         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
85730         * lib/getcwd.c: New files.
85731
85732         * lib/dirname.h: Include <stdbool.h>.
85733         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
85734         for consistency with POSIX terminology.  All uses changed.
85735         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
85736         (strip_trailing_slashes): Use bool for booleans.
85737         * lib/stripslash.c (strip_trailing_slashes): Likewise.
85738
85739         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
85740         sometimes returns a positive errno value even when it succeeds.
85741         (print_errno_message) [!LIBC]: Fall back on strerror if
85742         __strerror_r fails.
85743
85744         * lib/path-concat.c (mempcpy): Don't define if a system header defines
85745         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
85746         (longest_relative_suffix): New function.
85747         (path_concat): Use it.  Assume first argument is not NULL.
85748         Port to DOS.  Omit redundant separators.
85749         Report an error instead of returning NULL.
85750         Use mempcpy instead of memcpy.
85751         (xpath_concat): Remove: not declared or used.
85752
85753         * lib/same.h: Include <stdbool.h>
85754         (same_name): Return bool, not int.
85755         * lib/same.c (same_name): Likewise.
85756         (errno): Don't declare; we assume C89 or better now.
85757
85758         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
85759         if not already defined.
85760
85761         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
85762         * lib/dup-safer.c (errno): Likewise.
85763
85764 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
85765
85766         Merge from coreutils.
85767         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
85768         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
85769         * modules/path-concat: Don't depend on strdup.
85770
85771 2004-08-03  Simon Josefsson  <jas@extundo.com>
85772
85773         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
85774         * lib/progname.h: Don't include stdbool.h.
85775
85776 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85777
85778         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
85779         * MODULES.html.sh (func_all_modules): Remove fatal.
85780
85781 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85782
85783         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
85784
85785 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
85786
85787         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
85788         working.
85789
85790 2004-08-02  Simon Josefsson  <jas@extundo.com>
85791
85792         * lib/getsubopt.h: New file, with comments from Bruno Haible.
85793         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
85794         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
85795
85796 2004-08-01  Simon Josefsson  <jas@extundo.com>
85797
85798         * lib/xgetdomainname.c: Include stdlib.h, for free().
85799
85800 2004-07-19  Bruno Haible  <bruno@clisp.org>
85801
85802         * MODULES.html.sh (func_all_modules): Add dummy.
85803
85804 2004-07-16  Simon Josefsson  <jas@extundo.com>
85805
85806         * modules/dummy: New file.
85807
85808 2004-07-16  Simon Josefsson  <jas@extundo.com>
85809
85810         * lib/dummy.c: New file.
85811
85812 2004-07-16  Bruno Haible  <bruno@clisp.org>
85813
85814         * lib/backupfile.h: Add extern "C" for C++.
85815         * lib/closeout.h: Likewise.
85816         * lib/copy-file.h: Likewise.
85817         * lib/findprog.h: Likewise.
85818         * lib/full-write.h: Likewise.
85819         * lib/pathname.h: Likewise.
85820         * lib/progname.h: Likewise.
85821         * lib/stpcpy.h: Likewise.
85822         * lib/stpncpy.h: Likewise.
85823         * lib/strcase.h: Likewise.
85824         * lib/strstr.h: Likewise.
85825         * lib/xalloc.h: Likewise.
85826
85827         * lib/mbswidth.h: Add extern "C" for C++.
85828         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
85829
85830 2004-07-13  Robert Millan  <robertmh@gnu.org>
85831
85832         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
85833
85834 2004-07-09  Simon Josefsson  <jas@extundo.com>
85835
85836         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
85837         failed without this.)
85838
85839 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85840
85841         * modules/chown (Files): Add lib/fchown-stub.c, since
85842         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
85843
85844 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
85845
85846         * lib/fchown-stub.c: New file.
85847
85848 2004-06-24  Jim Meyering  <jim@meyering.net>
85849
85850         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
85851
85852 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85853
85854         * modules/argz: Omit "#include".
85855
85856         * MODULES.html.sh (func_all_modules): Add calloc, to match
85857         2004-06-01 addition of calloc module.
85858
85859 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85860
85861         * m4/argz.m4: New file, which is autoupdated from libtool.
85862
85863 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85864
85865         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
85866         libtool.
85867
85868 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85869
85870         * config/srclist-update: Don't insist on "USA." before the
85871         close-comment, as libtool omits the period and puts the */ on a
85872         separate line.
85873         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
85874         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
85875
85876 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
85877
85878         * modules/argz: New file.
85879         * MODULES.html.sh (func_all_modules): Add argz.
85880
85881 2004-06-12  Jim Meyering  <jim@meyering.net>
85882         and  Paul Eggert  <eggert@cs.ucla.edu>
85883
85884         * modules/hash (Files): Add lib/xalloc.h.
85885         * modules/pipe (Depends-on): Add wait-process.
85886         * modules/stat (Depends-on): Add xalloc.
85887         * modules/userspec (Files): Add lib/userspec.h.
85888         * modules/xstrto
85889
85890         Upgrade from gettext-0.13.
85891         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
85892         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
85893         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
85894
85895 2004-06-10  Jim Meyering  <jim@meyering.net>
85896
85897         * lib/calloc.c: New file.
85898
85899 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
85900
85901         * lib/getdate.y (yylex): Allow space between sign and number.
85902         Problem reported by Dan Jacobson.
85903
85904 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85905
85906         Merge from coreutils CVS.
85907
85908         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
85909         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
85910         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
85911         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
85912         xstrtol.m4: Fix copyright date and/or serial number.
85913
85914         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
85915         See if we need an fchown replacement.
85916         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
85917         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
85918         and use the replacement function if we detect either defect.
85919
85920         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
85921         gl_UTIMECMP.
85922
85923 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
85924         and  Jim Meyering  <jim@meyering.net>
85925
85926         Merge from coreutils CVS.
85927
85928         * lib/stat-macros.h: New file, with contents from file-type.h
85929         and coreutils' system.h.
85930         * lib/file-type.c: Include "stat-macros.h".
85931         * lib/file-type.h (file_type): Move all macro definitions to new file,
85932         stat-macros.h.
85933
85934         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
85935         Wrap old code with this conditional.
85936         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
85937         function that does not dereference symlinks.
85938         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
85939
85940         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
85941         dependency problems.
85942         (xreadlink): Accept new arg SIZE, for efficiency.
85943         All decls and uses changed.
85944         * lib/xreadlink.h: Include <stddef.h>, for size_t.
85945
85946         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
85947         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
85948
85949         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
85950         sysexits.h.
85951
85952 2004-06-01  Jim Meyering  <jim@meyering.net>
85953
85954         * m4/calloc.m4: New file.
85955
85956 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
85957
85958         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
85959         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
85960         Also, fix a typo in a diagnostic.
85961
85962 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85963
85964         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
85965         or AC_FUNC_REALLOC.
85966
85967 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
85968
85969         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
85970         macros to be defined.
85971         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
85972         the allocator returns NULL because the requested size is zero.
85973
85974 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85975
85976         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
85977         var.  Add comment explaining why libc still defines it.  This
85978         merges the following patch from glibc:
85979         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
85980
85981 2004-05-20  Andreas Schwab  <schwab@suse.de>
85982
85983         * m4/free.m4: Replace free if it not known to work, not the other
85984         way round.
85985
85986 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
85987
85988         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
85989         present in glibc since revision 1.1 of this file.
85990         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
85991         obstack_alignment_mask, obstack_alloc, obstack_base,
85992         obstack_blank, obstack_blank_fast, obstack_chunk_size,
85993         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
85994         obstack_grow0, obstack_init, obstack_int_grow,
85995         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
85996         obstack_next_free, obstack_object_size, obstack_ptr_grow,
85997         obstack_ptr_grow_fast, obstack_room): Remove declarations of
85998         nonexistent functions.
85999
86000 2004-05-18  Karl Berry  <karl@gnu.org>
86001
86002         * config/srclist.txt: break link for vasnprintf.c.
86003
86004 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86005
86006         Port obstack to the AS/400, where pointers are 16 bytes wide and
86007         you cannot cast an integer to a valid pointer.  This patch is
86008         currently waiting to be integrated into glibc; see
86009         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
86010
86011         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
86012         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
86013         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
86014         (struct obstack): temp member is now a union of a pointer and
86015         an integer, instead of an integer.  All integer uses changed.
86016         This does not affect the physical layout of struct obstack,
86017         except on hosts (like the AS/400) where the size or alignment of
86018         void * is greater than that of ptrdiff_t.
86019         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
86020         __STDC__)]: Store temporary in pointer member of union, not
86021         integer member.
86022         * lib/obstack.c: Include <stddef.h>, for offsetof.
86023         (struct fooalign): Remove; it doesn't need a name.
86024         (union fooround): Change double to long double, and add void *.
86025         (DEFAULT_ALIGNMENT): Use offsetof to compute.
86026         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
86027         not a macro.  Hence the values are always int; so remove all
86028         casts-to-int in uses.
86029
86030 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86031
86032         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
86033         we can get this patch merged into glibc.
86034
86035 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86036             Paul Eggert  <eggert@cs.ucla.edu>
86037
86038         * m4/argp: Depend on alloca.
86039
86040 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86041             Paul Eggert  <eggert@cs.ucla.edu>
86042
86043         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
86044         freecoding.
86045
86046 2004-05-17  Bruno Haible  <bruno@clisp.org>
86047
86048         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
86049         precision that consists of a '.' followed by an empty digit string.
86050         Patch by Tor Lillqvist <tml@iki.fi>.
86051
86052 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86053
86054         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
86055         for backward compatibility with older code.  We need our own
86056         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
86057         it under some other name, and our alloca.h will define it.
86058
86059 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86060             Derek Price  <derek@ximbiot.com>
86061
86062         * lib/alloca.c: Include <alloca.h>, to get our interface.
86063         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
86064         include <alloca.h> first.  Use C89 prototype for alloca; this
86065         requires including <stddef.h> for size_t.  Use extern "C" if C++.
86066         Use #elif for simplicity, since we can assume C89 now.
86067         Don't try to source the system alloca.h since it will not be found
86068         and to prevent recursively including its replacement.
86069         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
86070         * lib/regex.c: Likewise.
86071
86072 2004-05-16  Derek Price  <derek@ximbiot.com>
86073             Paul Eggert  <eggert@cs.ucla.edu>
86074
86075         getline cleanup.  This changes the getndelim2 API: both order of
86076         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
86077         no delimiter).
86078
86079         * lib/getline.c: Don't include stddef.h or stdio.h, since our
86080         interface does that.
86081         (getline): Always use getdelim, so that we don't have two
86082         copies of this code.
86083         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
86084         if available.
86085         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
86086         (GETNDELIM2_MAXIMUM): New macro.
86087         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
86088         instead of the old practice of delim2==0.  All callers changed.
86089         Return -1 on overflow, instead of returning junk.
86090         Do not set *linesize unless allocation succeeds.
86091         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
86092         that we include sys/types.h.
86093         * lib/getnline.h: Likewise.
86094         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
86095         (getndelim2): Reorder arguments.
86096         * lib/getnline.c (getnline, getndelim):
86097         Don't discard the NMAX argument.
86098         (getnline): Invoke getndelim, to avoid code duplication.
86099         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
86100         of (size_t) -1 by callers of the getnline family.
86101
86102 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86103
86104         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
86105         Check for gettimeofday.
86106         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
86107         Check for settimeofday, stime.
86108
86109 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86110
86111         * lib/nanosleep.c (suspended): Change its type from int to
86112         sig_atomic_t volatile.
86113         (first_call): Make it private to rpl_nanosleep, and have it
86114         be zero initially as that's a bit faster.
86115         (my_usleep): Round up fractional times instead of truncating them,
86116         as this is the usual meaning for 'sleep'.
86117
86118         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
86119         doesn't work.
86120         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
86121         (ENOSYS): Define if not defined.
86122         (settime): Fall back on stime if it exists and settimeofday fails.
86123         But don't bother with fallbacks if a method fails with errno == EPERM.
86124
86125 2004-05-11  Jim Meyering  <jim@meyering.net>
86126
86127         Prior to this change, the save_cwd caller required read access to the
86128         current directory on most systems (ones with the fchdir function).
86129
86130         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
86131         fails, try write-only, and finally, resort to using xgetcwd.
86132
86133 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86134
86135         * lib/obstack.c, obstack.h: Import changes from libc.
86136
86137 2004-04-28  Bruno Haible  <bruno@clisp.org>
86138
86139         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
86140         also implicitly appends .exe to executables.
86141         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
86142         accepts Windows pathnames.
86143         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86144         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86145         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86146         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86147         Reported by Derek Robert Price <derek@ximbiot.com>.
86148
86149 2004-04-21  Karl Berry  <karl@gnu.org>
86150
86151         * config/srclist.txt (localcharset.c): break sync.
86152
86153 2004-04-20  Paul Eggert  <eggert@twinsun.com>
86154
86155         * m4/host-os.m4: Add a copyright notice.
86156
86157 2004-04-20  Jim Meyering  <jim@meyering.net>
86158
86159         Change UTILS_ to gl_ in AC_DEFINE'd names.
86160         Change utils_- and jm_-prefixed variables, too.
86161         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
86162         UTILS_FUNC_MKDIR_TRAILING_SLASH.
86163         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
86164
86165         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
86166         Don't emit trailing blanks.
86167         Also rename jm_-prefixed variables to have gl_ prefix.
86168
86169         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
86170         Also rename jm_-prefixed variables to have gl_ prefix.
86171
86172         * m4/jm-macros.m4: Reflect the renamings.
86173         * m4/prereq.m4: Likewise.
86174
86175 2004-04-20  Jim Meyering  <jim@meyering.net>
86176
86177         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
86178         memory.
86179
86180 2004-04-20  Jim Meyering  <jim@meyering.net>
86181             Bruno Haible  <bruno@clisp.org>
86182
86183         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
86184         memory when realloc fails.
86185
86186 2004-04-19  Jim Meyering  <jim@meyering.net>
86187
86188         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
86189         now that readutmp.c may call `free (0)'.
86190
86191 2004-04-19  Bruno Haible  <bruno@clisp.org>
86192
86193         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
86194         * m4/inttypes_h.m4: Likewise.
86195         * m4/stdint_h.m4: Likewise.
86196         * m4/intmax_t.m4: Likewise.
86197         * m4/uintmax_t.m4: Likewise.
86198
86199 2004-04-18  Jim Meyering  <jim@meyering.net>
86200
86201         * m4/prereq.m4: Don't forbid jm_ prefix.
86202
86203         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
86204         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
86205         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
86206         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
86207         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
86208         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
86209         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
86210         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
86211         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
86212         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
86213         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
86214         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
86215         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
86216         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
86217         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
86218         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
86219         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
86220         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
86221         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
86222
86223 2004-04-18  Jim Meyering  <jim@meyering.net>
86224
86225         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
86226         failure, don't leak memory and do call END_UTMP_ENT.
86227
86228 2004-04-16  Jim Meyering  <jim@meyering.net>
86229
86230         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
86231         coreutils' stat program.
86232         (gl_PREREQ): Don't require jm_PREREQ_STAT.
86233
86234 2004-04-11  Paul Eggert  <eggert@twinsun.com>
86235
86236         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
86237         C89.
86238         (CHAR_BIT): Remove, since we assume C89.
86239         Include <stdint.h> if available, as per current Autoconf CVS advice.
86240
86241 2004-03-31  Jim Meyering  <jim@meyering.net>
86242
86243         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
86244         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
86245         * m4/xalloc.m4: Likewise.
86246
86247 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86248
86249         Merge from coreutils.
86250
86251         * m4/inttostr.m4: New file.
86252         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
86253         Require AM_STDBOOL_H and gl_TIMESPEC instead.
86254         Require gl_CLOCK_TIME.
86255         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
86256
86257 2004-03-30  Paul Eggert  <eggert@twinsun.com>
86258
86259         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
86260         not bool, to be more consistent with Unix conventions.
86261         Suggested by Bruno Haible.
86262
86263         Merge from coreutils.
86264
86265         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
86266         * lib/umaxtostr.c: New files.
86267
86268         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
86269         the usual <time.h> dance.
86270         (get_date): Change signature to support fractional time stamps.
86271         All callers changed.
86272         * lib/getdate.y: Include "getdate.h" first, as we can now
86273         assume C89 and don't need to worry about 'const'.
86274         Similarly, include "unlocked-io.h" near start, not in middle.
86275         Include <limits.h>.
86276         (textint.value): Use long int rather than int.
86277         (textint.digits): Use size_t rather than int.
86278         (BILLION, LOG10_BILLION): New constants.
86279         (parser_control): New member rel_ns.  Members day_ordinal,
86280         time_zone, month, day, hour, minutes, rel_year, rel_month,
86281         rel_day, rel_hour, rel_minutes, rel_seconds
86282         are now long int, not int.  Member seconds is now struct timespec,
86283         not int.  New member timespec_seen.  Members dates_seen, days_seen,
86284         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
86285         not int.
86286         (%union.intval): Now long int, not int.
86287         New member timespec.
86288         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
86289         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
86290         (spec): Now is a timespec or an item list.
86291         (timespec, items): New nonterminals.
86292         (time, rel, relunit, number, get_date):
86293         Add support for fractional seconds.
86294         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
86295         (gmtime, localtime, mktime): Remove decls; not needed with C89.
86296         (to_hour): First arg is now long int, not int.
86297         (to_year): Returns long int, not int.
86298         Don't treat year -70 like 70.
86299         (tm_diff): Returns long int, not int.
86300         (lookup_word): Use bool instead of int when appropriate.
86301         (yylex): Use size_t for count, not int.
86302         Detect overflow when parsing large integer constants.
86303         Add support for fractions.
86304         (get_date): Make pointers 'const' if possible.
86305         Use more-portable code to detect integer overflow.
86306         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
86307         Don't use ctime; it's not reliable if the year has >4 digits.
86308
86309         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
86310         This is for compatibility with BSD.
86311
86312         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
86313         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
86314         From coreutils' system.h.
86315
86316         * lib/userspec.c: Don't include "posixver.h".
86317         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
86318         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
86319         compatible extension.  Simplify code by removing a boolean int
86320         that was always nonzero if a string was nonnull.
86321
86322 2004-03-30  Jim Meyering  <jim@meyering.net>
86323
86324         Merge from coreutils.
86325
86326         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
86327         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
86328         on some systems one must include <grp.h> before it.
86329         Reported by Christian Krackowizer.
86330
86331 2004-03-30  Jim Meyering  <jim@meyering.net>
86332
86333         Merge from coreutils.
86334
86335         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
86336
86337         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
86338         an empty input stream.
86339
86340         * lib/readtokens.c: Include <stdbool.h>.
86341         (readtoken): Use `size_t' rather than int/long.
86342         All callers adjusted.
86343         Use `bool' rather than `int' where appropriate.
86344         Use memset rather than an explicit loop.
86345         Use x2nrealloc rather than xrealloc.
86346         Allow the use of `\0' as a delimiter.
86347         (readtokens): Likewise.
86348         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
86349
86350 2004-03-30  Jim Meyering  <jim@meyering.net>
86351
86352         * m4/realloc.m4: Remove file, since now it does no more than
86353         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
86354         the `configure.ac' section of module/realloc.
86355         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
86356
86357 2004-03-30  Bruno Haible  <bruno@clisp.org>
86358
86359         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
86360         nonnull.
86361
86362 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86363
86364         Merge changes to getloadavg.c from coreutils and Emacs.
86365
86366         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
86367         Define to an expression, not to the empty string.
86368         Include cloexec.h and xalloc.h.
86369         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
86370         Use set_cloexec_flag rather than rolling our own.
86371         * lib/cloexec.c, lib/cloexec.h: New files.
86372
86373 2004-03-29  Paul Eggert  <eggert@twinsun.com>
86374
86375         * m4/cloexec.m4: New file.
86376
86377 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86378
86379         * lib/getopt.h: Sync with libc CVS.
86380
86381 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86382             Bruno Haible  <bruno@clisp.org>
86383
86384         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
86385         mbswidth.
86386
86387 2004-03-18  Paul Eggert  <eggert@twinsun.com>
86388             Bruno Haible  <bruno@clisp.org>
86389
86390         * lib/mbswidth.h: Include <wchar.h> only if
86391         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
86392         <wchar.h>.
86393         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
86394
86395 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86396
86397         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
86398         Sync with libc CVS.
86399         * lib/getopt_int.h: New file, also synced from libc.
86400
86401 2004-03-09  Paul Eggert  <eggert@twinsun.com>
86402
86403         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
86404         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
86405         Bring back getopt.c, getopt.h, getopt1.c.
86406
86407 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86408
86409         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
86410         All uses changed.  Check for sa_sigaction member; this fixes
86411         a bug first reported by Jason Andrade in
86412         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86413
86414 2004-03-07  Paul Eggert  <eggert@twinsun.com>
86415
86416         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
86417         '#if' expressions.  Unlike the code it replaces, it does not
86418         depend on (defined _SC_PAGESIZE).  However, it does depend on
86419         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
86420         first reported by Jason Andrade in
86421         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
86422
86423 2004-02-25  Simon Josefsson  <jas@extundo.com>
86424
86425         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
86426
86427 2004-02-25  Simon Josefsson  <jas@extundo.com>
86428
86429         * lib/strdup.h: New file.
86430         * lib/strdup.c: Include it.
86431         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
86432         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
86433
86434 2004-02-23  Karl Berry  <karl@gnu.org>
86435
86436         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
86437         (from fencepost.gnu.org:/gd/gnuorg).
86438
86439 2004-02-23  Karl Berry  <karl@gnu.org>
86440
86441         * config/srclistvars.sh (GNUORG) [karl]: redefine.
86442         * config/srclist.txt: add maintain/standards documents.
86443
86444 2004-02-18  Bruno Haible  <bruno@clisp.org>
86445
86446         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
86447         Reported by Derek Robert Price <derek@ximbiot.com>.
86448
86449 2004-02-16  Karl Berry  <karl@gnu.org>
86450
86451         * config/mkinstalldirs, install-sh: update from automake.
86452
86453 2004-02-06  Karl Berry  <karl@gnu.org>
86454
86455         * m4/po.m4: update from gettext 0.14.1.
86456
86457 2004-02-06  Karl Berry  <karl@gnu.org>
86458
86459         * lib/config.charset: update from gettext 0.14.1.
86460
86461 2004-02-05  Paul Eggert  <eggert@twinsun.com>
86462
86463         Add comments and code, prompted by suggestions from Bruno Haible
86464         for sh-quote.
86465         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
86466         describing the enum quoting_style values.
86467         * lib/quotearg.c (quotearg_alloc): New function.
86468         (quotearg_buffer_restyled): Treat lone { and } as special.
86469         Treat = as special.  Work around bug with older shells
86470         that "see" a '\' that is really the 2nd byte of a multibyte char.
86471         Quote empty string with shell_quoting_style.
86472
86473 2004-02-03  Bruno Haible  <bruno@clisp.org>
86474
86475         * m4/pipe.m4: New file, from GNU gettext.
86476
86477 2004-02-03  Bruno Haible  <bruno@clisp.org>
86478
86479         * lib/pipe.h: New file, from GNU gettext.
86480         * lib/pipe.c: New file, from GNU gettext.
86481
86482 2004-01-27  Bruno Haible  <bruno@clisp.org>
86483
86484         * m4/execute.m4: New file, from GNU gettext.
86485
86486 2004-01-27  Bruno Haible  <bruno@clisp.org>
86487
86488         * lib/execute.h: New file, from GNU gettext.
86489         * lib/execute.c: New file, from GNU gettext.
86490         * lib/w32spawn.h: New file, from GNU gettext.
86491
86492 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86493
86494         Merge from diffutils.
86495
86496         * lib/file-type.c (file_type): Add typed memory objects.
86497         * lib/file-type.h (S_TYPEISTMO): New macro.
86498
86499         * lib/c-stack.h (c_stack_action): Remove argv argument.
86500         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
86501         (die): Don't calculate message unless segv_action returns.
86502         (get_stack_location, min_address_from_argv, max_address_from_argv,
86503         volatile stack_base, volatile_stack_size): Remove.
86504         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
86505         that every segmentation violation is a stack overflow.  (Ouch!)
86506         See Debian bug 136249 (still outstanding) for more info about why
86507         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
86508
86509 2004-01-24  Paul Eggert  <eggert@twinsun.com>
86510
86511         Exit-status fix from coreutils.
86512
86513         Use exit_failure consistently in place of EXIT_FAILURE,
86514         so that program exit statuses are consistent on failure.
86515
86516         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
86517         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
86518         * lib/argmatch.h: Comment fix to match the above.
86519         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
86520         Now a macro referring to exit_failure, instead of a separate
86521         variable.  Include "exitfail.h" to get it.
86522         * lib/xstrtol.h: Include "exitfail.h".
86523         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
86524
86525         * lib/long-options.c (parse_long_options): Use prototype
86526         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
86527         for clarity.
86528
86529 2004-01-21  Jim Meyering  <jim@meyering.net>
86530
86531         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
86532         so as not to conflict with a different-sized __mktime_internal
86533         function in GNU libc.
86534         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
86535         Problem building statically-linked `ls' reported by Michael Brunnbauer.
86536
86537 2004-01-20  Karl Berry  <karl@gnu.org>
86538
86539         * config/config.guess: update from config.
86540
86541         * config/srclistvars.sh: GNUWWWLICENSES for karl.
86542
86543 2004-01-20  Bruno Haible  <bruno@clisp.org>
86544
86545         Safer stack allocation.
86546         * lib/setenv.c: Include allocsa.h.
86547         (alloca): Remove fallback definition.
86548         (freea): Remove macro.
86549         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
86550         instead of freea.
86551
86552 2004-01-20  Bruno Haible  <bruno@clisp.org>
86553
86554         * m4/eealloc.m4: New file, from GNU gettext.
86555
86556 2004-01-20  Bruno Haible  <bruno@clisp.org>
86557
86558         * m4/allocsa.m4: New file, from GNU gettext.
86559
86560 2004-01-20  Bruno Haible  <bruno@clisp.org>
86561
86562         * lib/xallocsa.h: New file, from GNU gettext.
86563         * lib/xallocsa.c: New file, from GNU gettext.
86564
86565 2004-01-20  Bruno Haible  <bruno@clisp.org>
86566
86567         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
86568
86569 2004-01-20  Bruno Haible  <bruno@clisp.org>
86570
86571         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
86572         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
86573         specially.
86574
86575 2004-01-20  Bruno Haible  <bruno@clisp.org>
86576
86577         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
86578         patch.
86579
86580 2004-01-20  Bruno Haible  <bruno@clisp.org>
86581
86582         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
86583
86584 2004-01-20  Bruno Haible  <bruno@clisp.org>
86585
86586         * lib/eealloc.h: New file.
86587
86588 2004-01-20  Bruno Haible  <bruno@clisp.org>
86589
86590         * lib/binary-io.h: Avoid warnings on Cygwin.
86591
86592 2004-01-20  Bruno Haible  <bruno@clisp.org>
86593
86594         * lib/allocsa.h: New file, from GNU gettext.
86595         * lib/allocsa.c: New file, from GNU gettext.
86596
86597 2004-01-18  Karl Berry  <karl@gnu.org>
86598
86599         * doc/gpl.texi, doc/lgpl.texi: new files.
86600
86601 2004-01-18  Karl Berry  <karl@gnu.org>
86602
86603         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
86604         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
86605
86606 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86607
86608         Merge from coreutils.
86609
86610         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
86611         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
86612         (gl_DEFAULT_POSIX2_VERSION): Move
86613         the documentation from 'configure' into 'config.hin',
86614         so that 'configure --help' isn't burdened by it and
86615         we don't have to worry about its formatting there.
86616         Reword the documentation so that it's more succinct
86617         and can be run together into a single paragraph.
86618         * m4/same.m4 (gl_SAME): Check for pathconf.
86619
86620 2004-01-15  Paul Eggert  <eggert@twinsun.com>
86621
86622         Merge from coreutils.
86623
86624         * lib/posixver.c: Include posixver.h.
86625
86626         * lib/same.c: Include <stdbool.h>, <limits.h>.
86627         (_POSIX_NAME_MAX): Define if not defined.
86628         (MIN): New macro.
86629         (same_name): If file names are silently truncated, report
86630         that the file names are the same if they are the same after
86631         the silent truncation.
86632
86633         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
86634         conversion function.
86635         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
86636         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
86637         longer needed.
86638
86639 2004-01-15  Jim Meyering  <jim@meyering.net>
86640
86641         Merge from coreutils.
86642
86643         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
86644         if no library is required.
86645         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
86646         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
86647         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
86648         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
86649         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
86650         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
86651         value, $ac_cv_search_crypt, if it's "none required".
86652         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
86653         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
86654         not gl_FUNC_GETLOADAVG.
86655         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
86656         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
86657
86658 2004-01-15  Jim Meyering  <jim@meyering.net>
86659
86660         Merge from coreutils.
86661
86662         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
86663         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
86664         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
86665
86666         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
86667         optional configure-time default.
86668
86669         * lib/version-etc.c (version_etc_copyright): Update copyright date.
86670
86671         * lib/xreadlink.c (xreadlink): Correct outdated comment.
86672
86673 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
86674
86675         Merge from coreutils.
86676
86677         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
86678         value, $ac_cv_search_nanosleep, if it's "none required".
86679
86680 2004-01-14  Paul Eggert  <eggert@twinsun.com>
86681
86682         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
86683         with like-named macro in fnmatch.c.
86684         (EXT): Use an internal constant instead.
86685
86686         Merge fnmatch patches from glibc.
86687         * lib/fnmatch.c (mbsinit): Remove define.
86688         Add libc_hidden_ver (__fnmatch, fnmatch).
86689         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
86690         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
86691
86692 2004-01-14  Karl Berry  <karl@gnu.org>
86693
86694         * config/install-sh: update from automake.
86695
86696 2004-01-13  Karl Berry  <karl@gnu.org>
86697
86698         * config/install-sh: update from automake.
86699
86700 2004-01-09  Karl Berry  <karl@gnu.org>
86701
86702         * config/install-sh: update from automake.
86703
86704 2004-01-05  Karl Berry  <karl@gnu.org>
86705
86706         * config/config.{sub,guess}: update from config.
86707
86708 2003-12-31  Karl Berry  <karl@gnu.org>
86709
86710         * config/depcomp: update from automake.
86711
86712 2003-12-14  Karl Berry  <karl@gnu.org>
86713
86714         * lib/config.charset: update from gettext-runtime.
86715
86716 2003-12-03  Paul Eggert  <eggert@twinsun.com>
86717
86718         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
86719         Bug reported by Alfred M. Szmidt.
86720
86721 2003-12-03  Bruno Haible  <bruno@clisp.org>
86722
86723         * m4/gettext.m4: Upgrade from gettext-0.13.
86724         * m4/po.m4: Upgrade from gettext-0.13.
86725         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
86726         * m4/intmax.m4: New file, from gettext-0.13.
86727         * m4/printf-posix.m4: New file, from gettext-0.13.
86728
86729 2003-11-29  Karl Berry  <karl@gnu.org>
86730
86731         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
86732
86733 2003-11-25  Paul Eggert  <eggert@twinsun.com>
86734             Bruno Haible  <bruno@clisp.org>
86735
86736         * lib/printf-parse.h: Don't include sys/types.h.
86737         (ARG_NONE): New macro.
86738         (char_directive): Change type of *arg_index fields to size_t.
86739         * lib/printf-parse.c: Don't include sys/types.h.
86740         (SSIZE_MAX): Remove macro.
86741         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
86742         Remove unnecessary overflow check.
86743         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
86744         fields.
86745
86746 2003-11-25  Bruno Haible  <bruno@clisp.org>
86747
86748         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
86749
86750 2003-11-25  Bruno Haible  <bruno@clisp.org>
86751
86752         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
86753         gt_TYPE_SSIZE_T.
86754
86755 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86756
86757         * modules/alloca: Remove dependency on xalloc.
86758
86759 2003-11-24  Paul Eggert  <eggert@twinsun.com>
86760
86761         * lib/alloca.c: Remove dependency on xalloc module.
86762         (xalloc_die): Remove.
86763         (memory_full) [!defined emacs]: New macro.
86764         [!defined emacs]: Don't include xalloc.h.
86765         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
86766         address arithmetic overflows.  Change datatypes a bit to avoid
86767         unnecessary casts.
86768
86769 2003-11-22  Jim Meyering  <jim@meyering.net>
86770
86771         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
86772         s/size/size_t/.
86773
86774 2003-11-21  Karl Berry  <karl@gnu.org>
86775
86776         * config/config.{sub,guess}: update from config.
86777
86778 2003-11-18  Karl Berry  <karl@gnu.org>
86779
86780         * config/config.{sub,guess}: update from config.
86781
86782         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
86783
86784 2003-11-17  Paul Eggert  <eggert@twinsun.com>
86785
86786         * README: Mention that S+T cannot overflow if S is the size of
86787         an existing object and T is sufficiently small.
86788
86789 2003-11-17  Jim Meyering  <jim@meyering.net>
86790
86791         On systems without utime and without a utimes function capable of
86792         dealing with a NULL struct utimbuf* argument, this utime replacement
86793         could -- in unusual circumstances -- leak a file descriptor.
86794         * lib/utime.c: Include <unistd.h> and <errno.h>.
86795         (utime_null): Be sure to close `fd' and to preserve errno.
86796         Reported by Geoff Collyer via Arnold Robbins.
86797
86798 2003-11-17  Bruno Haible  <bruno@clisp.org>
86799
86800         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
86801         (Depends-on): Add xsize.
86802
86803 2003-11-17  Bruno Haible  <bruno@clisp.org>
86804
86805         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
86806
86807 2003-11-17  Bruno Haible  <bruno@clisp.org>
86808
86809         * lib/vasnprintf.c (alloca): Remove fallback definition.
86810         (freea): Remove definition.
86811         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
86812         Reported by Paul Eggert.
86813
86814 2003-11-16  Paul Eggert  <eggert@twinsun.com>
86815             Bruno Haible  <bruno@clisp.org>
86816
86817         Protect against address arithmetic overflow.
86818         * lib/printf-args.h: Include stddef.h.
86819         (arguments): Change type of field 'count' to size_t.
86820         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
86821         'unsigned int' where appropriate.
86822         * lib/printf-parse.h: Include sys/types.h.
86823         (char_directive): Change type of *arg_index fields to ssize_t.
86824         (char_directives): Change type of fields 'count', max_*_length to
86825         size_t.
86826         * lib/printf-parse.c: Include sys/types.h and xsize.h.
86827         (SSIZE_MAX): Define fallback value.
86828         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
86829         instead of 'int' where appropriate. Check a_allocated, d_allocated
86830         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
86831         * lib/vasnprintf.c: Include xsize.h.
86832         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
86833         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
86834         overflow. Avoid wraparound when converting a width or precision from
86835         decimal to binary.
86836
86837 2003-11-16  Bruno Haible  <bruno@clisp.org>
86838
86839         Update from GNU gettext.
86840         * lib/printf-parse.c: Generalize to it can be compiled for wide
86841         strings.
86842         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
86843         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
86844         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
86845         SNPRINTF): New macros.
86846         Don't include <alloca.h> if the file is used inside libintl.
86847         (local_wcslen): New function, for Solaris 2.5.1.
86848         (VASNPRINTF): Use it instead of wcslen.
86849
86850 2003-11-16  Bruno Haible  <bruno@clisp.org>
86851
86852         * lib/xsize.h (xmax): New function.
86853         (xsum, xsum3, xsum4): Declare as "pure" functions.
86854
86855 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86856
86857         * modules/xalloc (Files): Undo latest change, since xalloc.h
86858         no longer needs SIZE_MAX or PTRDIFF_MAX.
86859
86860 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86861
86862         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
86863         gl_PTRDIFF_MAX.
86864
86865 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86866
86867         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
86868         "return", to pacify some unknown compiler.  Problem reported
86869         by Joerg Schilling.
86870
86871 2003-11-12  Paul Eggert  <eggert@twinsun.com>
86872
86873         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
86874         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
86875         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
86876         heuristic is just as accurate as far as we know, and it removes a
86877         dependency on size_max.m4 and ptrdiff_max.m4.
86878
86879 2003-11-11  Bruno Haible  <bruno@clisp.org>
86880
86881         * modules/xsize (Files): Add m4/size_max.m4.
86882         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
86883
86884 2003-11-11  Bruno Haible  <bruno@clisp.org>
86885
86886         * m4/size_max.m4: New file.
86887         * m4/ptrdiff_max.m4: New file.
86888         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
86889         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
86890         (gl_XALLOC): Invoke it.
86891
86892 2003-11-11  Bruno Haible  <bruno@clisp.org>
86893
86894         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
86895         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
86896         defined.
86897
86898 2003-11-10  Paul Eggert  <eggert@twinsun.com>
86899
86900         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
86901         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
86902         rejected some allocations of exactly SIZE_MAX - 2 bytes.
86903         From Bruno Haible.
86904         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
86905         not (size_t) -1, since it's defined here.
86906
86907 2003-11-09  Karl Berry  <karl@gnu.org>
86908
86909         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
86910
86911 2003-11-06  Paul Eggert  <eggert@twinsun.com>
86912
86913         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
86914         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
86915         Reject sizes of exactly SIZE_MAX bytes.
86916         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
86917         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
86918
86919 2003-11-05  Bruno Haible  <bruno@clisp.org>
86920
86921         * lib/xsize.h: Include limits.h, to avoid a possible collision with
86922         SIZE_MAX defined in <limits.h> on Solaris.
86923
86924 2003-11-04  Jim Meyering  <jim@meyering.net>
86925
86926         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
86927         variable names, rather than @VAR@.
86928         * modules/poll: Likewise.
86929
86930 2003-11-04  Bruno Haible  <bruno@clisp.org>
86931
86932         * modules/xsize: New file.
86933         * modules/linebreak: Depend on xsize.
86934         * MODULES.html.sh (func_all_modules): Add xsize.
86935
86936 2003-11-04  Bruno Haible  <bruno@clisp.org>
86937
86938         * m4/xsize.m4: New file.
86939
86940 2003-11-04  Bruno Haible  <bruno@clisp.org>
86941
86942         * lib/xsize.h: New file.
86943         * lib/linebreak.c: Include xsize.h.
86944         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
86945         argument for overflow.
86946         Suggested by Paul Eggert.
86947
86948 2003-11-03  Karl Berry  <karl@gnu.org>
86949
86950         * config/config.{guess,sub}: update from config.
86951
86952 2003-11-03  Jim Meyering  <jim@meyering.net>
86953
86954         * modules/userspec (lib_SOURCES): Add userspec.h.
86955         (Include): Add "userspec.h".
86956         Improve description.
86957
86958 2003-11-03  Jim Meyering  <jim@meyering.net>
86959
86960         * lib/userspec.c: Include "userspec.h".
86961         * lib/userspec.h: New file.
86962
86963 2003-11-03  Bruno Haible  <bruno@clisp.org>
86964
86965         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
86966
86967 2003-11-03  Bruno Haible  <bruno@clisp.org>
86968
86969         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
86970         available, to avoid (extremely rare) race condition.
86971         Suggested by Paul Eggert.
86972
86973 2003-11-02  Karl Berry  <karl@gnu.org>
86974
86975         * config/srclist.txt (vasprintf.c): sync broken, sigh.
86976
86977 2003-10-31  Paul Eggert  <eggert@twinsun.com>
86978
86979         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
86980         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
86981         (read_filesystem_list): Set and use me_type_malloced.
86982         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
86983         whatever the type happens to be), for brevity and consistency.
86984         Check for size calculation overflow on Alphas running OSF/1.
86985
86986 2003-10-31  Jim Meyering  <jim@meyering.net>
86987
86988         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
86989
86990         * lib/linebuffer.c: Include <string.h> for declaration of memset.
86991
86992 2003-10-30  Paul Eggert  <eggert@twinsun.com>
86993             Bruno Haible  <bruno@clisp.org>
86994
86995         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
86996         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
86997
86998 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
86999
87000         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
87001         netbsd*-gnu*.  Suggested by Robert Millan.
87002
87003 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87004
87005         * modules/group-member: Depend on stdbool.
87006
87007 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87008
87009         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
87010
87011 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87012
87013         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
87014         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
87015         after the 'gnu' in these cases.  This fixes some bugs in the
87016         previous change, and is based on suggestions by Robert Millan.
87017
87018 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87019
87020         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
87021         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
87022         no longer needed.
87023         * lib/quotearg.c (quotearg_n_options): Use it.
87024         * lib/group-member.c: Include <stdbool.h>.
87025         (free_group_info): Arg is now const *; don't free arg.
87026         (get_group_info): Now returns bool and accepts struct group_info *,
87027         rather than returning a malloc'ed struct group_info *.
87028         All uses changed.  Check for overflow in internal size calculation.
87029
87030         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
87031         rather than xmalloc/xrealloc.
87032         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
87033         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
87034         conformance bug: the old code used a pointer after freeing the
87035         storage that it addressed.
87036         * lib/hash.c (hash_initialize): Simplify the code by using
87037         xalloc_oversized rather than doing it by hand.
87038         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
87039         the buffer preserved.  Use free and xmalloc instead.
87040         * lib/quotearg.c (quotearg_n_options): Likewise.
87041         Use a simpler test for size overflow.  Don't use xalloc_oversized
87042         because unsigned int might be wider than size_t (!); this suggests
87043         that we should switch from unsigned int to size_t for slot numbers.
87044
87045 2003-10-28  Paul Eggert  <eggert@twinsun.com>
87046
87047         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
87048         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
87049         NetBSD kernels.  Requested by Richard Stallman.
87050
87051 2003-10-27  Paul Eggert  <eggert@twinsun.com>
87052
87053         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
87054         to allocate the returned structure.  Do not allocate a subarray,
87055         as x2nrealloc will do that.
87056         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
87057         instead of xnrealloc.
87058         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
87059
87060 2003-10-27  Bruno Haible  <bruno@clisp.org>
87061
87062         * lib/stdbool_.h: Better support for BeOS.
87063
87064 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87065
87066         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
87067         now uses inline.
87068
87069 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87070
87071         * lib/xalloc.h (xalloc_oversized): New static inline function, for
87072         callers that want to do their own size-overflow checking.  Include
87073         <stdbool.h>, since xalloc_oversized returns bool.
87074         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
87075         to use xalloc_oversized.
87076
87077         Add two functions x2realloc, x2nrealloc, for programs that grow
87078         arrays dynamically by doubling their sizes.
87079         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
87080         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
87081         New functions.
87082
87083         Port to C99 semantics for 'inline' of external functions.
87084         Bug reported by Bruno Haible.
87085         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
87086         with the old contents of xnmalloc.
87087         (xnmalloc, xmalloc): Use it.
87088         (xnrealloc_inline): New static inline function,
87089         with the old contents of xnrealloc.
87090         (xnrealloc, xrealloc): Use it.
87091
87092         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
87093         that.
87094
87095 2003-10-26  Karl Berry  <karl@gnu.org>
87096
87097         * config/srclist.txt (COPYING.DOC): no longer available from
87098         /gd/gnuorg; don't know where the ultimate source is.
87099
87100 2003-10-25  Paul Eggert  <eggert@twinsun.com>
87101
87102         Fix several address-calculation bugs in the hash modules,
87103         plus some minor code cleanup.
87104
87105         * lib/hash.h: Include <stdbool.h>, for bool.
87106         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
87107         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
87108         hash_get_n_entries, hash_get_max_bucket_length,
87109         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
87110         hash_rehash): Use size_t rather than unsigned.
87111         * lib/hash.c (struct hash_table, hash_get_n_buckets,
87112         hash_get_n_buckets_used, hash_get_n_entries,
87113         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
87114         hash_get_entries, hash_do_for_each, hash_string, is_prime,
87115         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
87116         Likewise.
87117         (SIZE_MAX): Define if not defined.
87118         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
87119         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
87120         hash_print):
87121         Use const * when possible.
87122         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
87123         (check_tuning): Fix bug: if tuning parameters were very close to
87124         0 or 1, rounding errors could have caused subscript violations.
87125         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
87126         (hash_initialize): Add 'fail:' label
87127         to free table and return NULL, and use it to simplify code.
87128         Use calloc rather than clearing the storage ourself.
87129         (hash_initialize, hash_rehash): Check for arithmetic overflow in
87130         buffer size calculations.
87131         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
87132         Include <stddef.h>, for size_t.
87133         * lib/hash-pjw.c (hash_pjw): Likewise.
87134         Switch to method described by Bruno Haible.
87135         Include <limits.h>, for CHAR_BIT.
87136         (SIZE_BITS): New macro.
87137
87138 2003-10-23  Paul Eggert  <eggert@twinsun.com>
87139
87140         * m4/getline.m4 (AM_FUNC_GETLINE):
87141         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
87142         hosts.  Problem reported by Derek Robert Price in
87143         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
87144         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
87145         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
87146
87147 2003-10-21  Paul Eggert  <eggert@twinsun.com>
87148
87149         * lib/getndelim2.c (getndelim2): When size calculation overflows,
87150         ceiling the allocation at NMAX bytes rather than silently
87151         discarding input bytes before NMAX is reached.  This makes
87152         a difference only if NMAX exceeds SIZE_MAX / 2.
87153
87154         * lib/obstack.c: Merge from glibc.
87155         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
87156         Add libc_hidden_def (_obstack_newchunk).
87157         (_obstack_free) [! defined _LIBC]: Remove.
87158         [defined _LIBC]: Make a strong alias from obstack_free, rather than
87159         a clone of the function body.
87160         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
87161         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
87162
87163         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
87164         glibc.
87165         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
87166         arg to memcpy.
87167
87168         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
87169         (obstack_ptr_grow_fast, obstack_int_grow_fast):
87170         Don't use lvalue casts, as GCC plans to remove support for them
87171         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
87172         was also present in the non-GCC version, indicating that this
87173         code had always been buggy and had never been widely used.
87174         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
87175         Use the fast variant of each macro, rather than copying the
87176         definiens of the fast variant; that way, we'll be more likely to
87177         catch future bugs in the fast variants.
87178
87179 2003-10-20  Bruno Haible  <bruno@clisp.org>
87180
87181         * modules/wait-process: New file.
87182         * MODULES.html.sh (func_all_modules): Add wait-process.
87183
87184 2003-10-20  Bruno Haible  <bruno@clisp.org>
87185
87186         * m4/wait-process.m4: New file.
87187
87188 2003-10-20  Bruno Haible  <bruno@clisp.org>
87189
87190         * lib/wait-process.h: New file, from GNU gettext.
87191         * lib/wait-process.c: New file, from GNU gettext.
87192
87193 2003-10-19  Jim Meyering  <jim@meyering.net>
87194
87195         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
87196         HPUX 10.20.
87197
87198 2003-10-18  Karl Berry  <karl@gnu.org>
87199
87200         * config/config.guess: update from config.
87201
87202 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87203
87204         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
87205         (getgroups): First arg is int, not size_t.
87206         Don't let 'free' mangle errno.
87207
87208 2003-10-16  Paul Eggert  <eggert@twinsun.com>
87209
87210         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
87211
87212 2003-10-16  Karl Berry  <karl@gnu.org>
87213
87214         * config/config.{guess,sub}: update from config.
87215
87216 2003-10-16  Jim Meyering  <jim@meyering.net>
87217
87218         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
87219         memcpy.
87220
87221 2003-10-15  Paul Eggert  <eggert@twinsun.com>
87222
87223         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
87224         (SIZE_MAX): Remove.
87225         (new_exclude, add_exclude_file): Initial size no longer needs to
87226         be a power of 2.
87227         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
87228         our own address arithmetic overflow checking.
87229
87230         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
87231         (fnmatch): Do not alloca more than 2000 wide characters;
87232         instead, use malloc for large buffers.
87233         Check for address arithmetic overflow, and return -1
87234         with errno set to ENOMEM in that case.
87235         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
87236         (NEW_PATTERN): Do not alloca more than 8000 bytes;
87237         instead, return -1.  Check for address arithmetic overflow.
87238
87239 2003-10-14  Paul Eggert  <eggert@twinsun.com>
87240
87241         Handle invalid suffixes and overflow independently, so that
87242         callers can treat them independently as needed.  Fix some bugs in
87243         suffix handling, e.g., "100k@" was not diagnosed as an invalid
87244         suffix for a human-readable blocksize.  The major caller-visible
87245         change is the addition of a new
87246         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
87247         that both overflow and suffix chars were found.
87248
87249         * lib/human.c (humblock): Don't check separately for invalid suffix
87250         char; that is xstrtoumax's job (now that its bug is fixed).
87251         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
87252         INTMAX_MAX]: New macros.
87253         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
87254         TYPE_MAXIMUM): New macros.
87255         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
87256         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
87257         if overflow occurs, as it's what __strtol does and it's more useful
87258         in practice.
87259         (__xstrtol): If __strtol reports some error other than ERANGE,
87260         reflect it to the caller as LONGINT_INVALID.  If it reports
87261         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
87262         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
87263         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
87264         value.
87265         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
87266         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
87267         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
87268         [defined UINTMAX_MAX]: New macros.
87269
87270 2003-10-14  Bruno Haible  <bruno@clisp.org>
87271
87272         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
87273
87274 2003-10-14  Bruno Haible  <bruno@clisp.org>
87275
87276         * m4/sig_atomic_t: New file, from GNU gettext.
87277         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
87278
87279 2003-10-14  Bruno Haible  <bruno@clisp.org>
87280
87281         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
87282         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
87283         Also use volatile where needed.
87284
87285 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87286
87287         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
87288         Change maintainer from Bruno Haible to 'all'.
87289
87290 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87291
87292         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
87293
87294 2003-10-12  Paul Eggert  <eggert@twinsun.com>
87295
87296         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
87297         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
87298         and define in terms of the other primitives.
87299         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
87300         (SIZE_MAX): Define if not already defined.
87301         (array_size_overflow): New function.
87302         (xalloc_die): Abort instead of exiting if 'error' returns.
87303         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
87304         (xmalloc, xrealloc): Use them.
87305         (xcalloc): Check for address arithmetic overflow.
87306         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
87307         a bit faster than strcpy.
87308
87309 2003-10-10  Simon Josefsson  <jas@extundo.com>
87310
87311         * modules/argp (Depends-on): Add restrict and strcase.
87312
87313 2003-10-10  Simon Josefsson  <jas@extundo.com>
87314
87315         * m4/argp.m4: Add AC_C_INLINE.
87316
87317 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87318
87319         Merge getpass from libc, plus a few fixes.
87320
87321         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
87322         Include <stdbool.h>.
87323         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
87324         __fsetlocking to empty.
87325         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
87326         do include <bits/libc-lock.h>.
87327         Do not include <fcntl.h>; not needed.
87328         [_LIBC]: Include <wchar.h>.
87329         (NOTCANCEL_MODE): New macro.
87330         (flockfile, funlockfile) [_LIBC]: New macros.
87331         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
87332         [!_LIBC]: New macros.
87333         (call_fclose): New function.
87334         (getpass): Use it.  Save tty stream separately; this simplifies the
87335         code and makes it more reliable if stdin happens to equal stdout.
87336         Invoke __fsetlocking on tty.
87337         Handle thread cancellation if needed.
87338         Namespace cleanup (use __tcgetattr, __getline).
87339         Use bool for Booleans.
87340         [USE_IN_LIBIO]: Handle wide streams.
87341         [!_LIBC]: Unconditionally do the fseek, since we don't know what
87342         stream might go where.
87343
87344         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
87345         doesn't have to include <stdio.h> before us.
87346         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
87347         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
87348         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
87349         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
87350         if not declared, so that we can use getpass.c code from libc without
87351         rewriting it.
87352         (flockfile, ftrylockfile, funlockfile): New macros.
87353
87354 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87355
87356         * modules/getpass: Depend on stdbool.
87357
87358 2003-10-08  Paul Eggert  <eggert@twinsun.com>
87359
87360         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
87361
87362 2003-10-07  Karl Berry  <karl@gnu.org>
87363
87364         * config/config.{guess,sub}: update from config.
87365
87366 2003-10-06  Jim Meyering  <jim@meyering.net>
87367             Bruno Haible  <bruno@clisp.org>
87368
87369         This lets translators provide better translations for the
87370         "Written by ..." part of --version output.
87371         * lib/version-etc.h: Include stdarg.h.
87372         (version_etc_copyright): Declare as readonly.
87373         (version_etc): Make this function variadic with a NULL-terminated list
87374         of author name strings.
87375         (version_etc_va): New declaration.
87376         * lib/version-etc.c: Include stdarg.h, stdlib.h.
87377         (version_etc_copyright): Declare as readonly.
87378         (version_etc_va): New function. Provide a different translatable string
87379         for each possible number of authors < 10. Abbreviate when there are 10
87380         authors or more.
87381         (version_etc): Make this function variadic. Call version_etc_va.
87382         Suggestion from Gary V. Vaughan.
87383
87384         * lib/long-options.h (parse_long_options): Change prototype: the
87385         authors string is moved to the end and becomes variadic.
87386         * lib/long-options.c: Include stdarg.h.
87387         (parse_long_options): Make this function variadic, too.
87388         Call version_etc_va, not version_etc.
87389
87390 2003-10-06  Bruno Haible  <bruno@clisp.org>
87391
87392         * modules/version-etc-2: Remove file.
87393         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
87394
87395 2003-10-06  Bruno Haible  <bruno@clisp.org>
87396
87397         * modules/fatal-signal: New file.
87398         * MODULES.html.sh (func_all_modules): Add fatal-signal.
87399
87400 2003-10-06  Bruno Haible  <bruno@clisp.org>
87401
87402         * m4/fatal-signal.m4: New file.
87403         * m4/signalblocking.m4: New file, from GNU gettext.
87404
87405 2003-10-06  Bruno Haible  <bruno@clisp.org>
87406
87407         * lib/version-etc-2.h: Remove file.
87408         * lib/version-etc-2.c: Remove file.
87409
87410 2003-10-06  Bruno Haible  <bruno@clisp.org>
87411
87412         * lib/fatal-signal.h: New file, from GNU gettext.
87413         * lib/fatal-signal.c: New file, from GNU gettext.
87414
87415 2003-10-05  Paul Eggert  <eggert@twinsun.com>
87416
87417         * README: Rework advice for preventing empty .o files.
87418         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
87419         not <sys/types.h>.
87420
87421 2003-10-04  Karl Berry  <karl@gnu.org>
87422
87423         * lib/argp*: update from libc.
87424
87425 2003-10-04  Karl Berry  <karl@gnu.org>
87426
87427         * config/config.{guess,sub}: update from config.
87428
87429 2003-10-02  Bruno Haible  <bruno@clisp.org>
87430
87431         * modules/lchown (Include): Add lchown.h.
87432         * modules/time_r (Include): Use "..." syntax.
87433         * modules/xgetdomainname (Include): Add xgetdomainname.h.
87434
87435 2003-10-01  Simon Josefsson  <jas@extundo.com>
87436
87437         * MODULES.html.sh (func_all_modules): Move gethostname from section
87438         'based on' to section 'lacking' POSIX:2001.
87439
87440 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
87441
87442         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
87443         to output mode on the same stream.
87444
87445 2003-09-29  Paul Eggert  <eggert@twinsun.com>
87446
87447         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
87448         Fix arg typo in previous patch.
87449
87450 2003-09-28  Jim Meyering  <jim@meyering.net>
87451
87452         * lib/error.c: Correct cpp indentation.
87453
87454 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87455
87456         * modules/free: New file.
87457
87458 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87459
87460         * m4/free.m4: New file.
87461
87462 2003-09-27  Paul Eggert  <eggert@twinsun.com>
87463
87464         * lib/minmax.h (MIN, MAX)
87465         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
87466         Omit the special code that used __typeof__, since we worry that
87467         it could be more trouble than it's worth.  See:
87468         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
87469         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
87470
87471         * lib/free.c: New file.
87472
87473 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
87474
87475         Trivial fixes to Makefile.am parts of module listings.
87476         * modules/strstr: Append strstr.h to lib_SOURCES.
87477         * modules/strcase: Likewise, for strcase.h.
87478
87479 2003-09-27  Karl Berry  <karl@gnu.org>
87480
87481         * config/mkinstalldirs: update from automake.
87482
87483 2003-09-26  Paul Eggert  <eggert@twinsun.com>
87484
87485         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
87486         (error_tail): Do not loop, reallocating temporary buffer, since
87487         the output cannot contain more wide characters than the input
87488         contains bytes, the size must be big enough already.  This avoids
87489         one potential size overflow calculation.  Check for size overflow
87490         when calculating temporary buffer size.  Free temporary buffer
87491         when done, if it was allocated with malloc; this plugs a memory
87492         leak.  Remove casts from void * to pointers, that are no longer
87493         needed now that we're assuming C89 or better.
87494
87495         Merge error changes from glibc.
87496
87497         * lib/error.c, error.h: Update copyright notice header to match glibc.
87498         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
87499         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
87500         Disable cancellation while printing error.
87501         * lib/error.h: Prepend __ to parameter names.
87502
87503 2003-09-26  Jim Meyering  <jim@meyering.net>
87504
87505         * lib/error.c (error_tail): Move some declarations
87506         into inner scope where the local variables are used.
87507
87508 2003-09-26  Bruno Haible  <bruno@clisp.org>
87509
87510         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
87511         stpncpy().
87512         Don't define stpncpy through config.h; it's now done through stpncpy.h.
87513
87514 2003-09-26  Bruno Haible  <bruno@clisp.org>
87515
87516         * lib/stpncpy.h (gnu_stpncpy): New declaration.
87517         (stpncpy): Define as alias for gnu_stpncpy.
87518         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
87519
87520 2003-09-25  Simon Josefsson  <jas@extundo.com>
87521
87522         * lib/xgetdomainname.h: New file.
87523         * lib/xgetdomainname.c: New file.
87524
87525 2003-09-25  Simon Josefsson  <jas@extundo.com>
87526             Bruno Haible  <bruno@clisp.org>
87527
87528         * modules/getdomainname: New file.
87529         * modules/xgetdomainname: New file.
87530         * MODULES.html.sh (func_all_modules): Add getdomainname,
87531         xgetdomainname.
87532
87533 2003-09-25  Simon Josefsson  <jas@extundo.com>
87534             Bruno Haible  <bruno@clisp.org>
87535
87536         * m4/getdomainname.m4: New file.
87537
87538 2003-09-25  Simon Josefsson  <jas@extundo.com>
87539             Bruno Haible  <bruno@clisp.org>
87540
87541         * lib/getdomainname.h: New file.
87542         * lib/getdomainname.c: New file.
87543
87544 2003-09-25  Karl Berry  <karl@gnu.org>
87545
87546         * lib/argp-fmtstream.c, argp-help.c: update from libc.
87547
87548 2003-09-25  Karl Berry  <karl@gnu.org>
87549
87550         * config/install-sh: update from automake.
87551
87552 2003-09-25  Bruno Haible  <bruno@clisp.org>
87553
87554         * modules/version-etc-2: New file, from modules/version-etc with
87555         modifications.
87556         * MODULES.html.sh (func_all_modules): Add version-etc-2.
87557
87558 2003-09-25  Bruno Haible  <bruno@clisp.org>
87559
87560         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
87561         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
87562
87563 2003-09-24  Simon Josefsson  <jas@extundo.com>
87564
87565         * modules/xgethostname: Add xgethostname.h.
87566
87567 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87568
87569         * lib/linebuffer.c (freebuffer): Don't free the argument, just
87570         the buffer associated with the argument.  Bug reported by
87571         Simon Josefsson.
87572
87573 2003-09-24  Paul Eggert  <eggert@twinsun.com>
87574
87575         * README: Document assumptions that 'int' is at least 32 bits
87576         wide, that integer arithmetic is 2's complement without overflow,
87577         that there are no holes in integer values, that adding sizes of
87578         two nonoverlapping objects can't overflow, and that all-bits-zero
87579         yields scalar zero.  Fix spelling and capitalization typos.
87580
87581 2003-09-19  Karl Berry  <karl@gnu.org>
87582
87583         * lib/argp.h: update from libc.
87584
87585 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87586
87587         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
87588         to avoid spurious warnings like "AC_RUN_IFELSE was called before
87589         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
87590
87591 2003-09-17  Paul Eggert  <eggert@twinsun.com>
87592
87593         * gnulib-tool: Use "test -h", not "test -L", for portability
87594         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
87595         (tags_regexp): Remove, since \| doesn't conform to POSIX.
87596         (sed_extract_prog): Issue s commands one-by-one, rather than
87597         using \| in one s command.
87598
87599 2003-09-16  Paul Eggert  <eggert@twinsun.com>
87600
87601         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
87602         input error, instead of returning NULL the next time we are called
87603         (and therefore losing track of errno).
87604
87605 2003-09-16  Bruno Haible  <bruno@clisp.org>
87606
87607         * gnulib-tool (func_create_testdir): Warn about duplicated
87608         dependencies.
87609
87610 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87611
87612         * modules/argmatch, modules/fatal, modules/obstack,
87613         modules/xalloc, modules/xgethostname: Sort dependencies by
87614         importance, not alphabetically.
87615
87616 2003-09-15  Paul Eggert  <eggert@twinsun.com>
87617
87618         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
87619         fails, so that the caller gets the proper errno.
87620
87621         * lib/readutmp.c (read_utmp): Likewise.
87622         Check for fstat error.  Close stream and free storage
87623         when failing.
87624
87625 2003-09-14  Karl Berry  <karl@gnu.org>
87626
87627         * config/srclist.txt (strdup.c): disable for c89 changes.
87628
87629 2003-09-14  Jim Meyering  <jim@meyering.net>
87630
87631         * lib/getloadavg.c: Correct cpp indentation.
87632         * lib/strdup.c: Likewise.
87633         * lib/vasnprintf.c: Likewise.
87634
87635 2003-09-14  Bruno Haible  <bruno@clisp.org>
87636
87637         * modules/fwriteerror: New file.
87638         * MODULES.html.sh (func_all_modules): Add fwriteerror.
87639
87640 2003-09-14  Bruno Haible  <bruno@clisp.org>
87641
87642         * lib/fwriteerror.h: New file.
87643         * lib/fwriteerror.c: New file.
87644
87645 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87646
87647         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
87648         modules/xgethostname, modules/xalloc: Depend on exit.
87649
87650 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87651
87652         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
87653
87654         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
87655         and AC_MINIX, too, so that their extensions are available.
87656
87657         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
87658         This macro has been superseded by gl_BACKUPFILE.
87659
87660         More patches to assume C89 or better.
87661
87662         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
87663
87664         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
87665         unconditionally.
87666         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
87667         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
87668         Include <string.h>, <stdlib.h> unconditionally.
87669         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
87670         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
87671         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
87672         headers or for string.h.
87673         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
87674         or strtoul.
87675
87676         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
87677         headers.
87678         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
87679         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87680         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
87681         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
87682         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87683         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
87684         memcpy, memset.
87685         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
87686         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
87687         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
87688         strtol.
87689         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
87690         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
87691         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
87692         strtoul.
87693
87694 2003-09-12  Paul Eggert  <eggert@twinsun.com>
87695
87696         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
87697         * lib/obstack.c [!defined _LIBC]: Likewise.
87698         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
87699         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
87700         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
87701
87702         More changes to assume C89 or better.
87703
87704         * lib/error.c (error_tail): Assume vprintf.
87705
87706         * lib/argmatch.c (getenv): Remove decl.
87707         * lib/progreloc.c (get_full_program_name): Define via prototype.
87708         * lib/setenv.c (clearenv): Likewise.
87709         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
87710         needed.
87711         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
87712         (malloc, memcpy): Remove decls.
87713         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
87714         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
87715         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87716         (memcpy): Remove macro.
87717         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
87718         (__P): Remove.  All uses removed.
87719         (PTR): Remove.  All uses changed to void *.
87720         (CHAR_BIT, NULL): Remove.
87721         (spaces, zeros, memset_space, memset_zero)
87722         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
87723         Remove.
87724         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
87725         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
87726         Define with prototype.
87727         Remove now-unnecessary prototype decl.
87728         (extra_args_spec): Assume ANSI C.  All uses changed.
87729         (extra_args_spec_iso): Remove.
87730         (my_strftime, emacs_strftimeu): Define via prototype.
87731         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
87732         unconditionally.
87733         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
87734         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
87735         (strtoul, strtol): Remove decls.
87736         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
87737         LONG_MAX): Remove.
87738         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
87739         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
87740         (LOCALE_PARAM_PROTO): New macro.
87741         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
87742         (INTERNAL (strtol), strtol): Define with a prototype.
87743         (PARAMS): Remove.  All uses removed.
87744         * lib/tempname.c: Include <string.h> unconditionally.
87745         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
87746         * lib/xgethostname.c (main): Define with a prototype.
87747         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
87748         Include <stdlib.h> unconditionally.
87749         (calloc, malloc, realloc, free): Remove decls.
87750         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
87751         Include <stdlib.h> unconditionally.  Sort include file names.
87752         (strtod): Remove.
87753         (xstrtod): Define with a prototype.
87754         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
87755         (strtol, strtoul): Remove decls.
87756
87757 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87758
87759         More patches to assume C89 or better.
87760         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
87761         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
87762         string.h, memchr, STDC_HEADERS.
87763
87764 2003-09-11  Paul Eggert  <eggert@twinsun.com>
87765
87766         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
87767         Include <stdlib.h>, <string.h> unconditionally.
87768         Remove now-unnecessary cast to char *.
87769         * lib/strnlen.c: Include <string.h> unconditionally.
87770         * lib/yesno.c (yesno): Define with a prototype.
87771
87772 2003-09-11  Bruno Haible  <bruno@clisp.org>
87773
87774         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
87775
87776 2003-09-10  Jim Meyering  <jim@meyering.net>
87777
87778         * lib/error.c: Correct indentation of cpp directives.
87779
87780 2003-09-10  Bruno Haible  <bruno@clisp.org>
87781
87782         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
87783         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
87784         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
87785         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
87786         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
87787         <stdlib.h> and <string.h> checks.
87788         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
87789         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
87790
87791 2003-09-10  Bruno Haible  <bruno@clisp.org>
87792
87793         * lib/strcspn.c: Include <string.h> unconditionally.
87794         * lib/strpbrk.c: Include <string.h> unconditionally.
87795         * lib/strstr.c: Include <string.h> unconditionally.
87796         * lib/unicodeio.c: Include <string.h> unconditionally.
87797         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
87798         * lib/unsetenv.c: Likewise.
87799         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
87800         * lib/yesno.c: Include <stdlib.h> unconditionally.
87801         (rpmatch): Add prototype.
87802
87803 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87804
87805         More patches to assume C89 or better.
87806         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
87807         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
87808         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
87809         or for string.h.
87810         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
87811         stdlib.h.
87812         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
87813         C headers.
87814         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
87815         string.h.
87816         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
87817         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
87818         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
87819         or for string.h.
87820         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
87821         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
87822         C headers.
87823         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
87824         memcpy.
87825         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
87826         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
87827         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
87828         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
87829         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
87830         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
87831         string.h, free.
87832         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
87833         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
87834         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
87835         C headers, or for string.h.
87836         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
87837         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
87838         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
87839         headers, memory.h, stdlib.h, string.h, strings.h.
87840         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
87841         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
87842         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
87843         strchr.
87844         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
87845         headers, memory.h, string.h.
87846         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
87847         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
87848         free.
87849         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
87850         headers.
87851         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
87852         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
87853         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
87854         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
87855         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
87856
87857 2003-09-09  Paul Eggert  <eggert@twinsun.com>
87858
87859         More K&R removal.
87860
87861         * lib/acosl.c (main): Use a prototype.
87862         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
87863         tanl.c: Likewise.
87864
87865         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
87866
87867         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
87868         (getopt, etopt_long, getopt_long_only, _getopt_internal)
87869         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
87870         with a prototype.
87871         * lib/getopt.c (const): Remove macro.
87872         Include <string.h> unconditionally.
87873         (my_index): Remove; all uses changed to strchr.
87874         (strlen): Remove decl.
87875         (exchange): Remove forward decl; no longer needed.
87876         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
87877         Define with prototype.
87878         * lib/getopt1.c (const): Remove macro.
87879         (getopt_long, getopt_long_only, main): Define with prototype.
87880
87881         * lib/getugroups.c: Include <string.h> unconditionally.
87882
87883         * lib/getusershell.c: Include <stdlib.h> unconditionally.
87884         (getusershell, setusershell, endusershell, readname, main):
87885         Define with prototypes.
87886
87887         * lib/group-member.c: Include group-member.h first.
87888         Include <stdlib.h> unconditionally.
87889
87890         * lib/hard-locale.c: Include hard-locale.h first.
87891         Include <stdlib.h>, <string.h> unconditionally.
87892
87893         * lib/hash.c (free, malloc): Remove decls.
87894         Include <stdlib.h> unconditionally.
87895
87896         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
87897         (getenv): Do not declare.
87898
87899         * lib/idcache.c: Include <string.h> unconditionally.
87900
87901         * lib/long-options.c: Include long-options.h first, to test interface.
87902         Include <stdlib.h> unconditionally.
87903
87904         * lib/makepath.c: Include makepath.h first, to test interface.
87905         Include <stdlib.h> and <string.h> unconditionally.
87906
87907         * lib/linebuffer.c: Include <stdlib.h>.
87908         (free): Remove decl.
87909
87910         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
87911         stddef.h. rpl_malloc returns void *, not char *.
87912         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
87913         prototype.
87914
87915         * lib/md5.h: Include <limits.h> unconditionally.
87916         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
87917         (__P): Remove; all uses removed.
87918         * lib/md5.c: Include "md5.h" first.
87919         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
87920         md5_buffer, md5_process_bytes, md5_process_block):
87921         Define with prototypes.
87922         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
87923         * lib/sha.c: Include "sha.h" first.
87924         Include <stdlib.h>, <string.h> unconditionally.
87925
87926         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
87927         * lib/memcmp.c (__ptr_t): Likewise.
87928         * lib/memrchr.c (__ptr_t): Likewise.
87929         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
87930         Include <string.h> unconditionally.
87931         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
87932         * lib/memchr.c: Include <stdlib.h> unconditionally.
87933         * lib/memchr.c (LONG_MAX): Remove.
87934         * lib/memrchr.c (LONG_MAX): Likewise.
87935         * lib/memchr.c (__memchr): Define via a prototype.
87936         * lib/memrchr.c (__memrchr): Likewise.
87937         * lib/memcmp.c (__P): Remove, and remove all uses.
87938         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
87939         Remove forward decls; no longer needed.
87940         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
87941         Use types required by C89 in prototype.
87942
87943         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
87944         * lib/savedir.c: Likewise.
87945         * lib/mkdir.c (free): Remove decl.
87946         * lib/rmdir.c (rmdir): Define with a prototype.
87947         * lib/savedir.c: Include savedir.h first, to test interface.
87948
87949         * lib/mktime.c (STDC_HEADERS): Remove.
87950         Include <stdlib.h>, <string.h> unconditionally.
87951
87952         * lib/modechange.c: Include <stdlib.h> unconditionally.
87953         (malloc): Remove decl.
87954
87955         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
87956         (free): Remove decl.
87957
87958         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
87959         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
87960         (This type really should be intptr_t, but that's a C99ism.)
87961         (_obstack_memcpy): Remove: all uses changed to memcpy.
87962         Include <string.h> unconditionally.
87963         (struct obstack): Assume __STDC__ for types of members
87964         chunkfun, freefun, extra_arg.
87965         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
87966         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
87967         obstack_begin, obstack_specify_allocation,
87968         obstack_specify_allocation_with_arg, obstack_chunkfun,
87969         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
87970         Remove unprototyped decls and the macros that use them.
87971         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
87972         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
87973         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
87974         (defined __STDC__ && __STDC__)]:
87975         Remove nonprototyped code.
87976         Include <stdlib.h> unconditionally.
87977         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
87978         _obstack_allocated_p, _obstack_free, obstack_free,
87979         _obstack_memory_used, print_and_abort):
87980         Define using prototypes.
87981         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
87982         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
87983         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
87984         obstack_next_free, obstack_object_size, obstack_room) [0]:
87985         Remove unused, unprototyped code.
87986
87987         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
87988
87989         * lib/physmem.c (physmem_total, physmem_available, main): Define
87990         with prototypes.
87991
87992         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
87993         (main): Define with a prototype.
87994
87995         * lib/posixver.c (getenv): Remove decl.
87996
87997         * lib/putenv.c (malloc): Returns void *, not char *.
87998         Include <string.h> unconditionally.
87999         (strchr, memcpy, NULL): Do not define.
88000
88001         * lib/readtokens.c: Include readtokens.h first, to test interface.
88002         Include <stdlib.h>, <string.h> unconditionally.
88003         (init_tokenbuffer): Define with a prototype.
88004
88005         * lib/regex.c (PARAMS): Remove.  All uses removed.
88006         All uses of _RE_ARGS removed, too.
88007         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88008         unconditionally.
88009         (bzero): Assume memset exists.
88010         (memcmp, memcpy, NULL): Remove.
88011         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
88012         char, or assignments to local vars of type signed char.
88013         (init_syntax_once, PREFIX(extract_number_and_incr),
88014         PREFIX(print_partial_compiled_pattern),
88015         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
88016         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
88017         PREFIX(regex_grow_registers), PREFIX(regex_compile),
88018         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
88019         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
88020         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
88021         wcs_compile_range, byte_compile_range, truncate_wchar,
88022         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
88023         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
88024         count_mbs_length, wcs_re_match_2_internal,
88025         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
88026         PREFIX(alt_match_null_string_p),
88027         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
88028         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
88029         regfree, PREFIX(extract_number)): Define with prototype.  Remove
88030         now-unnecessary declaration, if any.
88031         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
88032         regcomp, regexec):
88033         Remove now-unnecessary casts among pointer types.
88034         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
88035
88036         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
88037         (free): Remove decl.
88038
88039         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
88040
88041         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
88042         (free): Remove decl.
88043
88044         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
88045         * lib/xgetcwd.c: Likewise.
88046
88047         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
88048         (free): Remove decl.
88049
88050         * lib/strchrnul.c (strchrnul): Define with a prototype.
88051         Fix bug: c_in was not converted to char before searching.
88052
88053         The following changes are not K&R related:
88054
88055         * lib/group-member.h: Include <sys/types.h>, so that this file is
88056         self-contained.
88057         * lib/makepath.h: Likewise.
88058
88059         * lib/getusershell.c (readname, default_index, line_size, readname):
88060         Use size_t, not int, for sizes.
88061         (readname): If the size overflows, report an error instead of
88062         looping forever.
88063
88064 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88065
88066         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
88067         libc.
88068
88069 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88070
88071         * README: New section: portability guidelines.
88072
88073 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88074
88075         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
88076         C89 spec.
88077
88078 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88079
88080         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
88081
88082 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88083
88084         Assume C89 or better; remove K&R cruft.
88085         A few of these changes were first proposed by Derek Robert Price
88086         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
88087
88088         * lib/addext.c: Include <string.h> unconditionally.
88089         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
88090         Don't declare getenv or malloc.
88091
88092         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
88093         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
88094         (NULL): Remove.
88095         (find_stack_direction, alloca): Use prototypes.
88096
88097         * lib/atexit.c (atexit): Define using a prototype.
88098
88099         * lib/basename.c, dirname.c, stripslash.c:
88100         Include <string.h> unconditionally.
88101
88102         * lib/bcopy.c: Include <stddef.h>.
88103         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
88104
88105         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
88106
88107         * lib/error.h (error, error_at_line, error_print_progname)
88108         [! (defined (__STDC__) && __STDC__)]: Remove decls.
88109         * lib/error.c: Include error.h first, to check interface.
88110         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88111         (VA_START): Remove; all uses changeed to va_start.
88112         (exit, strerror): Remove decls.
88113         (error_print_progname): Prototype uncondionally.
88114         Don't include <errno.h>; no longer needed.
88115         (private_strerror): Remove.
88116         (error_tail): Always define.
88117         (error, error_at_line): Assume C89 or better; always use prototypes.
88118         * lib/fatal.c: Include "fatal.h" first, to test interface.
88119         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88120         (VA_START): Remove; all uses changed to va_start.
88121         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
88122         this case.
88123         (exit): Remove decl.
88124         (fatal): Prototype unconditionally.  Assume va_start works.
88125         Abort at end, to pacify gcc.
88126
88127         * lib/euidaccess.c (main): Define with a prototype.
88128
88129         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
88130
88131         * lib/exitfail.c: Include <stdlib.h> unconditionally.
88132
88133         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
88134         prototypes.
88135         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
88136         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
88137         (getenv): Remove decl.
88138         (fnmatch): Define using a prototype.
88139         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
88140         (FCT): Define using a prototype.
88141
88142         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
88143
88144         * lib/gethostname.c: Include <stddef.h>.
88145         (gethostname): Define with prototype.  Length is size_t, not int.
88146
88147 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88148
88149         Assume C89 or better; remove K&R cruft.
88150         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
88151         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
88152         string.h, getenv, malloc.
88153         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
88154         headers.
88155         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
88156         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
88157         do not check for strerror.
88158         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
88159         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
88160         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
88161         do not check for doprnt or vprintf.
88162         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
88163         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
88164
88165 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88166
88167         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
88168         getversion.c should have been removed then, but was accidentally
88169         preserved.
88170
88171         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
88172         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
88173
88174 2003-09-08  Karl Berry  <karl@gnu.org>
88175
88176         * config/config.sub, config.guess, srclistvars.sh: update from savannah
88177                 config, forget about prep.
88178
88179         * config/depcomp, missing: update from automake.
88180
88181 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88182
88183         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
88184         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88185
88186 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88187
88188         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
88189         copy_tm_result.  Bug reported by Simon Josefsson in
88190         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88191
88192 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88193
88194         * m4/time_r.m4: New file.
88195         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
88196         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
88197         is. Check for timegm declaration.
88198         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
88199         Do not check for gmtime_r.
88200         Replace mktime if __mktime_internal does not exist and if mktime
88201         hasn't been replaced already.
88202
88203 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88204
88205         * lib/time_r.c, lib/time_r.h: New files.
88206
88207         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
88208         __localtime_r.
88209         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
88210         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
88211
88212         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
88213         __gmtime_r.
88214         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
88215         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
88216         Include <time_r.h>.
88217
88218         * lib/timegm.c: Switch to glibc implementation, with the following
88219         changes:
88220         [defined HAVE_CONFIG_H]: Include <config.h>.
88221         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
88222         (__mktime_internal) [!defined _LIBC]: New decl.
88223         (__gmtime_r) [!defined _LIBC]: New macro and function.
88224         (timegm): Use a prototype, since gnulib assumes C89.
88225         Do not bother declaring tmp to be const, as it's not really usefu.
88226         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
88227         (timegm): Declare only if HAVE_DECL_TIMEGM.
88228
88229 2003-09-06  Paul Eggert  <eggert@twinsun.com>
88230
88231         * MODULES.html.sh (func_all_modules): Add time_r.
88232         * modules/time_r: New file.
88233         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
88234         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
88235
88236 2003-09-03  Paul Eggert  <eggert@twinsun.com>
88237
88238         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
88239         Bug reported by Lute Kamstra in
88240         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
88241
88242         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
88243         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
88244         course with correspondingly smaller numbers for tomorrow and
88245         yesterday.  From Tadayoshi Funaba.  Originally installed into
88246         sh-utils on 1999-08-07, but the patch got lost (I guess during the
88247         coreutils merge?).
88248
88249 2003-08-31  Simon Josefsson  <jas@extundo.com>
88250
88251         * modules/timegm: New file.
88252         * MODULES.html.sh (func_all_modules): Add timegm.
88253
88254 2003-08-31  Simon Josefsson  <jas@extundo.com>
88255
88256         * m4/timegm.m4: New file.
88257
88258 2003-08-31  Simon Josefsson  <jas@extundo.com>
88259
88260         * lib/timegm.h: New file.
88261         * lib/timegm.c: New file.  Based on
88262         wget-1.8.2/src/http.c:mktime_from_utc.
88263
88264 2003-08-31  Karl Berry  <karl@gnu.org>
88265
88266         * lib/argp.h: update from libc.
88267
88268 2003-08-28  Bruno Haible  <bruno@clisp.org>
88269
88270         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
88271         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
88272         followed by '#define fnmatch fnmatch_posix' gives an error.
88273
88274 2003-08-28  Bruno Haible  <bruno@clisp.org>
88275
88276         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
88277         warning on QNX, which defines O_BINARY to 000000.
88278
88279 2003-08-27  Jim Meyering  <jim@meyering.net>
88280
88281         * m4/mkstemp.m4: Require that the system mkstemp be able to create
88282         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
88283         would fail after 32.  Reported by Danny Levinson.  Details here:
88284         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
88285
88286 2003-08-24  Bruno Haible  <bruno@clisp.org>
88287
88288         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
88289         MSVC7 <stdio.h> is included later.
88290
88291 2003-08-22  Simon Josefsson  <jas@extundo.com>
88292
88293         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
88294
88295 2003-08-20  Karl Berry  <karl@gnu.org>
88296
88297         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
88298
88299 2003-08-20  Bruno Haible  <bruno@clisp.org>
88300
88301         * modules/progname: New file.
88302         * MODULES.html.sh (func_all_modules): Add progname.
88303
88304 2003-08-20  Bruno Haible  <bruno@clisp.org>
88305
88306         * lib/progname.h: New file, from GNU gettext.
88307         * lib/progname.c: New file, from GNU gettext.
88308         * lib/progreloc.c: New file, from GNU gettext.
88309
88310 2003-08-19  Jim Meyering  <jim@meyering.net>
88311
88312         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
88313         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
88314
88315 2003-08-19  Bruno Haible  <bruno@clisp.org>
88316
88317         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
88318         more.
88319
88320 2003-08-19  Bruno Haible  <bruno@clisp.org>
88321
88322         * lib/xstrdup.c: Assume <string.h> exists.
88323
88324 2003-08-18  Paul Eggert  <eggert@twinsun.com>
88325
88326         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
88327         in makefile rules.
88328
88329 2003-08-18  Jim Meyering  <jim@meyering.net>
88330
88331         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
88332         * m4/lib-ld.m4: Likewise.
88333
88334 2003-08-18  Jim Meyering  <jim@meyering.net>
88335
88336         * lib/setenv.h: Indent nested cpp directive.
88337         * lib/vasnprintf.c: Remove trailing blanks.
88338
88339 2003-08-17  Simon Josefsson  <jas@extundo.com>
88340
88341         * modules/xstrndup: New file.
88342         * MODULES.html.sh (func_all_modules): Add xstrndup.
88343
88344 2003-08-17  Simon Josefsson  <jas@extundo.com>
88345
88346         * modules/argp: Fix autoconf macro name. Add more dependencies.
88347
88348 2003-08-17  Simon Josefsson  <jas@extundo.com>
88349
88350         * m4/xstrndup.m4: New file.
88351
88352 2003-08-17  Simon Josefsson  <jas@extundo.com>
88353
88354         * m4/argp.m4: New file.
88355
88356 2003-08-17  Simon Josefsson  <jas@extundo.com>
88357             Bruno Haible  <bruno@clisp.org>
88358
88359         * lib/xstrndup.h: New file.
88360         * lib/xstrndup.c: New file.
88361
88362 2003-08-17  Bruno Haible  <bruno@clisp.org>
88363
88364         * modules/strndup (Files, Include): Add lib/strndup.h.
88365
88366 2003-08-17  Bruno Haible  <bruno@clisp.org>
88367
88368         * modules/euidaccess (Files): Add lib/euidaccess.h.
88369
88370 2003-08-17  Bruno Haible  <bruno@clisp.org>
88371
88372         * lib/strndup.h: New file.
88373
88374 2003-08-17  Bruno Haible  <bruno@clisp.org>
88375
88376         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
88377         like AC_GNU_SOURCE.
88378         * modules/extensions (configure.ac): Comment out the invocation of
88379         gl_USE_SYSTEM_EXTENSIONS.
88380
88381 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88382
88383         Merges from coreutils, etc.
88384         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
88385         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
88386         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
88387         fixing a typo.
88388         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
88389         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
88390
88391 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88392
88393         Document merge from coreutils.
88394         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
88395         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
88396         * modules/utime: Add m4/utimes-null.m4.
88397
88398 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88399
88400         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
88401         space, undoing this 2003-08-12 change:
88402         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88403
88404 2003-08-16  Paul Eggert  <eggert@twinsun.com>
88405
88406         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
88407         strtoul.c from libc, undoing this 2003-08-12 change:
88408         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
88409
88410 2003-08-16  Jim Meyering  <jim@meyering.net>
88411
88412         Merges from coreutils.
88413         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
88414         prefix.  Adjust cache variables similarly.  Create 500 rather than
88415         just 300 files, to exercise bug on Darwin6.5, too.
88416         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
88417         $missing_dir.
88418         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
88419         AM_SYS_POSIX_TERMIOS.
88420         Reported by mkc@mathdogs.com.
88421         Also change use of $am_cv_sys_posix_termios
88422         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
88423         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
88424         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
88425         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
88426         in /proc/mounts until it finds one with matching device number.  This
88427         is unnecessary when the FILE argument *is* a mount point.  No stat call
88428         is necessary in that case.  So, disable the statvfs-testing code on
88429         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
88430         as RedHat bug# 84846.
88431         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88432         to 1MB, so as not to render systems with no stack size limit (e.g.,
88433         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88434         Include <unistd.h>.  On some systems,
88435         it is required for the definition of _SC_PAGESIZE.
88436
88437 2003-08-16  Jim Meyering  <jim@meyering.net>
88438
88439         Merge from coreutils.
88440         * lib/xstrtoimax.c: #else #if -> #elif.
88441         * lib/xstrtoumax.c: Likewise.
88442
88443 2003-08-16  Jim Meyering  <jim@meyering.net>
88444
88445         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
88446         * m4/utimes.m4: Removed.
88447         * m4/utimes-null.m4: Renamed from utimes.m4.
88448
88449         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
88450         to 1MB, so as not to render systems with no stack size limit (e.g.,
88451         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
88452         Include <unistd.h>.  On some systems,
88453         it is required for the definition of _SC_PAGESIZE.
88454
88455 2003-08-16  Jim Meyering  <jim@meyering.net>
88456         and Paul Eggert  <eggert@cs.ucla.edu>
88457
88458         Merges from coreutils, etc.
88459
88460         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
88461         using the latest version from cvs.  This avoids problems with #line
88462         directives using a vendor (Sun) compiler.
88463         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
88464         Don't set GETGROUPS_LIB here; now it's
88465         done via getgroups.m4's wrapper function.
88466         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
88467         rather than just in sh-util/configure.in, so that the
88468         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
88469         same.
88470         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
88471         AC_FUNC_GETLOADAVG where to find getloadavg.c.
88472         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
88473         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
88474         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
88475         Remove code that is now done by the newly-required macros.
88476         Append $(EXEEXT) to DF_PROG.
88477         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
88478         Do not invoke or require the following here,
88479         since prereq.m4 or some gnulib .m4 now does this for us:
88480         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
88481         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
88482         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
88483         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
88484         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
88485         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
88486         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
88487         AC_FUNC_OBSTACK.
88488         Do not replace the following functions, as this is now the job
88489         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
88490         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
88491         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
88492         atexit getpass, strdup, getpagesize.
88493         Replace 'raise'.
88494         Do not check for the following functions, as this is now the job
88495         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
88496         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
88497         setregid.
88498         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
88499         Check for sys/sysctl.h.
88500         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
88501         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
88502         of checking for ssize_t ourselves.
88503
88504         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
88505         Require every macro that gnulib/modules/* suggests for us.
88506         (jm_PREREQ_ADDEXT): New macro.
88507         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
88508         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
88509
88510         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
88511         (gl_PHYSMEM): Use it.
88512         Also check for `table' function.
88513         Check for new headers and functions.
88514         Add check for sys/sysmp.h.
88515         With suggestions from Kaveh Ghazi.
88516         Ignore headers that are present but cannot be compiled.  This
88517         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
88518         C 5.4.
88519
88520 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88521
88522         Document merge from coreutils.
88523         * modules/userspec: Depend on posixver.
88524         * modules/strftime: Depend on tzset.
88525
88526 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88527
88528         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
88529         rather than tab, after '#' in shell-script copyright notices.
88530         Suggested by Bruno Haible.
88531
88532 2003-08-15  Paul Eggert  <eggert@twinsun.com>
88533
88534         * config/srclist-update: Use three spaces, rather than tab, after '#'
88535         in shell-script copyright notices.  Suggested by Bruno Haible.
88536         Remove unnecessary parenthesization in regular expression.
88537
88538 2003-08-15  Jim Meyering  <jim@meyering.net>
88539
88540         Merge from coreutils.
88541         * lib/xgethostname.c: Include <stdlib.h>.
88542         (xghostname): Don't exit for anything other than memory-related
88543         failure; just return NULL.
88544         * lib/userspec.c: Include "posixver.h".
88545         (parse_user_spec): Accept `.' as a separator only
88546         in pre-POSIX-200112 mode.
88547         * lib/strtoimax.c: Use #elif rather than #else #if.
88548         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
88549         Remove function, now that we can rely on a working tzset function.
88550         [!_LIBC]: Ensure that the required autoconf test has been run.
88551         [!defined _NL_CURRENT && HAVE_STRFTIME]:
88552         Use underlying_strftime for %r.
88553         * lib/sha.c: Merge in some clean-up and optimization changes from
88554         glibc.
88555         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
88556         Ensure that it is a multiple of 64.
88557         Rearrange loop exit tests so as to avoid performing an
88558         additional fread after encountering an error or EOF.
88559         * lib/realloc.c: Update copyright date.
88560
88561 2003-08-15  Jim Meyering  <jim@meyering.net>
88562         and Paul Eggert  <eggert@twinsun.com>
88563
88564         Merge from coreutils.
88565         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
88566         member but strut utmpx does not.  Needed for AIX 4.3.3.
88567         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
88568
88569 2003-08-15  Jim Meyering  <jim@meyering.net>
88570         and Paul Eggert  <eggert@cs.ucla.edu>
88571
88572         Merges from coreutils, etc.
88573         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
88574         Require gl_FUNC_TZSET_CLOBBER.
88575         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
88576         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
88577         members.
88578
88579 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88580
88581         Help the merge from coreutils.
88582         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
88583         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
88584         * m4/tzset.m4: Use it too.
88585
88586 2003-08-14  Paul Eggert  <eggert@twinsun.com>
88587
88588         * modules/tzset: New file.
88589
88590 2003-08-14  Jim Meyering  <jim@meyering.net>
88591
88592         Merges from coreutils.
88593         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
88594         variable names, rather than @FNMATCH_H@.
88595         * modules/alloca: Likewise for $(ALLOCA_H).
88596
88597         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
88598         the three copies of the literal target, `fnmatch.h'.
88599         * modules/alloca (alloca.h): Likewise.
88600
88601 2003-08-14  Jim Meyering  <jim@meyering.net>
88602
88603         Merge from coreutils.
88604         * m4/tzset.m4: New file.
88605         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
88606         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
88607         otherwise, AIX 5.1 systems would end up using the latter.
88608         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
88609         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
88610         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
88611         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
88612
88613 2003-08-14  Jim Meyering  <jim@meyering.net>
88614
88615         Merge from coreutils.
88616         * lib/obstack.h: Whitespace changes.
88617         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
88618         and xcalloc return values.
88619         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
88620         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
88621         hang on OSF/1 5.1 for DIR on both local and remote file systems.
88622         Reported by (and fix confirmed by) Nelson H. F. Beebe.
88623         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88624         error from mntctl.
88625         Use mntctl's return value to drive the entry-processing loop, since
88626         we can't rely on the value of the vmt_length member in the last
88627         entry.  On some systems doing so could result in exhausting
88628         virtual memory.  Based in part on a patch from Mike Jetzer.
88629
88630 2003-08-14  Jim Meyering  <jim@meyering.net>
88631         and Paul Eggert  <eggert@twinsun.com>
88632
88633         Merges from coreutils, plus other fixes.
88634         * lib/physmem.c: Merge in portability changes from gcc/libiberty
88635         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
88636         for credits and details.  Thanks to Kaveh Ghazi for helping
88637         to keep these files in sync.
88638         (ARRAY_SIZE): Define it.
88639         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
88640         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
88641         (memcasecmp): Don't assume size_t fits in unsigned int.
88642         Remove casts and duplicate code.
88643         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
88644         (memcpy): Remove definition.
88645         Merge in some clean-up and optimization changes from glibc.
88646         [BLOCKSIZE]: Move definition to top of file.
88647         Ensure that it is a multiple of 64.
88648         Rearrange loop exit tests so as to avoid performing an
88649         additional fread after encountering an error or EOF.
88650         * lib/md5.h (md5_uintptr): Define.
88651         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
88652         return to the initial working directory.  Preserve errno
88653         for caller.
88654         * lib/idcache.c: Include "xalloc.h".
88655         (xmalloc, xrealloc): Remove decls.
88656         (getuser): Remove casts no longer required in C89.
88657         * lib/human.c: Include stdio.h, for sprintf.
88658         * lib/group-member.c: Include "xalloc.h".
88659         (xmalloc, xrealloc): Remove decls.
88660         (get_group_info): Remove casts no longer required in C89.
88661         * lib/getusershell.c (readname): Remove casts no longer required in
88662         C89.
88663         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
88664         * lib/getline.c: Whitespace fix, from coreutils.
88665
88666 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88667
88668         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
88669         Check for isascii.
88670
88671         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88672         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88673         Undo previous (whitespace-only) change.
88674
88675 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88676
88677         * lib/exclude.c: Include <ctype.h>
88678         (IN_CTYPE_DOMAIN): New macro.
88679         (is_space): New fn.
88680         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
88681         and empty lines.
88682
88683         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88684         Undo previous (whitespace-only) change.
88685
88686 2003-08-13  Paul Eggert  <eggert@twinsun.com>
88687
88688         * config/srclist-update: Change update back to the old behavior,
88689         leaving whitespace alone.  Use one 'sed' command rather than a
88690         pipeline.
88691         (fixlicense): Now a variable, not a function.
88692         (remove_trailing_blanks): Remove.
88693         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
88694         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88695         Undo previous (whitespace-only) change.
88696
88697 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88698
88699         Merge from coreutils.
88700         * modules/euidaccess: Add lib_SOURCES, include for new
88701         file euidaccess.h
88702
88703 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88704
88705         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
88706         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
88707         Normalize leading white space and remove trailing white space.
88708
88709         Merge from coreutils
88710         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
88711
88712         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
88713         0.12.1.  These files are now being upgraded automatically by
88714         ../config/srclist-update.
88715
88716 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88717
88718         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
88719         Normalize leading white space and remove trailing white space.
88720         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
88721         notice, as per ../config/srclist-update.
88722
88723         Merge from coreutils.
88724         * lib/euidaccess.h: New file.
88725         * lib/euidaccess.c: Include it.
88726         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
88727         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
88728         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
88729
88730 2003-08-12  Paul Eggert  <eggert@twinsun.com>
88731
88732         * config/srclist-update: Add copyright notice.
88733         (remove_id_lines, remove_trailing_blanks): New constants.
88734         (fixfile): Use them to normalize spacing a bit in copied files.
88735         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
88736         Normalize leading white space and remove trailing white space.
88737
88738         * config/texinfo.tex: Sync with texinfo.
88739
88740         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
88741         strtoul.c from libc, to merge coreutils whitespace changes.
88742
88743         * config/srclist.txt: Get the following m4 files from gettext:
88744         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
88745         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
88746         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
88747         wint_t.m4.
88748
88749 2003-08-12  Karl Berry  <karl@gnu.org>
88750
88751         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
88752         been made.
88753
88754 2003-08-11  Paul Eggert  <eggert@twinsun.com>
88755
88756         * modules/gnu-source, m4/gnu-source.m4:
88757         Remove; we're assuming Autoconf 2.54 or later now.
88758         Suggested by Bruno Haible.
88759         * MODULES.html.sh (func_all_modules): Remove gnu-source.
88760
88761 2003-08-11  Bruno Haible  <bruno@clisp.org>
88762
88763         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
88764
88765 2003-08-11  Bruno Haible  <bruno@clisp.org>
88766
88767         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
88768         (vasnprintf): Use it instead of wcslen.
88769
88770 2003-08-11  Bruno Haible  <bruno@clisp.org>
88771
88772         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
88773         value to ensure that _Bool promotes to int. Use #define for _Bool when
88774         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
88775
88776 2003-08-10  Karl Berry  <karl@gnu.org>
88777
88778         * lib/regex.h: update from libc (whitespace fix).
88779
88780 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88781
88782         Merge some files from coreutils.  These changes were
88783         originally made by Jim Meyering.
88784         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
88785         many older Unixes require this.
88786         * lib/alloca.c (alloca): Remove cast to argument of free;
88787         no longer needed in C89.
88788         * lib/alloca_.h, regex.h: Fix white space to match
88789         what GNU indent does.
88790
88791 2003-08-09  Paul Eggert  <eggert@twinsun.com>
88792
88793         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
88794         apparently Emacs's Unicode mode got confused before my 2003-08-05
88795         checkin.
88796
88797 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88798
88799         * m4/extensions.m4: New file.
88800         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
88801         Require gl_USE_SYSTEM_EXTENSIONS.
88802         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
88803         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
88804
88805 2003-08-08  Paul Eggert  <eggert@twinsun.com>
88806
88807         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
88808         * modules/extensions, modules/gnu-source: New files.
88809         * modules/timespec, modules/unlocked-io: Depend on extensions.
88810
88811 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88812
88813         * modules/restrict: New file.
88814         * MODULES.html.sh (func_all_modules): Add restrict.
88815         * modules/regex: Depend on restrict.
88816
88817 2003-08-07  Paul Eggert  <eggert@twinsun.com>
88818
88819         * m4/restrict.m4: New file.
88820         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
88821
88822 2003-08-07  Bruno Haible  <bruno@clisp.org>
88823
88824         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
88825         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
88826
88827 2003-08-07  Bruno Haible  <bruno@clisp.org>
88828
88829         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
88830         makes the module 'getndelim2' compatible with the module 'getline'.
88831
88832 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88833
88834         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
88835         byte with "\201" to avoid glitches when editing that source file
88836         with multi-gnome-terminal.
88837
88838 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88839
88840         * lib/bumpalloc.h: Remove.
88841
88842 2003-08-05  Paul Eggert  <eggert@twinsun.com>
88843
88844         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
88845         * modules/bumpalloc: Remove.
88846
88847 2003-08-04  Paul Eggert  <eggert@twinsun.com>
88848
88849         * lib/getloadavg.c: Change copyright notice and spacing to conform to
88850         GNU coding style.
88851
88852         Merge from coreutils.
88853         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
88854         1. From glibc.
88855         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
88856         from Karl Berry, implemented by Jim Meyering.
88857         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
88858         from Dmitry V. Levin.
88859         Remove anachronistic cast of xrealloc.
88860         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
88861         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
88862         type. Otherwise, it wouldn't compile with at least /bin/cc on
88863         ymp-cray-unicos9.0.2.X.
88864         Combine two mostly-identical uses of alloca into one.
88865         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
88866
88867 2003-08-04  Dave Love  <d.love@dl.ac.uk>
88868
88869         [From Emacs.]
88870
88871         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
88872         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
88873         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
88874         obsolete NLIST_NAME_UNION.
88875         [__GNU__]: Undef BSD and FSCALE.
88876         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
88877
88878 2003-08-03  Paul Eggert  <eggert@twinsun.com>
88879
88880         * lib/stdbool_.h (_Bool): Make it signed char, instead of
88881         an enum type, so that it's guaranteed to promote to int.  See:
88882         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
88883
88884 2003-08-03  Karl Berry  <karl@gnu.org>
88885
88886         * config/depcomp: update from automake.
88887
88888 2003-07-31  Paul Eggert  <eggert@twinsun.com>
88889
88890         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
88891         (strerror): Don't assume that a printable int fits in 14 bytes.
88892
88893 2003-07-31  Bruno Haible  <bruno@clisp.org>
88894
88895         * modules/getpass-gnu: New file.
88896         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
88897
88898 2003-07-31  Bruno Haible  <bruno@clisp.org>
88899
88900         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
88901
88902 2003-07-24  Karl Berry  <karl@gnu.org>
88903
88904         * config/missing: update from automake.
88905
88906 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
88907             Bruno Haible  <bruno@clisp.org>
88908
88909         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
88910         * lib/getline.c (getline, getdelim): Likewise.
88911         Remove _GNU_SOURCE define; now it's defined in config.h through
88912         m4/getline.m4.
88913
88914 2003-07-23  Karl Berry  <karl@gnu.org>
88915
88916         * config/config.sub: update from prep.
88917
88918 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88919
88920         * modules/xalloc (Depends-on): Add exitfail.
88921         * modules/xmemcoll: Likewise.
88922
88923 2003-07-22  Paul Eggert  <eggert@twinsun.com>
88924
88925         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
88926         over-parenthesization in macros.
88927
88928         Sync with coreutils.
88929
88930         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
88931         required by C99.
88932
88933         Use `exit_failure' for xalloc and xmemcoll instead of their own
88934         private exit-failure variables.
88935         * lib/xalloc.h (xalloc_exit_failure): Remove.
88936         * lib/xmalloc.c: Likewise.  Include exitfail.h.
88937         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
88938         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
88939         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
88940         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
88941
88942 2003-07-20  Jim Meyering  <jim@meyering.net>
88943
88944         * modules/closeout (Depends-on): Add exitfail.
88945         Suggestion from Bruno Haible.
88946
88947 2003-07-19  Karl Berry  <karl@gnu.org>
88948
88949         * config/config.sub: update from prep.
88950
88951 2003-07-18  Paul Eggert  <eggert@twinsun.com>
88952
88953         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
88954         Remove.
88955         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
88956         to test that it can stand by itself.  Include "exitfail.h".
88957         Clients should set exit_failure instead.
88958         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
88959
88960 2003-07-18  Bruno Haible  <bruno@clisp.org>
88961
88962         * modules/getndelim2: New file.
88963         * modules/getline: Share files with module getndelim2.
88964         * modules/getnline: Depend on getndelim2 instead of sharing files with
88965         it. Add getnline.c to lib_SOURCES.
88966         * MODULES.html.sh (func_all_modules): Add getndelim2.
88967
88968 2003-07-18  Bruno Haible  <bruno@clisp.org>
88969
88970         * m4/getndelim2.m4: New file.
88971         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
88972         invoke gl_PREREQ_GETNDELIM2.
88973         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
88974         gl_PREREQ_GETNDELIM2.
88975         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
88976         gl_GETNDELIM2.
88977
88978 2003-07-18  Bruno Haible  <bruno@clisp.org>
88979
88980         * lib/getndelim2.h: New file.
88981         * lib/getndelim2.c: Make into a module of its own. Include config.h,
88982         getndelim2.h.
88983         (getndelim2): Make non-static. Change return type to ssize_t.
88984         * lib/getline.h: Change argument names.
88985         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
88986         * lib/getnline.c: Include getndelim2.h.
88987
88988 2003-07-18  Andreas Schwab  <schwab@suse.de>
88989
88990         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
88991
88992 2003-07-17  Karl Berry  <karl@gnu.org>
88993
88994         * config/config.sub: update from prep.
88995
88996 2003-07-17  Bruno Haible  <bruno@clisp.org>
88997
88998         * modules/getnline: New file.
88999         * modules/getline: Add lib/getndelim2.c to source file list.
89000         * MODULES.html.sh (func_all_modules): Add getnline.
89001
89002 2003-07-17  Bruno Haible  <bruno@clisp.org>
89003
89004         * m4/getnline.m4: New file.
89005
89006 2003-07-17  Bruno Haible  <bruno@clisp.org>
89007
89008         * m4/Makefile.am.in: Remove file.
89009         * m4/Makefile.am: Remove file.
89010         * m4/Makefile.in: Remove file.
89011
89012 2003-07-17  Bruno Haible  <bruno@clisp.org>
89013
89014         * lib/getnline.h: New file.
89015         * lib/getnline.c: New file.
89016         * lib/getndelim2.c: New file, extracted from getline.c.
89017         (getndelim2): Renamed from getdelim2, with added nmax argument.
89018         * lib/getline.c: Include getndelim2.c.
89019         (getdelim2): Moved out to getndelim2.c.
89020         (getline, getdelim): Update.
89021
89022 2003-07-17  Bruno Haible  <bruno@clisp.org>
89023
89024         * lib/Makefile.am: Remove file.
89025         * lib/Makefile.in: Remove file.
89026
89027 2003-07-17  Bruno Haible  <bruno@clisp.org>
89028
89029         * configure.in: Remove file.
89030         * Makefile.in: Remove file.
89031
89032 2003-07-17  Bruno Haible  <bruno@clisp.org>
89033
89034         * MODULES.html.sh: Put the </BODY> right before </HTML>.
89035
89036 2003-07-16  Karl Berry  <karl@gnu.org>
89037
89038         * config/srclist-update: was running fixlicense twice, which caused
89039                 texinfo.tex to be nullified for some reason.  Simplify,
89040                 $gplsrc is no longer needed as far as I can see?
89041
89042 2003-07-16  Jim Meyering  <jim@meyering.net>
89043
89044         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
89045
89046 2003-07-15  Paul Eggert  <eggert@twinsun.com>
89047
89048         * config/srclist.txt: Get the following files from gettext-runtime/intl
89049         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
89050         ref-del.sin.  From Bruno Haible.
89051         * config/srclist-update (fixfile): Change grep pattern again, since the
89052         previous fix didn't work (there was another trailing $).  Use
89053         '[$]' to escape the $s.
89054
89055 2003-07-15  Karl Berry  <karl@gnu.org>
89056
89057         * lib/vasnprintf.c: update from gettext.
89058
89059 2003-07-15  Karl Berry  <karl@gnu.org>
89060
89061         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
89062         gets expanded when surrounded by '$'.
89063
89064 2003-07-15  Jim Meyering  <jim@meyering.net>
89065
89066         * modules/save-cwd: Don't depend on error.  From Derek Price.
89067
89068 2003-07-15  Jim Meyering  <jim@meyering.net>
89069
89070         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
89071
89072 2003-07-14  Simon Josefsson  <jas@extundo.com>
89073
89074         * modules/mempcpy: New file.
89075         * MODULES.html.sh (func_all_modules): Add mempcpy.
89076
89077 2003-07-14  Simon Josefsson  <jas@extundo.com>
89078
89079         * m4/mempcpy.m4: New file.
89080
89081 2003-07-14  Simon Josefsson  <jas@extundo.com>
89082
89083         * lib/mempcpy.h: New file.
89084         * lib/mempcpy.c: New file.
89085
89086 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89087
89088         * modules/getdate, modules/posixtm: Depend on mktime.
89089
89090 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89091
89092         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
89093         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
89094         unicodeio.c, unicodeio.h, unlocked-io.h:
89095         Switch from LGPL to GPL.
89096
89097 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89098
89099         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
89100         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
89101         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
89102         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
89103         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
89104         updated automatically by ../config/srclist-update.  This changes
89105         their license from LPGL to GPL.
89106
89107 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89108
89109         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
89110         assumed to refer to the root of the most recent stable gettext version.
89111         * config/srclistvars.sh: Add defaults for eggert.
89112         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
89113         Match "This program" as well as "The program".  This is needed
89114         for gettext.
89115
89116 2003-07-14  Jim Meyering  <jim@meyering.net>
89117
89118         Don't emit diagnostics.  Let callers do that.
89119         * lib/save-cwd.c: Don't include "error.h".
89120         (save_cwd): Don't call error.  Ensure that errno is valid
89121         when returning nonzero.
89122
89123         * lib/save-cwd.h (restore_cwd): Update prototype.
89124         * lib/save-cwd.c (restore_cwd): Remove two parameters.
89125         Simplify.  Don't call error upon failure.  Let callers do that.
89126         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
89127         when auditing is enabled.  But don't bother updating the #if.
89128
89129 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
89130
89131         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
89132         it breaks C++ compilation.
89133         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
89134
89135 2003-07-10  Simon Josefsson  <jas@extundo.com>
89136
89137         * modules/strchrnul (Makefile.am): Add strchrnul.h.
89138
89139 2003-07-10  Jim Meyering  <jim@meyering.net>
89140
89141         * m4/clock_time.m4: Remove trailing blank.
89142         * m4/intmax_t.m4: Likewise.
89143
89144 2003-07-10  Jim Meyering  <jim@meyering.net>
89145
89146         * lib/vasnprintf.c: Remove trailing blanks.
89147         Make cpp indentation consistent.
89148
89149 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89150
89151         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
89152         posixver.c, strftime.c, strnlen.c, strverscmp.c:
89153         Switch from LGPL to GPL.
89154
89155 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89156
89157         * config/srclist.txt: Sort sublists.  Add
89158         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
89159         that differ from gnulib for one reason or another; we'd like this list
89160         to be smaller but for now let's document what we have.
89161
89162 2003-07-08  Paul Eggert  <eggert@twinsun.com>
89163
89164         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
89165         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
89166         and sweeter "eval x=$x".
89167         * config/srclist.txt: Get lib/argp* from glibc.
89168
89169 2003-07-07  Paul Eggert  <eggert@twinsun.com>
89170
89171         * lib/mktime.c: Fix some boundary cases and remove need for floating
89172         point.
89173
89174         Issue a compile-time diagnostic if time_t is floating point, or if
89175         two's complement arithmetic is not in effect, or if arithmetic
89176         right shift does not propagate the sign.  These assumptions were
89177         all in the original code but they weren't checked.
89178
89179         (TIME_T_MIDPOINT, verify): New macros.
89180         (__isleap): Remove; it has integer overflow problems.
89181         (leapyear): New function, without those problems.
89182         (ydhms_tm_diff): Remove; splitting into two parts.
89183         (ydhms_diff): New function, containing the arithmetic part of
89184         the old ydhms_tm_diff function.  Issue a compile-time
89185         diagnostic if we are not using C99 integer division.
89186         Avoid casts when possible.
89187         (guess_time_tm): New function, containing the checking part of
89188         the old ydhms_tm_diff function.  Return the new value, rather than
89189         the difference between it and the old.  Accept a new argument T
89190         so that *T specifies the old value.  Check for overflow in the result.
89191
89192         (__mktime_internal): Use a time_t offset, not a long int offset.
89193         This undoes the 2003-06-04 change, which is no longer needed now
89194         that we have better overflow checking.
89195         (localtime_offset): Likewise.
89196
89197         (__mktime_internal): Avoid harmful overflow on hosts where time_t
89198         and long are 64-bit but int is only 32-bit.
89199         (ydhms_diff): Use long int to store year1 and yday1.
89200         Issue a compile-time diagnostic if long int is not wide enough.
89201
89202         (__mktime_internal): Use long int to store adjusted year and yday.
89203         Use plain C rather than preprocessor commands, if that doesn't
89204         affect efficiency.
89205         Check for overflow (and try to repair) after each probe
89206         rather than checking only at the very end.  This avoids some bugs
89207         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
89208         does not equal GMT offset at maximum time).
89209         Use integer to check for overflow rather than floating point; this
89210         is more portable to non-IEEE hosts, and is a tad faster.
89211         When we detect that we are oscillating between two values,
89212         don't check whether tm_isdst has the requested value, since
89213         we already know the answer.  When tm_isdst has the wrong value,
89214         use a different heuristic to find the right one, based on the
89215         extreme values actually observed in practice in tz2003a,
89216         rather than the (overly optimistic) "previous 3 calendar quarters".
89217
89218         (not_equal_tm, print_tm, check_result): Use "const T" rather than
89219         "T const" to accommodate glibc style.
89220         (check_result): Use less-confusing report format.  "long" -> "long int.
89221         (main): Likewise.
89222         Don't loop if the iteration overflows time_t.
89223         Allow a negative step in the iteration.
89224
89225 2003-07-06  Karl Berry  <karl@gnu.org>
89226
89227         * config/depcomp: update from automake.
89228         * config/config.sub: update from prep.
89229
89230 2003-07-03  Karl Berry  <karl@gnu.org>
89231
89232         * config/config.guess: update from prep.
89233
89234 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89235
89236         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
89237         xreadlink.c now includes it unconditionally.
89238
89239 2003-07-01  Paul Eggert  <eggert@twinsun.com>
89240
89241         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
89242         having it depend on HAVE_SYS_TYPES_H.
89243
89244 2003-07-01  Bruno Haible  <bruno@clisp.org>
89245
89246         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
89247         <sys/types.h> should be sufficient.
89248         Reported by Paul Eggert.
89249
89250 2003-06-26  Karl Berry  <karl@gnu.org>
89251
89252         * config/depcomp: update from automake.
89253
89254 2003-06-26  Bruno Haible  <bruno@clisp.org>
89255
89256         * modules/human: Depend on module stdbool.
89257
89258 2003-06-25  Bruno Haible  <bruno@clisp.org>
89259
89260         * modules/readlink: New file.
89261         * modules/xreadlink: Depend on it.
89262         * MODULES.html.sh (func_all_modules): Add readlink.
89263
89264 2003-06-25  Bruno Haible  <bruno@clisp.org>
89265
89266         * m4/readlink.m4: New file.
89267
89268 2003-06-25  Bruno Haible  <bruno@clisp.org>
89269
89270         * lib/readlink.c: New file.
89271
89272 2003-06-22  Karl Berry  <karl@gnu.org>
89273
89274         * config/srclist.txt: update mkinstalldirs from automake.
89275         * config/mkinstalldirs: update.
89276
89277 2003-06-22  Bruno Haible  <bruno@clisp.org>
89278
89279         Portability to mingw32.
89280         * m4/ssize_t.m4: New file, from GNU gettext.
89281         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
89282         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
89283
89284 2003-06-22  Bruno Haible  <bruno@clisp.org>
89285
89286         * modules/safe-read: Add m4/ssize_t.m4.
89287         * modules/xreadlink: Add m4/ssize_t.m4.
89288
89289 2003-06-20  Bruno Haible  <bruno@clisp.org>
89290
89291         Assume C89, so PARAMS isn't needed.
89292         * lib/unicodeio.h (PARAMS): Remove.
89293         * lib/unicodeio.c: Don't use PARAMS.
89294
89295 2003-06-18  Karl Berry  <karl@gnu.org>
89296
89297         * config/config.{guess,sub}: update from prep.
89298
89299 2003-06-18  Jim Meyering  <jim@meyering.net>
89300
89301         Merge changes from coreutils.
89302         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
89303         Remove explicit declarations of xmalloc and realloc.
89304         Include xalloc.h.
89305         (read_utmp): Remove anachronistic cast of xmalloc.
89306
89307 2003-06-17  Paul Eggert  <eggert@twinsun.com>
89308
89309         Assume C89, so PARAMS isn't needed.
89310         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
89311         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
89312         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
89313         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
89314         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
89315         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
89316         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
89317         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
89318         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
89319         lib/xstrtod.h, lib/xstrtol.h: Likewise.
89320         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
89321         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
89322         no longer needed. Anyway, config.h should always be included before any
89323         other file.
89324
89325 2003-06-11  Simon Josefsson  <jas@extundo.com>
89326
89327         * modules/sysexits: New file.
89328         * MODULES.html.sh (func_all_modules): Add sysexits.
89329
89330 2003-06-11  Simon Josefsson  <jas@extundo.com>
89331
89332         * lib/sysexit_.h: New file.
89333
89334 2003-06-11  Derek Price  <derek@ximbiot.com>
89335
89336         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
89337         necessary.
89338
89339 2003-06-11  Bruno Haible  <bruno@clisp.org>
89340
89341         * m4/sysexits.m4: New file.
89342
89343 2003-06-10  Simon Josefsson  <jas@extundo.com>
89344
89345         * lib/argp.h: New file, from glibc.
89346         * lib/argp-ba.c: New file, from glibc.
89347         * lib/argp-eexst.c: New file, from glibc.
89348         * lib/argp-fmtstream.c: New file, from glibc.
89349         * lib/argp-fmtstream.h: New file, from glibc.
89350         * lib/argp-fs-xinl.c: New file, from glibc.
89351         * lib/argp-help.c: New file, from glibc.
89352         * lib/argp-namefrob.h: New file, from glibc.
89353         * lib/argp-parse.c: New file, from glibc.
89354         * lib/argp-pv.c: New file, from glibc.
89355         * lib/argp-pvh.c: New file, from glibc.
89356         * lib/argp-xinl.c: New file, from glibc.
89357
89358 2003-06-10  Simon Josefsson  <jas@extundo.com>
89359
89360         * modules/strchrnul: New file.
89361
89362 2003-06-10  Simon Josefsson  <jas@extundo.com>
89363
89364         * modules/argp: New file.
89365
89366 2003-06-10  Simon Josefsson  <jas@extundo.com>
89367
89368         * m4/strchrnul.m4: New file.
89369
89370 2003-06-10  Simon Josefsson  <jas@extundo.com>
89371
89372         * lib/strchrnul.h: New file.
89373         * lib/strchrnul.c: New file.
89374
89375 2003-06-10  Bruno Haible  <bruno@clisp.org>
89376
89377         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
89378
89379 2003-06-07  Karl Berry  <karl@gnu.org>
89380
89381         * config/config.{guess,sub}: update from prep.
89382
89383 2003-06-07  Jim Meyering  <jim@meyering.net>
89384
89385         * modules/strtod: Use $(...) notation, not @...@ for
89386         AC_REPLACE'd variables.
89387         * modules/localcharset: Likewise.
89388
89389 2003-06-07  Jim Meyering  <jim@meyering.net>
89390
89391         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
89392         in place of my name in the copyright comment.
89393         Remove definition and uses of __P.
89394
89395         From coreutils.
89396         * lib/stat.c: Don't declare xmalloc explicitly.
89397         Instead, include "xalloc.h".
89398         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
89399         xrealloc, and xcalloc return values.
89400         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
89401         Improve comment.
89402         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
89403
89404 2003-06-07  Bruno Haible  <bruno@clisp.org>
89405
89406         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
89407         avoid AC_CONFIG_LINKS.
89408         * modules/fnmatch (Makefile.am): Use explicit creation rule for
89409         fnmatch.h, to avoid AC_CONFIG_LINKS.
89410         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
89411
89412 2003-06-07  Bruno Haible  <bruno@clisp.org>
89413
89414         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
89415         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
89416         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89417         directory.
89418         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
89419         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
89420         directory.
89421
89422 2003-06-06  Jim Meyering  <jim@meyering.net>
89423
89424         Merge from coreutils.
89425         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
89426         Consolidate declarations and initializations of *_base* locals.
89427
89428         Merge from coreutils.
89429         This avoids a core dump on systems without GNU putenv,
89430         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
89431         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
89432         (unsetenv): New static function, from GNU libc.
89433         (rpl_putenv): Use it.
89434
89435         * lib/modechange.c: Remove trailing blanks.
89436
89437         Merge from coreutils.
89438         * lib/fsusage.c: Remove declaration of statfs.
89439         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
89440
89441         * lib/posixtm.c: Include <stdbool.h> unconditionally.
89442
89443 2003-06-06  Jim Meyering  <jim@meyering.net>
89444
89445         * lib/stdbool_.h: Renamed from stdbool.h.in.
89446
89447 2003-06-06  Jim Meyering  <jim@meyering.net>
89448             Bruno Haible  <bruno@clisp.org>
89449
89450         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
89451         Adjust Makefile.am snippet not to redirect directly to target.
89452         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
89453
89454 2003-06-05  Paul Eggert  <eggert@twinsun.com>
89455
89456         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
89457         mismatch, look in future quarters as well as past.  This fixes a
89458         bug when processing fall-backwards gaps immediately after a long
89459         period of daylight-saving time.
89460
89461         * lib/mktime.c: Assume freestanding C89 or better.
89462         (HAVE_LIMITS_H): Remove.  Assume it's 1.
89463         (__P): Remove; not used.
89464         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
89465         (mktime, not_equal_tm, print_tm, check_result,
89466         main): Use prototypes.  Use const * where appropriate.
89467         (main): Fix typo in testing code that uncovered by above changes.
89468         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
89469
89470 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89471
89472         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
89473         locale.h, localeconv.  This merges changes from coreutils.
89474
89475         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
89476         It can be removed after the next Autoconf is released.
89477         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
89478         needed.
89479
89480 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89481
89482         * lib/mktime.c: Fix Debian bug 177940
89483         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
89484         (localtime_offset): Now long int, not time_t, because we want it
89485         to be guaranteed to be signed.  All uses changed.
89486         (__mktime_internal): If overflow would occur when adding offset,
89487         don't add it.
89488
89489         Merge 'human' changes from coreutils.  Rewrite to support
89490         locale-specific notations like thousands separators.
89491         * lib/human.c: Simplify authorship notice.
89492         Include human.h immediately after config.h.
89493         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
89494         <limits.h>: Do not include, since human.h does.
89495         (SIZE_MAX, UINTMAX_MAX): New macros.
89496         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
89497         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
89498         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
89499         (power_letter): Renamed from suffixes.
89500         (generate_suffix_backwards): Remove.
89501         (adjust_value): Now takes int style (because of human.h changes)
89502         and long double value (for greater precision on some platforms).
89503         (group_number): New function.
89504         (human_readable): Use it.  Use integer options, not enum.
89505         Put the options before the sizes in the arg list.
89506         Support all the new options.
89507         The old human_readable function has been removed;
89508         use inttostr.h instead.
89509         (human_readable, default_block_size, humblock):
89510         Use uintmax_t, not int, for block sizes.
89511         (human_readable_inexact, block_size_types): Remove.
89512         (block_size_opts): New constant.
89513         (human_options): Renamed from human_block_size, with new signature
89514         that allows block sizes up to UINTMAX_MAX.  All callers changed.
89515         * lib/human.h: Add copyright and authorship notice.
89516         Include <limits.h> and <stdbool.h> unconditionally.
89517         (PARAMS): Remove.  All uses removed.
89518         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
89519         (enum human_inexact_style): Remove tag; now a nameless enum.
89520         (human_floor, human_ceiling, human_round_to_even): Now have
89521         values 2, 0, 1 rather than -1, 1, 0.
89522         (human_group_digits, human_suppress_point_zero, human_autoscale,
89523         human_base_1024, human_SI, human_B): New constants.
89524         (human_readable_inexact, human_block_size): Remove.
89525         (human_readable): Size args are now uintmax_t, not int.
89526         (human_options): New decl.
89527
89528         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
89529         unnecessary now that we assume C89 or better.  This change
89530         imported from coreutils.
89531
89532         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89533         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
89534         in the 2003-05-30 sync from glibc.
89535
89536         .h files should stand alone, but we shouldn't include <sys/types.h>
89537         if we can get away with just <stddef.h>.
89538
89539         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
89540         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
89541         rather than <sys/types.h>, as we merely need size_t.
89542         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
89543         to get size_t.
89544         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
89545         Include <stdio.h>, to get FILE.
89546         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
89547         memcasecmp.h has included <stddef.h> and all we need is size_t.
89548         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
89549         our interface, instead of including <sys/types.h>
89550
89551 2003-06-04  Paul Eggert  <eggert@twinsun.com>
89552
89553         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
89554         now, as glibc mktime is buggy on non-glibc systems.
89555
89556 2003-06-03  Karl Berry  <karl@gnu.org>
89557
89558         * config/config.sub: update from prep.
89559
89560 2003-06-02  Paul Eggert  <eggert@twinsun.com>
89561
89562         [from coreutils]
89563         Fix some minor time-related bugs with POSIX time arguments.
89564         Some valid time stamps were being rejected (notably -1, and
89565         time stamps before 1900 on 64-bit hosts).  And some invalid
89566         time stamps were being accepted, e.g. September 31.
89567
89568         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
89569         that we can return (time_t) -1 successfully.
89570         * lib/posixtm.c: Likewise.
89571         [HAVE_STDBOOL_H]: Include <stdbool.h>.
89572         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
89573         (t): Remove static var.
89574         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
89575         of static var.  All uses changed.
89576         (year): Do not reject years before 1900; they can occur with
89577         64-bit time_t.
89578         (posix_time_parse): Do not check for out-of-range components;
89579         that is now the caller's responsibility, since our checks were
89580         only approximations.
89581         (posixtime): Use mktime to check for out-of-range components,
89582         since it knows them exactly.
89583         If mktime returns (time_t) -1, check whether an error actually occurred
89584         by invoking localtime on -1.
89585         (main) [TEST_POSIXTIME]: Check for input data errors, and report
89586         posixtime failures better.
89587         Improve the test data (in comments only).
89588
89589 2003-06-02  Karl Berry  <karl@gnu.org>
89590
89591         * config/mkinstalldirs (version): new variable.
89592         (--version): new option.
89593         (usage): improve message.
89594
89595 2003-05-30  Karl Berry  <karl@gnu.org>
89596
89597         * lib/mktime.c: update from libc.
89598
89599 2003-05-30  Bruno Haible  <bruno@clisp.org>
89600
89601         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
89602         * config/config.rpath: Upgrade to gettext-0.12.1.
89603
89604 2003-05-30  Bruno Haible  <bruno@clisp.org>
89605
89606         * m4/gettext.m4: Upgrade to gettext-0.12.1.
89607         * m4/nls.m4: New file, from gettext-0.12.1.
89608         * m4/po.m4: New file, from gettext-0.12.1.
89609         * m4/progtest.m4: Upgrade to gettext-0.12.1.
89610
89611 2003-05-30  Bruno Haible  <bruno@clisp.org>
89612
89613         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
89614         * lib/localcharset.h: Likewise.
89615         * lib/localcharset.c: Likewise.
89616
89617 2003-05-29  Karl Berry  <karl@gnu.org>
89618
89619         * config/config.rpath: update from gettext.
89620
89621 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89622
89623         Assume the headers required for C89 freestanding compilers.
89624         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
89625         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
89626         * m4/human.m4 (gl_HUMAN): Likewise.
89627         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
89628         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
89629         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89630         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
89631         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89632         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
89633
89634 2003-05-28  Paul Eggert  <eggert@twinsun.com>
89635
89636         Assume the headers required for C89 freestanding compilers.
89637         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
89638         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
89639         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
89640         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
89641         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
89642         define, since <limits.h> is guaranteed to do that.
89643         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
89644         * lib/exclude.c: Include <stdbool.h> unconditionally.
89645         * lib/tempname.c: Include <stddef.h> unconditionally.
89646         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
89647         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
89648         <stddef.h> does that.
89649         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
89650         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
89651         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
89652         needed.
89653         * lib/xstrtol.c: Likewise.
89654         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
89655         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
89656
89657         * lib/addext.c (addext): Use assignment rather than cast, to avoid
89658         warnings on some platforms.
89659
89660         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
89661         arbitrarily.
89662
89663 2003-05-26  Jim Meyering  <jim@meyering.net>
89664
89665         Merge in a change from coreutils:
89666         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
89667         that is guaranteed to be `no'.  Use `no_such_member' to indicate
89668         that condition, rather than `-1' which is slightly misleading.
89669         Change the name of the cache variable to have the gl_ prefix.
89670         Prompted by a patch from Richard Dawe for DJGPP.
89671
89672 2003-05-24  Karl Berry  <karl@gnu.org>
89673
89674         * config/config.guess: update from prep.
89675
89676 2003-05-22  Karl Berry  <karl@gnu.org>
89677
89678         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
89679
89680 2003-05-20  Karl Berry  <karl@gnu.org>
89681
89682         * config/config.guess: update from prep.
89683
89684 2003-05-18  Karl Berry  <karl@gnu.org>
89685
89686         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
89687         might actually be set by the user.
89688
89689         * config/depcomp, install-sh, mdate-sh: update from automake.
89690
89691 2003-05-17  Bruno Haible  <bruno@clisp.org>
89692
89693         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
89694         invalid expansion for AC_EGREP_CPP.
89695         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
89696         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
89697         Suggested by Akim Demaille <akim@epita.fr> in
89698         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
89699
89700 2003-05-12  Jim Meyering  <jim@meyering.net>
89701
89702         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
89703         the space-padded-by-default conversion specifiers, %e, %k, %l.
89704
89705 2003-05-12  Bruno Haible  <bruno@clisp.org>
89706
89707         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
89708         the string is longer than 4 KB.
89709
89710 2003-05-11  Karl Berry  <karl@gnu.org>
89711
89712         * config/config.{guess,sub}: update from prep.
89713
89714 2003-05-09  Bruno Haible  <bruno@clisp.org>
89715
89716         * modules/error: Add m4/strerror_r.m4 to file list.
89717
89718 2003-05-03  Bruno Haible  <bruno@clisp.org>
89719
89720         Upgrade to Unicode-4.0.
89721         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
89722         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
89723         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
89724         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
89725         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
89726         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
89727         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
89728         Change width of U+E0100..U+E01EF from 1 to 0.
89729
89730 2003-04-25  Jim Meyering  <jim@meyering.net>
89731
89732         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
89733         of type size_t, not int.
89734
89735 2003-04-25  Bruno Haible  <bruno@clisp.org>
89736
89737         * lib/copy-file.c: Include <stddef.h>, for size_t.
89738
89739 2003-04-21  Paul Eggert  <eggert@twinsun.com>
89740
89741         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
89742         code which expansion is under static control.  Patch imported from
89743         Akim Demaille's patch to Bison; see
89744         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
89745
89746 2003-04-14  Bruno Haible  <bruno@clisp.org>
89747
89748         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
89749
89750 2003-04-11  Jim Meyering  <jim@meyering.net>
89751
89752         Merge changes from Coreutils.
89753
89754         2003-03-22  Jim Meyering  <jim@meyering.net>
89755
89756         * lib/strftime.c (widen): Cast alloca return value to proper type.
89757
89758         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
89759
89760         From GNU libc.
89761         * lib/strftime.c (my_strftime): Handle very large width
89762         specifications for numeric values correctly.  Improve checks for
89763         overflow.
89764
89765         2003-01-19  Jim Meyering  <jim@meyering.net>
89766
89767         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
89768         definitions.
89769         (nl_get_alt_digit) [! defined my_strftime]: Define.
89770         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
89771         _nl_get_alt_digit and _nl_get_walt_digit.
89772
89773         * lib/strftime.c (my_strftime): Merge in locale-related changes from
89774         libc. These changes have no effect outside of _LIBC.
89775
89776 2003-04-10  Bruno Haible  <bruno@clisp.org>
89777
89778         * modules/findprog: New file.
89779         * MODULES.html.sh (func_all_modules): Add it.
89780
89781 2003-04-10  Bruno Haible  <bruno@clisp.org>
89782
89783         * m4/findprog.m4: New file.
89784         * m4/eaccess.m4: New file.
89785
89786 2003-04-10  Bruno Haible  <bruno@clisp.org>
89787
89788         * lib/findprog.h: New file, from GNU gettext.
89789         * lib/findprog.c: New file, from GNU gettext.
89790
89791 2003-04-05  Jim Meyering  <jim@meyering.net>
89792
89793         Merge changes from Coreutils.
89794
89795         * lib/exclude.h (PARAMS): Remove definition and uses.
89796         * lib/exclude.c: Remove uses of `PARAMS'.
89797
89798         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
89799         Add test-cases for DOS filenames. Declare program_name.
89800         (main): Set up program_name.  Patch by Rich Dawe.
89801
89802         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89803         error from mntctl.
89804         Use mntctl's return value to drive the entry-processing loop, since
89805         we can't rely on the value of the vmt_length member in the last
89806         entry.  On some systems doing so could result in exhausting
89807         virtual memory.  Based in part on a patch from Mike Jetzer.
89808
89809 2003-04-04  Bruno Haible  <bruno@clisp.org>
89810
89811         * modules/linebreak: New file.
89812         * MODULES.html.sh (func_all_modules): Add it.
89813
89814 2003-04-04  Bruno Haible  <bruno@clisp.org>
89815
89816         * m4/linebreak.m4: New file.
89817
89818 2003-04-04  Bruno Haible  <bruno@clisp.org>
89819
89820         * lib/linebreak.h: New file, from GNU gettext.
89821         * lib/linebreak.c: New file, from GNU gettext with slight
89822         modifications.
89823         * lib/lbrkprop.h: New file, from GNU gettext.
89824
89825 2003-04-03  Bruno Haible  <bruno@clisp.org>
89826
89827         * modules/utf8-ucs4: New file.
89828         * modules/utf16-ucs4: New file.
89829         * modules/ucs4-utf8: New file.
89830         * modules/ucs4-utf16: New file.
89831         * MODULES.html.sh (func_all_modules): Add them.
89832
89833 2003-04-03  Bruno Haible  <bruno@clisp.org>
89834
89835         * m4/utf-ucs4.m4: New file.
89836         * m4/ucs4-utf.m4: New file.
89837
89838 2003-04-03  Bruno Haible  <bruno@clisp.org>
89839
89840         * lib/utf8-ucs4.h: New file, from GNU gettext.
89841         * lib/utf16-ucs4.h: New file, from GNU gettext.
89842         * lib/ucs4-utf8.h: New file, from GNU gettext.
89843         * lib/ucs4-utf16.h: New file, from GNU gettext.
89844
89845 2003-04-02  Bruno Haible  <bruno@clisp.org>
89846
89847         * modules/binary-io: New file.
89848         * MODULES.html.sh (func_all_modules): Add it.
89849
89850 2003-04-02  Bruno Haible  <bruno@clisp.org>
89851
89852         * lib/binary-io.h: New file, from GNU gettext.
89853
89854 2003-04-01  Bruno Haible  <bruno@clisp.org>
89855
89856         * modules/pathname: New file.
89857         * MODULES.html.sh (func_all_modules): Add it.
89858
89859 2003-04-01  Bruno Haible  <bruno@clisp.org>
89860
89861         * lib/pathname.h: New file, from GNU gettext.
89862         * lib/concatpath.c: New file, from GNU gettext.
89863
89864 2003-03-30  Bruno Haible  <bruno@clisp.org>
89865
89866         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
89867
89868 2003-03-30  Bruno Haible  <bruno@clisp.org>
89869
89870         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
89871         function chown() doesn't exist.
89872
89873 2003-03-28  Bruno Haible  <bruno@clisp.org>
89874
89875         * modules/copy-file: New file.
89876         * MODULES.html.sh (func_all_modules): Add it.
89877
89878 2003-03-28  Bruno Haible  <bruno@clisp.org>
89879
89880         * m4/copy-file.m4: New file.
89881
89882 2003-03-28  Bruno Haible  <bruno@clisp.org>
89883
89884         * lib/copy-file.h: New file, from GNU gettext.
89885         * lib/copy-file.c: New file, from GNU gettext.
89886
89887 2003-03-18  Jim Meyering  <jim@meyering.net>
89888
89889         * lib/quote.c (quote_n): Fix typo in comment.
89890
89891 2003-03-18  Bruno Haible  <bruno@clisp.org>
89892
89893         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
89894         checking.
89895         * m4/onceonly_2_57.m4: Likewise.
89896
89897 2003-03-17  Bruno Haible  <bruno@clisp.org>
89898
89899         * m4/onceonly.m4: Require autoconf 2.54 or newer.
89900         (m4_quote): Remove macro.
89901         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
89902
89903 2003-03-14  Jim Meyering  <jim@meyering.net>
89904
89905         Merge changes from Coreutils.
89906         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
89907         to be const, in order to avoid warnings.
89908         (obstack_room): Likewise.
89909         (obstack_empty_p): Likewise.
89910
89911 2003-03-14  Bruno Haible  <bruno@clisp.org>
89912
89913         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
89914         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
89915
89916 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89917
89918         Merge changes from Bison.
89919         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
89920         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
89921         when compiling Bison 1.875's `bitset bset = obstack_alloc
89922         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
89923         * lib/hash.c: Include <stdbool.h> unconditionally.
89924
89925 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89926
89927         * m4/onceonly.m4 (m4_quote): New macro.
89928         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
89929         Quote AC_FOREACH variable-expansions properly.
89930
89931 2003-03-13  Paul Eggert  <eggert@twinsun.com>
89932
89933         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
89934
89935 2003-03-09  Paul Eggert  <eggert@twinsun.com>
89936
89937         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
89938         Reported by Bruce Becker; see:
89939         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
89940
89941 2003-03-03  Paul Eggert  <eggert@twinsun.com>
89942             Bruno Haible  <bruno@clisp.org>
89943
89944         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
89945         Reported by John Hughes, see
89946         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
89947
89948 2003-02-20  Bruno Haible  <bruno@clisp.org>
89949
89950         * MODULES.html.sh (func_all_modules): Add poll.
89951
89952 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89953
89954         * modules/poll: New file.
89955
89956 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89957
89958         * lib/poll_.h: New file.
89959         * lib/poll.c: New file.
89960
89961 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
89962
89963         * m4/poll.m4: New file.
89964
89965 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89966
89967         * modules/mathl: New file.
89968
89969 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89970
89971         * lib/mathl.h: New file.
89972         * lib/acosl.c: New file.
89973         * lib/asinl.c: New file.
89974         * lib/atanl.c: New file.
89975         * lib/ceill.c: New file.
89976         * lib/cosl.c: New file.
89977         * lib/expl.c: New file.
89978         * lib/floorl.c: New file.
89979         * lib/frexpl.c: New file.
89980         * lib/ldexpl.c: New file.
89981         * lib/logl.c: New file.
89982         * lib/sincosl.c: New file.
89983         * lib/sinl.c: New file.
89984         * lib/sqrtl.c: New file.
89985         * lib/tanl.c: New file.
89986         * lib/trigl.c: New file.
89987         * lib/trigl.h: New file.
89988
89989 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
89990
89991         * m4/mathl.m4: New file.
89992
89993 2003-02-18  Bruno Haible  <bruno@clisp.org>
89994
89995         * MODULES.html.sh (func_all_modules): Add mathl.
89996
89997 2003-02-17  Bruno Haible  <bruno@clisp.org>
89998
89999         * modules/mkdtemp: New module.
90000         * MODULES.html.sh (func_all_modules): Add it.
90001
90002 2003-02-17  Bruno Haible  <bruno@clisp.org>
90003
90004         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
90005
90006 2003-02-17  Bruno Haible  <bruno@clisp.org>
90007
90008         * lib/mkdtemp.h: New file, from GNU gettext.
90009         * lib/mkdtemp.c: New file, from GNU gettext.
90010
90011 2003-02-02  Jim Meyering  <jim@meyering.net>
90012
90013         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
90014         e.g. glibc-2.2.93.
90015
90016 2003-01-31  Bruno Haible  <bruno@clisp.org>
90017
90018         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
90019         'rpl_rename'.
90020         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
90021         'rpl_strnlen'.
90022         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
90023         'rpl_strtod'.
90024         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
90025         'rpl_utime'.
90026
90027 2003-01-31  Bruno Haible  <bruno@clisp.org>
90028
90029         * lib/rename.c: #undef rename before defining rpl_rename.
90030         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
90031
90032 2003-01-30  Bruno Haible  <bruno@clisp.org>
90033
90034         * modules/vasnprintf, modules/vasprintf: New modules.
90035         * MODULES.html.sh (func_all_modules): Add them.
90036
90037 2003-01-30  Bruno Haible  <bruno@clisp.org>
90038
90039         * m4/signed.m4: New file, from GNU gettext.
90040         * m4/longdouble.m4: New file, from GNU gettext.
90041         * m4/wchar_t.m4: New file, from GNU gettext.
90042         * m4/wint_t.m4: New file, from GNU gettext.
90043         * m4/vasnprintf.m4: New file.
90044         * m4/vasprintf.m4: New file.
90045
90046 2003-01-30  Bruno Haible  <bruno@clisp.org>
90047
90048         * lib/printf-args.h: New file, from GNU gettext.
90049         * lib/printf-args.c: New file, from GNU gettext.
90050         * lib/printf-parse.h: New file, from GNU gettext.
90051         * lib/printf-parse.c: New file, from GNU gettext.
90052         * lib/vasnprintf.h: New file, from GNU gettext.
90053         * lib/vasnprintf.c: New file, from GNU gettext.
90054         * lib/asnprintf.c: New file, from GNU gettext.
90055         * lib/vasprintf.h: New file, from GNU gettext with modifications.
90056         * lib/vasprintf.c: New file, from GNU gettext.
90057         * lib/asprintf.c: New file, from GNU gettext.
90058
90059 2003-01-29  Bruno Haible  <bruno@clisp.org>
90060
90061         * modules/stpncpy: New module.
90062         * MODULES.html.sh (func_all_modules): Add it.
90063
90064 2003-01-29  Bruno Haible  <bruno@clisp.org>
90065
90066         * m4/stpncpy.m4: New file.
90067
90068 2003-01-29  Bruno Haible  <bruno@clisp.org>
90069
90070         * lib/stpncpy.h: New file, from GNU gettext with modifications.
90071         * lib/stpncpy.c: New file, from GNU gettext with modifications.
90072
90073 2003-01-28  Bruno Haible  <bruno@clisp.org>
90074
90075         * modules/c-ctype: New module.
90076         * MODULES.html.sh (func_all_modules): Add it.
90077
90078 2003-01-28  Bruno Haible  <bruno@clisp.org>
90079
90080         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
90081         Paul Eggert.
90082         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
90083         Paul Eggert.
90084
90085 2003-01-27  Bruno Haible  <bruno@clisp.org>
90086
90087         * modules/xsetenv: New module.
90088         * MODULES.html.sh (func_all_modules): Add it.
90089
90090 2003-01-27  Bruno Haible  <bruno@clisp.org>
90091
90092         * lib/xsetenv.h: New file, from GNU gettext.
90093         * lib/xsetenv.c: New file, from GNU gettext.
90094
90095 2003-01-23  Jim Meyering  <jim@meyering.net>
90096
90097         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
90098         from working on systems without dirfd (at least Irix and OSF1/Tru64).
90099
90100 2003-01-23  Bruno Haible  <bruno@clisp.org>
90101
90102         * modules/minmax: New module.
90103         * MODULES.html.sh (func_all_modules): Add it.
90104
90105 2003-01-23  Bruno Haible  <bruno@clisp.org>
90106
90107         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
90108         Eggert.
90109
90110 2003-01-22  Bruno Haible  <bruno@clisp.org>
90111
90112         * modules/exit: New module.
90113         * MODULES.html.sh (func_all_modules): Add it.
90114
90115 2003-01-22  Bruno Haible  <bruno@clisp.org>
90116
90117         * lib/exit.h: New file, from GNU gettext.
90118
90119 2003-01-19  Bruno Haible  <bruno@clisp.org>
90120
90121         * gnulib-tool: Recognize option --extract-maintainer.
90122         (func_get_maintainer): New function.
90123         * modules/*: Add Maintainer entry.
90124
90125 2003-01-16  Jim Meyering  <jim@meyering.net>
90126
90127         * m4/regex.m4: The `regex' struct is both input and output.
90128         Initialize it before each use.  Patch by Tim Waugh.
90129
90130 2003-01-16  Bruno Haible  <bruno@clisp.org>
90131
90132         * MODULES.html.sh: Add a table of contents. Add the module name as
90133         leftmost column. Add hyperlinks.
90134
90135 2003-01-15  Bruno Haible  <bruno@clisp.org>
90136
90137         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
90138
90139 2003-01-15  Bruno Haible  <bruno@clisp.org>
90140
90141         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
90142         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
90143         suffix.
90144
90145 2003-01-15  Bruno Haible  <bruno@clisp.org>
90146
90147         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
90148
90149 2003-01-15  Bruno Haible  <bruno@clisp.org>
90150
90151         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
90152         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
90153
90154 2003-01-14  Jim Meyering  <jim@meyering.net>
90155
90156         * lib/same.c (same_name): Tweak a comment.
90157
90158 2003-01-14  Bruno Haible  <bruno@clisp.org>
90159
90160         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
90161         when a string comparison is sufficient.
90162
90163 2003-01-14  Bruno Haible  <bruno@clisp.org>
90164
90165         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
90166         'unsigned int'.
90167
90168 2003-01-14  Bruno Haible  <bruno@clisp.org>
90169
90170         * lib/hash-pjw.c: Add comment about low quality of this function.
90171
90172 2003-01-13  Bruno Haible  <bruno@clisp.org>
90173
90174         * modules/stpcpy: Distribute lib/stpcpy.h.
90175         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
90176
90177 2003-01-13  Bruno Haible  <bruno@clisp.org>
90178
90179         * modules/*: Add a description.
90180         * modules/strpbrk: Fix Makefile.am snippet.
90181         * modules/strtoimax: Fix dependencies.
90182         * modules/strtoumax: Likewise.
90183
90184 2003-01-13  Bruno Haible  <bruno@clisp.org>
90185
90186         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
90187         * modules/alloca (Makefile.am): All object files depend on alloca.h.
90188         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
90189
90190 2003-01-13  Bruno Haible  <bruno@clisp.org>
90191
90192         * gnulib-tool (func_create_testdir): Store config/* files in the main
90193         directory.
90194         * config.rpath: Move to ...
90195         * config/config.rpath: ... here.
90196         * modules/gettext: Contains config/config.rpath, not config.rpath.
90197         * modules/iconv: Likewise.
90198
90199 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90200
90201         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90202         to avoid collisions with libcurses and libreadline.
90203
90204         * m4/getstr.m4: Remove.
90205         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
90206
90207 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90208
90209         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90210         to avoid collisions with libcurses and libreadline.
90211
90212         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
90213         * lib/getstr.h, getstr.c: Remove.
90214         * lib/getline.c: Include "getline.h", to check interface.
90215         Move body of old getstr.c here: this defines MIN_CHUNK and
90216         declares getdelim2, which is renamed from getstr.
90217         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
90218
90219         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
90220         All uses changed.
90221         * lib/linebuffer.h: Likewise.
90222         (readline): Remove backward-compatibility macro.
90223
90224 2003-01-12  Paul Eggert  <eggert@twinsun.com>
90225
90226         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
90227         to avoid collisions with libcurses and libreadline.
90228         * getstr: Remove.
90229         * MODULES.html.sh: Remove getstr.
90230         * modules/getline: Depend on unlocked-io, not getstr.
90231
90232 2003-01-12  Jim Meyering  <jim@meyering.net>
90233
90234         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
90235
90236 2003-01-10  Bruno Haible  <bruno@clisp.org>
90237
90238         * modules/alloca: Change Makefile.am requirements. Simplify Include
90239         requirements. Add lib/alloca_.h to file list.
90240
90241 2003-01-10  Bruno Haible  <bruno@clisp.org>
90242
90243         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
90244
90245 2003-01-10  Bruno Haible  <bruno@clisp.org>
90246
90247         * lib/alloca_.h: New file.
90248         * lib/getdate.y: Unconditionally include alloca.h.
90249         * lib/makepath.c: Likewise.
90250         * lib/setenv.c: Likewise.
90251         * lib/userspec.c: Likewise.
90252
90253 2003-01-09  Karl Berry  <karl@gnu.org>
90254
90255         * MODULES.html.sh: include `dirname $0` in PATH, to find
90256         gnulib-tool.
90257
90258 2003-01-09  Bruno Haible  <bruno@clisp.org>
90259
90260         * modules/stdbool: Change configure.ac, Makefile.am requirements.
90261         Simplify Include requirements. Add lib/stdbool.h.in to file list.
90262
90263 2003-01-09  Bruno Haible  <bruno@clisp.org>
90264
90265         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
90266
90267 2003-01-09  Bruno Haible  <bruno@clisp.org>
90268
90269         * lib/stdbool.h.in: New file.
90270
90271 2003-01-09  Bruno Haible  <bruno@clisp.org>
90272
90273         * gnulib-tool (func_all_modules): Ignore files ending in ~.
90274         * MODULES.html.sh: Likewise.
90275
90276 2003-01-08  Jim Meyering  <jim@meyering.net>
90277
90278         * lib/full-write.c: Undefine and define-away `const' after inclusion
90279         of errno.h, not before.  Suggestion from Bruno Haible.
90280
90281 2003-01-08  Bruno Haible  <bruno@clisp.org>
90282
90283         * modules/full-read: Depend on full-write.
90284
90285 2003-01-08  Bruno Haible  <bruno@clisp.org>
90286
90287         * lib/safe-read.c: Include specification header first, to ensure its
90288         selfcontainedness.
90289         * lib/full-write.c: Likewise.
90290
90291 2003-01-07  Jim Meyering  <jim@meyering.net>
90292
90293         * lib/full-write.c: Rework so that it may serve to define full_read,
90294         too.
90295         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
90296
90297 2003-01-07  Bruno Haible  <bruno@clisp.org>
90298
90299         * lib/strtoimax.c: Include <stdint.h> as an alternative to
90300         <inttypes.h>.
90301         * lib/xstrtol.h: Likewise.
90302         * lib/xstrtoimax.c: Likewise.
90303         * lib/xstrtoumax.c: Likewise.
90304         * lib/human.h: Likewise.
90305
90306         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
90307         on systems that have <inttypes.h> but not <stdint.h>.
90308
90309 2003-01-07  Bruno Haible  <bruno@clisp.org>
90310
90311         * MODULES.html.sh: Add copyright notice.
90312         (missed_files): Omit CVS directory entries.
90313         (func_module): Make it work with sed-3.02.
90314         * MODULES.txt: Remove file.
90315
90316 2003-01-06  Jim Meyering  <jim@meyering.net>
90317
90318         * lib/version-etc.c: Update year in translatable copyright string.
90319
90320 2003-01-03  Karl Berry  <karl@gnu.org>
90321
90322         * config/config.{guess,sub}: update from prep.
90323
90324 2003-01-02  Karl Berry  <karl@gnu.org>
90325
90326         * doc/COPYING.DOC: belatedly updated to 1.2.
90327
90328 2003-01-01  Karl Berry  <karl@gnu.org>
90329
90330         * gnulib-tool (func_verify_module): report module name $module in
90331         error message, not $1.
90332         * gnulib-tool (create-testdir): don't complain if destdir couldn't
90333         be created, only if it doesn't exist.
90334         * gnulib-tool (last_checkin_date): don't expand the $Date here.
90335
90336 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90337
90338         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
90339
90340 2002-12-31  Paul Eggert  <eggert@twinsun.com>
90341
90342         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
90343         memcmp if strcoll doesn't work.
90344
90345 2002-12-31  Bruno Haible  <bruno@clisp.org>
90346
90347         * lib/utime.c (utime_null): No need to call ftruncate if the file was
90348         nonempty.
90349
90350 2002-12-31  Bruno Haible  <bruno@clisp.org>
90351
90352         * lib/memcoll.c (STRCOLL): New macro.
90353         (memcoll): Use it.
90354
90355 2002-12-31  Bruno Haible  <bruno@clisp.org>
90356
90357         * lib/localcharset.h: New file.
90358         * lib/localcharset.c: Include it.
90359         * lib/unicodeio.c: Likewise.
90360
90361 2002-12-31  Bruno Haible  <bruno@clisp.org>
90362
90363         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
90364         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
90365
90366 2002-12-31  Bruno Haible  <bruno@clisp.org>
90367
90368         * lib/getline.h: Include <stddef.h>, for size_t.
90369
90370         * lib/unicodeio.h: Include <stddef.h>, for size_t.
90371         * lib/unicodeio.c: Don't include <stddef.h>.
90372
90373 2002-12-31  Bruno Haible  <bruno@clisp.org>
90374
90375         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
90376         HAVE_TM_ZONE.
90377
90378 2002-12-24  Karl Berry  <karl@gnu.org>
90379
90380         * config/config.guess: update from prep.
90381
90382 2002-12-24  Bruno Haible  <bruno@clisp.org>
90383
90384         General infrasructure.
90385         * m4/README: Rewritten.
90386         * m4/onceonly.m4: New file.
90387         * m4/onceonly_2_57.m4: New file.
90388
90389         Module atexit.
90390         * m4/atexit.m4: New file.
90391
90392         Module strtod.
90393         * m4/strtod.m4: New file.
90394
90395         Module strtol.
90396         * m4/strtol.m4: New file.
90397
90398         Module strtoul.
90399         * m4/strtoul.m4: New file.
90400
90401         Module memchr.
90402         * m4/memchr.m4: New file.
90403
90404         Module memcmp.
90405         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
90406         (jm_FUNC_MEMCMP): Invoke it.
90407
90408         Module memcpy.
90409         * m4/memcpy.m4: New file.
90410
90411         Module memmove.
90412         * m4/memmove.m4: New file.
90413
90414         Module memset.
90415         * m4/memset.m4: New file.
90416
90417         Module strcspn.
90418         * m4/strcspn.m4: New file.
90419
90420         Module strpbrk.
90421         * m4/strpbrk.m4: New file.
90422
90423         Module strstr.
90424         * m4/strstr.m4: New file.
90425
90426         Module strerror.
90427         * m4/strerror.m4: New file.
90428
90429         Module mktime.
90430         * m4/mktime.m4: Renamed from jm-mktime.m4.
90431         (gl_PREREQ_MKTIME): New macro.
90432         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
90433
90434         Module malloc.
90435         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
90436         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
90437         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
90438
90439         Module realloc.
90440         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
90441         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
90442         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
90443
90444         Module strftime.
90445         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
90446         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
90447         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
90448         gl_TM_GMTOFF.
90449         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
90450
90451         Module xalloc.
90452         * m4/xalloc.m4: New file.
90453
90454         Module alloca.
90455         * m4/alloca.m4: New file.
90456
90457         Module putenv.
90458         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
90459         (jm_FUNC_PUTENV): Invoke it.
90460
90461         Module setenv.
90462         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
90463         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
90464         when invoked twice.
90465         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
90466         gt_FUNC_SETENV.
90467
90468         Module memrchr.
90469         * m4/memrchr.m4: New file.
90470
90471         Module stpcpy.
90472         * m4/stpcpy.m4: New file.
90473
90474         Module strcase.
90475         * m4/strcase.m4: New file.
90476
90477         Module strdup.
90478         * m4/strdup.m4: New file.
90479
90480         Module strnlen.
90481         * m4/strnlen.m4: New file.
90482
90483         Module strndup.
90484         * m4/strndup.m4: New file.
90485
90486         Module xstrtod.
90487         * m4/xstrtod.m4: New file.
90488
90489         Module xstrtol.
90490         * m4/xstrtol.m4: New file.
90491
90492         Module getdate.
90493         * m4/getdate.m4: New file.
90494
90495         Module unlocked-io.
90496         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
90497         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
90498         * m4/jm-glibc-io.m4n: Remove file.
90499
90500         Module long-options.
90501         * m4/long-options.m4: New file.
90502
90503         Module md5.
90504         * m4/md5.m4: New file.
90505
90506         Module sha.
90507         * m4/sha.m4: New file.
90508
90509         Module getstr.
90510         * m4/getstr.m4: New file.
90511
90512         Module getline.
90513         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
90514         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
90515         <sys/types.h>, for size_t. Use the function name gnu_getline, not
90516         simply getline. Infoke gl_PREREQ_GETLINE.
90517
90518         Module obstack.
90519         * m4/obstack.m4: New file.
90520
90521         Module hash.
90522         * m4/hash.m4: New file.
90523
90524         Module readtokens.
90525         * m4/readtokens.m4: New file.
90526
90527         Module strverscmp.
90528         * m4/strverscmp.m4: New file.
90529
90530         Module stdbool.
90531         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
90532         OSF/1.
90533
90534         Module strtoll.
90535         * m4/strtoll.m4: New file.
90536
90537         Module strtoull.
90538         * m4/strtoull.m4: New file.
90539
90540         Module strtoimax.
90541         * m4/strtoimax.m4: New file.
90542
90543         Module strtoumax.
90544         * m4/strtoumax.m4: New file.
90545
90546         Module xstrtoimax.
90547         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
90548         jm_AC_PREREQ_XSTRTOIMAX.
90549         Moved the strtol prerequisites to strtol.m4.
90550         Moved the strtoll prerequisites to strtoll.m4.
90551         Moved the strtoimax prerequisites to strtoimax.m4.
90552
90553         Module xstrtoumax.
90554         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
90555         jm_AC_PREREQ_XSTRTOUMAX.
90556         Moved the strtoul prerequisites to strtoul.m4.
90557         Moved the strtoull prerequisites to strtoull.m4.
90558         Moved the strtoumax prerequisites to strtoumax.m4.
90559
90560         Module chown.
90561         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
90562         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
90563
90564         Module dup2.
90565         * m4/dup2.m4: New file.
90566
90567         Module ftruncate.
90568         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
90569         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
90570
90571         Module getgroups.
90572         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
90573         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
90574
90575         Module gettimeofday.
90576         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
90577         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
90578         gl_PREREQ_GETTIMEOFDAY.
90579
90580         Module mkdir.
90581         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
90582         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
90583
90584         Module mkstemp.
90585         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
90586         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
90587         jm_AC_TYPE_UINTMAX_T.
90588         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
90589
90590         Module stat.
90591         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
90592         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
90593
90594         Module lstat.
90595         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
90596         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
90597
90598         Module timespec.
90599         * m4/timespec.m4 (gl_TIMESPEC): New macro.
90600         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
90601         * m4/st_mtim.m4: Indentation.
90602
90603         Module nanosleep.
90604         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
90605         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
90606         gl_PREREQ_NANOSLEEP.
90607
90608         Module regex.
90609         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
90610         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
90611         (gl_REGEX): New macro.
90612
90613         Module rename.
90614         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
90615         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
90616
90617         Module rmdir.
90618         * m4/rmdir.m4: New file.
90619
90620         Module utime.
90621         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
90622         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
90623         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
90624
90625         Module dirname.
90626         * m4/dirname.m4: New file.
90627
90628         Module getopt.
90629         * m4/getopt.m4: New file.
90630
90631         Module unistd-safer.
90632         * m4/unistd-safer.m4: New file.
90633
90634         Module fnmatch.
90635         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
90636         declaration.
90637         (gl_PREREQ_FNMATCH_EXTRA): New macro.
90638         (gl_FUNC_FNMATCH_POSIX): New macro.
90639         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
90640         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
90641         simply fnmatch.
90642
90643         Module exclude.
90644         * m4/exclude.m4: New file.
90645
90646         Module human.
90647         * m4/human.m4: New file.
90648
90649         Module acl.
90650         * m4/acl.m4: Nop.
90651
90652         Module backupfile.
90653         * m4/backupfile.m4: New file.
90654         * m4/d-ino.m4: Indentation.
90655
90656         Module fsusage.
90657         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
90658         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
90659         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
90660
90661         Module dirfd.
90662         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
90663         requirements.
90664
90665         Module euidaccess.
90666         * m4/euidaccess.m4: New file.
90667
90668         Module file-type.
90669         * m4/file-type.m4: New file.
90670
90671         Module fileblocks.
90672         * m4/fileblocks.m4: New file.
90673
90674         Module filemode.
90675         * m4/filemode.m4: New file.
90676
90677         Module isdir.
90678         * m4/isdir.m4: New file.
90679
90680         Module lchown.
90681         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
90682         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
90683
90684         Module makepath.
90685         * m4/makepath.m4: New file.
90686
90687         Module modechange.
90688         * m4/modechange.m4: New file.
90689
90690         Module mountlist.
90691         * m4/mountlist.m4: New file.
90692         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
90693         Indentation.
90694
90695         Module path-concat.
90696         * m4/path-concat.m4: New file.
90697
90698         Module pathmax.
90699         * m4/pathmax.m4: New file.
90700
90701         Module same.
90702         * m4/same.m4: New file.
90703
90704         Module save-cwd.
90705         * m4/save-cwd.m4: New file.
90706
90707         Module savedir.
90708         * m4/savedir.m4: New file.
90709
90710         Module xgetcwd.
90711         * m4/xgetcwd.m4: New file.
90712         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
90713
90714         Module xreadlink.
90715         * m4/xreadlink.m4: New file.
90716
90717         Module safe-read.
90718         * m4/safe-read.m4: New file.
90719
90720         Module safe-write.
90721         * m4/safe-write.m4: New file.
90722
90723         Module closeout.
90724         * m4/closeout.m4: New file.
90725
90726         Module stdio-safer.
90727         * m4/stdio-safer.m4: New file.
90728
90729         Module getpass.
90730         * m4/getpass.m4: New file.
90731
90732         Module getugroups.
90733         * m4/getugroups.m4: New file.
90734
90735         Module group-member.
90736         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
90737         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
90738
90739         Module idcache.
90740         * m4/idcache.m4: New file.
90741
90742         Module userspec.
90743         * m4/userspec.m4: New file.
90744
90745         Module gettime.
90746         * m4/clock_time.m4: New file.
90747         * m4/gettime.m4: New file.
90748
90749         Module settime.
90750         * m4/settime.m4: New file.
90751
90752         Module posixtm.
90753         * m4/posixtm.m4: New file.
90754
90755         Module gethostname.
90756         * m4/gethostname.m4: New file.
90757
90758         Module canon-host.
90759         * m4/canon-host.m4: New file.
90760
90761         Module gettext.
90762         * m4/codeset.m4: New file, from gettext-0.11.5.
90763         * m4/gettext.m4: New file, from gettext-0.11.5.
90764         * m4/glibc21.m4: New file, from gettext-0.11.5.
90765         * m4/iconv.m4: New file, from gettext-0.11.5.
90766         * m4/intdiv0.m4: New file, from gettext-0.11.5.
90767         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
90768         * m4/inttypes.m4: New file, from gettext-0.11.5.
90769         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
90770         * m4/isc-posix.m4: New file, from gettext-0.11.5.
90771         * m4/lcmessage.m4: New file, from gettext-0.11.5.
90772         * m4/lib-ld.m4: New file, from gettext-0.11.5.
90773         * m4/lib-link.m4: New file, from gettext-0.11.5.
90774         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
90775         * m4/progtest.m4: New file, from gettext-0.11.5.
90776         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
90777         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
90778         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
90779
90780         Module localcharset.
90781         * m4/localcharset.m4: New file.
90782
90783         Module hard-locale.
90784         * m4/hard-locale.m4: New file.
90785
90786         Module mbswidth.
90787         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
90788         onceonly macros.
90789         * m4/mbrtowc.m4: Add comment.
90790
90791         Module memcasecmp.
90792         * m4/memcasecmp.m4: New file.
90793
90794         Module memcoll.
90795         * m4/memcoll.m4: New file.
90796
90797         Module unicodeio.
90798         * m4/unicodeio.m4: New file.
90799
90800         Module rpmatch.
90801         * m4/rpmatch.m4: New file.
90802
90803         Module yesno.
90804         * m4/yesno.m4: New file.
90805
90806         Module exitfail.
90807         * m4/exitfail.m4: New file.
90808
90809         Module c-stack.
90810         * m4/c-stack.m4 (gl_C_STACK): New macro.
90811         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
90812
90813         Module error.
90814         * m4/error.m4 (gl_ERROR): New macro.
90815         (jm_PREREQ_ERROR): Use onceonly macros.
90816
90817         Module fatal.
90818         * m4/fatal.m4: New file.
90819
90820         Module getloadavg.
90821         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
90822         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
90823
90824         Module getpagesize.
90825         * m4/getpagesize.m4: New file.
90826
90827         Module getusershell.
90828         * m4/getusershell.m4: New file.
90829
90830         Module physmem.
90831         * m4/physmem.m4: New file.
90832
90833         Module posixver.
90834         * m4/posixver.m4: New file.
90835
90836         Module quotearg.
90837         * m4/quotearg.m4: New file.
90838
90839         Module quote.
90840         * m4/quote.m4: New file.
90841
90842         Module readutmp.
90843         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
90844
90845         Module sig2str.
90846         * m4/sig2str.m4: New file.
90847
90848         Other.
90849         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
90850         ulonglong.m4.
90851         * m4/intmax_t.m4: New file.
90852         * m4/d-type.m4: Indentation.
90853         * m4/jm-macros.m4: Update.
90854         * m4/prereq.m4 (jm_PREREQ): Update.
90855         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
90856         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
90857         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
90858         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
90859         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
90860         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
90861         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
90862         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
90863         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
90864         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
90865         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
90866         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
90867         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
90868         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
90869         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
90870         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
90871         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
90872         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
90873         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
90874
90875 2002-12-24  Bruno Haible  <bruno@clisp.org>
90876
90877         * MODULES.txt: Update according to m4/ changes.
90878
90879         Module gettext.
90880         * config.rpath: New file, from gettext-0.11.5.
90881
90882         * modules/*: New module descriptions.
90883         * gnulib-tool: New file.
90884         * MODULES.html.sh: New file.
90885
90886 2002-12-21  Karl Berry  <karl@gnu.org>
90887
90888         * doc/fdl.texi: update to version 1.2.
90889
90890 2002-12-19  Karl Berry  <karl@gnu.org>
90891
90892         * config/config.guess: update from prep.
90893
90894 2002-12-18  Bruno Haible  <bruno@clisp.org>
90895
90896         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
90897         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
90898
90899 2002-12-17  Bruno Haible  <bruno@clisp.org>
90900
90901         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
90902         stdlib.h, string.h.
90903
90904 2002-12-17  Bruno Haible  <bruno@clisp.org>
90905
90906         * lib/canon-host.c (strdup): Remove unused declaration.
90907
90908         * lib/fsusage.c: Include full_read.h.
90909         (get_fs_usage): Use full_read instead of safe_read.
90910
90911         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
90912
90913 2002-12-12  Karl Berry  <karl@gnu.org>
90914
90915         * config/config.guess: update from prep.
90916
90917 2002-12-11  Bruno Haible  <bruno@clisp.org>
90918
90919         * m4/setenv.m4: New file, from gettext-0.11.5.
90920
90921 2002-12-11  Bruno Haible  <bruno@clisp.org>
90922
90923         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
90924         not unsetenv().
90925         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
90926         modifications:
90927
90928         2002-12-11  Bruno Haible  <bruno@clisp.org>
90929
90930                 * setenv.c (alloca): Fall back to malloc.
90931                 (freea): New macro.
90932                 (setenv): Use freea() to free memory allocated with alloca().
90933
90934         2002-11-13  Bruno Haible  <bruno@clisp.org>
90935
90936                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
90937                 function declarations.
90938                 * unsetenv.c (unsetenv): Likewise.
90939
90940         2002-03-04  Bruno Haible  <bruno@clisp.org>
90941
90942                 Portability to AIX 4.3.3.
90943                 * unsetenv.c: New file, extracted from setenv.c.
90944                 * setenv.c: Move the unsetenv() function to unsetenv.c.
90945
90946         2001-12-20  Bruno Haible  <bruno@clisp.org>
90947
90948                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
90949                 use malloc instead. For SunOS 4.
90950
90951         2001-12-11  Bruno Haible  <bruno@clisp.org>
90952
90953                 * setenv.c: Declare alloca.
90954                 (compar_fn_t): New typedef.
90955                 (KNOWN_VALUE, STORE_VALUE): Use it.
90956
90957         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
90958         setenv.h.
90959
90960 2002-12-10  Paul Eggert  <eggert@twinsun.com>
90961
90962         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
90963         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
90964         Choose values that are less likely to collide with system fnmatch
90965         options.
90966         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
90967         defined (e.g., a pure POSIX system).
90968         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
90969         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
90970
90971 2002-12-06  Paul Eggert  <eggert@twinsun.com>
90972
90973         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
90974         a pain in practice to deal with generated m4 files.  This change
90975         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
90976
90977         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
90978         and jm-glibc-io.m4, as they are no longer a special case.
90979         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
90980         kludge and the auto-generation stuff.  Check only whether the
90981         functions are declared, not whether they exist, since older hosts
90982         that don't declare the functions can't use the optimization anyway.
90983
90984 2002-12-06  Jim Meyering  <jim@meyering.net>
90985
90986         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
90987
90988         Merge in changes from libc's misc/error.c, in preparation
90989         for the merge of gnulib's changes back into libc.
90990
90991         * lib/error.c (_): Define only if not already defined.
90992         Move definition to follow all #include directives.
90993         Include unlocked-io.h only if !_LIBC.
90994         [_LIBC]: Include <libio/libioP.h>.
90995         [USE_IN_LIBIO]: Include <libio/iolibio.h>
90996         (fflush): Tweak definition to use INTUSE.
90997         (putc): Define.
90998
90999 2002-12-05  Paul Eggert  <eggert@twinsun.com>
91000
91001         * lib/alloca.c [defined emacs]: Include "lisp.h".
91002         (xalloc_die) [defined emacs]: New macro.
91003         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
91004         [! defined emacs]: Include <xalloc.h>.
91005         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
91006         (pointer): Typedef to POINTER_TYPE *.
91007         (malloc): Remove decl; we now always use xmalloc.
91008         (alloca): Use old-style definition, since Emacs needs this.
91009         Check for arithmetic overflow when computing combined size.
91010
91011 2002-12-04  Paul Eggert  <eggert@twinsun.com>
91012
91013         Do not generate unlocked-io.h automatically, since it's easier to
91014         maintain it by hand.
91015
91016         * lib/unlocked-io.h: New file, from GNU diffutils,
91017         but with proper copyright notice and attribution.
91018         * lib/gen-uio: Remove.
91019         * lib/Makefile.am: Add copyright notice.
91020         (libfetish_a_SOURCES): Add unlocked-io.h.
91021         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
91022         (DISTCLEANFILES, io_functions): Remove macros.
91023         (EXTRA_DIST): Remove gen_uio.
91024         (unlocked-io.h): Remove rule.
91025
91026 2002-12-04  Jim Meyering  <jim@meyering.net>
91027
91028         Reflect the fact that stat.c and lstat.c are no longer generated.
91029         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
91030         (DISTCLEANFILES): Likewise.
91031         (EXTRA_DIST): Likewise.
91032         (all_local): Don't depend on stat.c or lstat.c.
91033         (stat.c, lstat.c): Remove rules.
91034         (EXTRA_DIST): Remove xstat.in.
91035
91036         * lib/xstat.in: Remove file.  Contents moved into stat.c.
91037         * lib/stat.c: New file.  Contents mostly from xstat.in.
91038         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
91039         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
91040
91041         * lib/safe-read.c: Rework so that it may serve to define safe_write,
91042         too.
91043         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
91044
91045 2002-12-03  Jim Meyering  <jim@meyering.net>
91046
91047         * lib/safe-read.c, safe-write.c: Change variable names and comments,
91048         but not semantics, to minimize the differences between these two files.
91049         (safe_read): Change comment to mention SAFE_READ_ERROR.
91050
91051         * lib/safe-read.c (IS_EINTR): Define.
91052         (safe_read): Use IS_EINTR in place of in-function cpp directives.
91053
91054 2002-12-02  Jim Meyering  <jim@meyering.net>
91055
91056         * lib/safe-read.c (EINTR): Define.
91057         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91058         (INT_MAX): Provide fallback.
91059         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
91060
91061         * lib/safe-read.h (SAFE_READ_ERROR): Define.
91062
91063 2002-12-02  Bruno Haible  <bruno@clisp.org>
91064
91065         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
91066         Define, taken from safe-read.c.
91067         (INT_MAX): Provide fallback.
91068         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
91069         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
91070
91071         * lib/safe-read.c (EINTR): Remove definition.
91072         (safe_read): Don't use EINTR if it is absent.
91073
91074 2002-12-01  Jim Meyering  <jim@meyering.net>
91075
91076         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
91077         zero.
91078         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
91079
91080 2002-11-27  Paul Eggert  <eggert@twinsun.com>
91081
91082         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
91083         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
91084         with `if (! (value < limit)) abort ();', for readability.
91085
91086 2002-11-26  Karl Berry  <karl@gnu.org>
91087
91088         * lib/strdup.c: copy from libc again, with jim's ok.
91089         * lib/.cppi-disable: re-add strdup.c
91090
91091 2002-11-25  Karl Berry  <karl@gnu.org>
91092
91093         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
91094         instead of "strtol.c".
91095
91096 2002-11-25  Karl Berry  <karl@gnu.org>
91097
91098         * config/install-sh: update from automake for variable quoting, $0 in
91099         error msgs, etc.
91100
91101         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
91102         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
91103         entry.
91104
91105 2002-11-25  Jim Meyering  <jim@meyering.net>
91106
91107         * lib/mktime.c: Sync from libc, now that it has the latest fix.
91108
91109 2002-11-24  Karl Berry  <karl@gnu.org>
91110
91111         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
91112         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
91113
91114 2002-11-24  Jim Meyering  <jim@meyering.net>
91115
91116         Update from coreutils:
91117
91118         * lib/mktime.c: Merge in changes from libc.
91119
91120         Avoid a link-time failure on some Linux systems.
91121         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
91122         (otherwise).
91123         (__mon_yday): Declare with the STATIC attribute.
91124         (__mktime_internal): Likewise.
91125         Based on a report from Greg Schafer.
91126
91127 2002-11-23  Jim Meyering  <jim@meyering.net>
91128
91129         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
91130         Use `unsigned', not `int', as type of index.
91131
91132         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
91133
91134         * lib/fsusage.c: Remove unneeded parentheses around operands of
91135         `defined'.
91136
91137 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91138
91139         * lib/quotearg.h: Allow multiple inclusion by surrounding with
91140         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
91141         so that we can be included first.
91142         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
91143         * lib/quotearg.c: Include quotearg.h immediately after config.h.
91144         No need to include stddef.h or sys/types.h any more.
91145         Surround local include files with "", not "<>".
91146         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
91147         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
91148         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
91149         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
91150         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
91151         (ISPRINT): Remove; no longer needed now that we assume C89.
91152
91153         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
91154         Preserve errno.
91155
91156         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
91157         quotearg_char): Use SIZE_MAX rather than
91158         (size_t) -1 when we are talking about "infinity".
91159
91160         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
91161
91162 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91163
91164         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
91165         hint that one should use `if (! x) abort ();' rather than `assert
91166         (x);', and anyway it's one less thing to worry about configuring.
91167         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
91168         hash_rehash, hash_insert): Use abort rather than assert.
91169
91170 2002-11-22  Bruno Haible  <bruno@clisp.org>
91171
91172         * lib/safe-read.h: Assume C89. Add comments.
91173         (safe_read): Change return type to size_t.
91174         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
91175         byte counts > SSIZE_MAX correctly.
91176         * lib/safe-write.h: New file.
91177         * lib/safe-write.c: New file.
91178         * lib/full-read.h: New file.
91179         * lib/full-read.c: New file.
91180         * lib/full-write.h: Assume C89. Add comments.
91181         * lib/full-write.c: Include safe-write.h.
91182         (full_write): Rewritten to use safe_write.
91183         Suggested by Jim Meyering and Paul Eggert.
91184
91185 2002-11-21  Jim Meyering  <jim@meyering.net>
91186
91187         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
91188
91189         Merge in changes from the coreutils.
91190
91191         2002-09-25  Paul Eggert  <eggert@twinsun.com>
91192         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
91193         <stdint.h>.
91194         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
91195         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
91196         int.  Work more efficiently if X is the same width as uintmax_t.
91197         Do not compare X to -1, to avoid bogus compiler warning.
91198         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
91199         Don't assume that f_frsize and f_bsize are the same type.
91200
91201         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
91202         warning on FreeBSD.
91203
91204         * lib/makepath.c (make_path): Restore umask *before* creating the final
91205         component.
91206         (make_path): Minor reformatting.
91207
91208         * lib/xmalloc.c: Adjust to work with new autoconf macros,
91209         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
91210         HAVE_MALLOC/HAVE_REALLOC.
91211
91212         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
91213         dummy ones.  At least on GNU/Linux systems, `auto' means something
91214         else.
91215         From Michael Stone.
91216
91217 2002-11-21  Bruno Haible  <bruno@clisp.org>
91218
91219         Remove case insensitive option matching.
91220         * lib/argmatch.h (argcasematch): Remove declaration.
91221         (ARGCASEMATCH): Remove macro.
91222         (__xargmatch_internal): Remove case_sensitive argument.
91223         (XARGMATCH): Update.
91224         (XARGCASEMATCH): Remove macro.
91225         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
91226         case_sensitive argument.
91227         (argcasematch): Remove function.
91228         (__xargmatch_internal): Remove case_sensitive argument.
91229         (main): Use XARGMATCH instead of XARGCASEMATCH.
91230
91231         * lib/xmalloc.c: Change compile-time error message. Add comment about
91232         required autoconf version.
91233
91234 2002-11-20  Paul Eggert  <eggert@twinsun.com>
91235
91236         Merge argmatch cleanups from Bison.  Assume C89.
91237
91238         * lib/argmatch.c: Include config.h here, not in argmatch.h.
91239         Include stdlib.h, for EXIT_FAILURE.
91240         Always include <string.h>, since we assume C89.
91241         (EXIT_FAILURE): Remove pre-C89 bug workaround.
91242         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
91243         Include <stddef.h> instead, since it's all we need for size_t.
91244         (PARAMS): Remove.  All uses removed.
91245         (ARRAY_CARDINALITY): Do not bother to #undef.
91246         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
91247         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91248         Remove unnecessary parentheses.
91249         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
91250         Insert necessary parentheses.
91251         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
91252         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
91253
91254 2002-11-19  Bruno Haible  <bruno@clisp.org>
91255
91256         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
91257         * lib/mbswidth.h: Include <stddef.h>, for size_t.
91258
91259         * lib/mbswidth.h (PARAMS): Remove macro.
91260         (mbswidth, mbsnwidth): Use ANSI C function declarations.
91261         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
91262
91263         * lib/gcd.h (PARAMS): Remove macro.
91264         (gcd): Use ANSI C function declarations.
91265         * lib/gcd.c (gcd): Likewise.
91266
91267 2002-11-15  Bruno Haible  <bruno@clisp.org>
91268
91269         * lib/strcspn.c: Include <stddef.h>.
91270         (strcspn): Use ANSI C function declaration. Change return type to
91271         size_t. Use NULL.
91272         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
91273         (strpbrk): Use NULL.
91274         * lib/strpbrk.h (PARAMS): Remove macro.
91275         (strpbrk): Use ANSI C function declaration.
91276         * lib/strstr.c: Don't include <sys/types.h>.
91277         * lib/strstr.h (PARAMS): Remove macro.
91278         (strstr): Use ANSI C function declarations.
91279
91280 2002-11-14  Karl Berry  <karl@gnu.org>
91281
91282         * config/mkinstalldirs: `do' on separate line, instead of
91283         `for var; do'.
91284
91285 2002-11-06  Bruno Haible  <bruno@clisp.org>
91286
91287         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
91288         * lib/gcd.c (gcd): Likewise.
91289
91290 2002-11-05  Bruno Haible  <bruno@clisp.org>
91291
91292         * lib/gcd.h: New file, from gettext-0.11.5.
91293         * lib/gcd.c: New file, from gettext-0.11.5.
91294
91295 2002-11-05  Bruno Haible  <bruno@clisp.org>
91296
91297         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91298         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91299         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91300         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
91301
91302         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
91303         <libintl.h>.
91304         * lib/makepath.c: Include gettext.h instead of <locale.h> and
91305         <libintl.h>.
91306
91307         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
91308         * lib/human.c: Include gettext.h instead of <libintl.h>.
91309         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
91310         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
91311         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
91312         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
91313         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
91314         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
91315         (textdomain): Remove definition.
91316         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
91317
91318         * lib/long-options.c: Remove include of <libintl.h> and definition of
91319         _.
91320         * lib/same.c: Remove include of <libintl.h> and definition of _.
91321
91322 2002-11-04  Owen Taylor  <otaylor@redhat.com>
91323
91324         * lib/config.charset: A few additions for Solaris.
91325
91326 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91327
91328         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
91329         * lib/localcharset.c (locale_charset): Declare as extern "C".
91330
91331 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
91332
91333         * lib/config.charset: msdos in uk_UA uses CP1125.
91334
91335 2002-11-04  Bruno Haible  <bruno@clisp.org>
91336
91337         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
91338         * lib/strcase.h: New file, from GNU gettext-0.11.5.
91339         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
91340         * lib/strstr.h: New file, from GNU gettext-0.11.5.
91341         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
91342
91343 2002-11-04  Bruno Haible  <bruno@clisp.org>
91344
91345         * lib/localcharset.c (locale_charset): Don't return an empty string.
91346
91347 2002-11-04  Bruno Haible  <bruno@clisp.org>
91348
91349         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
91350         aliases.
91351
91352 2002-11-04  Bruno Haible  <bruno@clisp.org>
91353
91354         * lib/config.charset: Update for newest glibc. Add canonical names
91355         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
91356
91357 2002-11-04  Bruno Haible  <bruno@clisp.org>
91358
91359         * lib/config.charset: Add support for NetBSD.
91360
91361 2002-11-04  Bruno Haible  <bruno@clisp.org>
91362
91363         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
91364
91365 2002-11-01  Bruno Haible  <bruno@clisp.org>
91366
91367         * configure.in: Add AC_CONFIG_AUX_DIR call.
91368         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
91369         test/Makefile.
91370         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
91371
91372 2002-09-28  Karl Berry  <karl@gnu.org>
91373
91374         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
91375         installed automake until the next release, since changes have been
91376         made.
91377
91378 2002-09-25  Karl Berry  <karl@gnu.org>
91379
91380         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
91381         * lib/getopt*: copy from libc/posix.
91382         * lib/gettext.h: copy from gettext.
91383         * lib/.cppi-disable: add strdup.c, gettext.h.
91384
91385 2002-09-25  Karl Berry  <karl@gnu.org>
91386
91387         * config/srclist.txt: enable gettext.h check.
91388         * config/config.{guess,sub}: update from prep.
91389         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
91390                 from automake 1.6.3.
91391         See srclist*.
91392
91393 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
91394
91395         * regex.c (PATFETCH): Remove the translating fetch.
91396         (PATFETCH_RAW): Rename to PATFETCH.
91397         (set_image_of_range): New fun.
91398         (SET_RANGE_TABLE_WORK_AREA): Use it.
91399         (regex_compile): Don't translate the pattern chars so eagerly.
91400         Only do it when inserting an `exactn' bytecode or when handling
91401         a char-range.
91402         (mutually_exclusive_p): Avoid empty statement.
91403
91404 2002-07-06  Jim Meyering  <meyering@lucent.com>
91405
91406         * m4/README: Don't mention Makefile.am.in.
91407         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
91408
91409 2002-07-01  Jim Meyering  <meyering@lucent.com>
91410
91411         * lib/c-stack.c: Include sys/time.h.
91412         From Volker Borchert.
91413
91414 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91415
91416         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
91417
91418 2002-06-26  Paul Eggert  <eggert@twinsun.com>
91419
91420         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
91421         New macro.  Use it uniformly instead of
91422         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
91423         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
91424         reported by Vin Shelton.
91425
91426 2002-06-22  Paul Eggert  <eggert@twinsun.com>
91427
91428         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
91429         Do not assume SA_SIGINFO behavior.
91430         Bug reported by Jim Meyering on NetBSD 1.5.2.
91431
91432 2002-06-22  Jim Meyering  <meyering@lucent.com>
91433
91434         * m4/c-stack.m4: New file, from diffutils-2.8.2.
91435         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
91436
91437         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
91438         now that configure.ac uses AC_GNU_SOURCE.
91439         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
91440         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
91441
91442         Update to latest tools.  Suggestions from Paul Eggert.
91443         * m4/stdbool.m4: New file, from diffutils-2.8.2.
91444         * m4/gnu-source.m4: Update from diffutils-2.8.2.
91445         * m4/fnmatch.m4: Likewise.
91446         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
91447         to AC_HEADER_STDBOOL
91448
91449 2002-06-22  Jim Meyering  <meyering@lucent.com>
91450
91451         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
91452         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
91453
91454 2002-06-22  Jim Meyering  <meyering@lucent.com>
91455
91456         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
91457
91458         * lib/exitfail.c, exitfail.h: Likewise.
91459         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
91460
91461         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
91462         of fnmatch.h.
91463         (EXTRA_DIST): Add fnmatch_loop.c.
91464         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
91465
91466         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
91467         * lib/fnmatch.c: Update from diffutils-2.8.2.
91468         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
91469         * lib/fnmatch.h: Remove file.
91470
91471 2002-06-21  Jim Meyering  <meyering@lucent.com>
91472
91473         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
91474         * m4/mbrtowc.m4: Likewise.
91475
91476         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
91477         * m4/mbswidth.m4: Reflect name change:
91478         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
91479         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91480
91481         * m4/lib-link.m4: Update from gettext-0.11.2.
91482         * m4/gettext.m4: Likewise.
91483
91484         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
91485         From Alfred M. Szmidt.
91486
91487 2002-06-18  Paul Eggert  <eggert@twinsun.com>
91488
91489         * lib/file-type.h: Report an error if neither S_ISREG nor
91490         S_IFREG is defined, instead of using a test specific to glibc
91491         2.2.  This should be safe, since POSIX requires S_ISREG and
91492         Unix Version 7 had S_IFREG.  We don't need to check for
91493         <sys/types.h> since we don't use any symbols that it defines.
91494
91495 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
91496
91497         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
91498         $@-t, so that each temporary file name is unique and valid in the first
91499         8 characters, for operation under DOS.
91500
91501 2002-06-15  Paul Eggert  <eggert@twinsun.com>
91502
91503         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
91504
91505 2002-06-15  Jim Meyering  <meyering@lucent.com>
91506
91507         Work even with DJGPP 2.03, which lacks support for symlinks.
91508         From Richard Dawe.
91509         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
91510         is defined.
91511         * lib/lchown.c (S_ISLNK): Likewise.
91512
91513 2002-06-15  Jim Meyering  <meyering@lucent.com>
91514
91515         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
91516         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
91517         have been included before this file.
91518
91519 2002-06-14  Jim Meyering  <meyering@lucent.com>
91520
91521         * lib/file-type.h: Use the version from diffutils-2.8.2.
91522         * lib/file-type.c: Likewise.
91523
91524 2002-06-07  Jim Meyering  <meyering@lucent.com>
91525
91526         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
91527         They're needed at least for NetBSD 1.5.2.
91528         ($statxfs_includes): Include those same headers.
91529         ($statxfs_includes): Include sys/vfs.h if available.
91530         ($statxfs_includes): Likewise for sys/statvfs.h.
91531         Check for the following members in both structs statfs and statvfs:
91532         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
91533
91534 2002-06-01  Jim Meyering  <meyering@lucent.com>
91535
91536         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
91537         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
91538
91539 2002-05-28  Jim Meyering  <meyering@lucent.com>
91540
91541         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
91542         Reported by Volker Borchert.
91543
91544 2002-05-27  Jim Meyering  <meyering@lucent.com>
91545
91546         Fix a problem seen only on nonconforming systems whereby ls.c's
91547         use of localtime, and then of gettimeofday would cause trouble:
91548         the localtime call used to initialize rpl_gettimeofday's save
91549         mechanism would clobber ls's current local time information so
91550         that in any long listing the first file would always be listed
91551         with date 1970-01-01.  Analysis by Volker Borchert.
91552
91553         * lib/gettimeofday.c (localtime): Undefine.
91554         (rpl_localtime): New function.
91555
91556 2002-05-27  Jim Meyering  <meyering@lucent.com>
91557
91558         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
91559         localtime.
91560
91561         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
91562         use the replacement function; it wouldn't resolve at link time.
91563         Reported by Volker Borchert.
91564
91565 2002-05-22  Jim Meyering  <meyering@lucent.com>
91566
91567         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
91568         file-type.h.
91569         * lib/file-type.h: New file.
91570         * lib/file-type.c (file_type): New file/function.  Extracted from
91571         diffutils.
91572
91573 2002-04-30  Jim Meyering  <meyering@lucent.com>
91574
91575         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
91576
91577 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91578
91579         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
91580
91581 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91582
91583         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
91584         Do not check for alloca.h (no longer used) or stdbool.h (was never
91585         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
91586
91587 2002-04-29  Paul Eggert  <eggert@twinsun.com>
91588
91589         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
91590
91591 2002-04-29  Jim Meyering  <meyering@lucent.com>
91592
91593         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
91594         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
91595         Use AC_FUNC_STRNLEN here instead.
91596
91597         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
91598         With autoconf-2.53a, it's part of AC_PROG_CC.
91599
91600 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91601
91602         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
91603         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
91604
91605 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91606
91607         * lib/sig2str.h, lib/sig2str.c: New files.
91608         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
91609
91610 2002-04-28  Paul Eggert  <eggert@twinsun.com>
91611
91612         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
91613         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
91614         of 127, since 64 is the largest conceivable number for ancient
91615         nonstandard hosts.
91616         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
91617
91618 2002-04-28  Jim Meyering  <meyering@lucent.com>
91619
91620         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
91621
91622 2002-04-24  Jim Meyering  <meyering@lucent.com>
91623
91624         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
91625         (jm_PREREQ): Use it.
91626
91627         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
91628         mach/mach.h fcntl.h.
91629         Check for this function: setlocale.
91630
91631 2002-04-24  Jim Meyering  <meyering@lucent.com>
91632
91633         * lib/gettext.h: New file, from Gettext.
91634         * lib/Makefile.am (INCLUDES): Remove -I../intl.
91635         (libfetish_a_SOURCES): Add gettext.h.
91636
91637 2002-04-16  Jim Meyering  <meyering@lucent.com>
91638
91639         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
91640         ut_pid, ut_id, ut_exit.
91641
91642 2002-04-16  Jim Meyering  <meyering@lucent.com>
91643
91644         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
91645         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
91646         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
91647
91648 2002-04-12  Jim Meyering  <meyering@lucent.com>
91649
91650         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
91651         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
91652         existence of the getmntinfo function.  Needed for Darwin 5.3.
91653
91654         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
91655         This is necessary at least on Darwin 5.3.
91656
91657         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
91658         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
91659         strnlen.o in the library, and that makes some versions of ranlib
91660         object.
91661
91662 2002-04-12  Jim Meyering  <meyering@lucent.com>
91663
91664         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
91665
91666 2002-04-09  Jim Meyering  <meyering@lucent.com>
91667
91668         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
91669         to be more precise.  Rather than saying we're checking whether the
91670         function `works', say what we're testing.
91671         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
91672         Reported by Bruno Haible.
91673
91674 2002-03-10  Jim Meyering  <meyering@lucent.com>
91675
91676         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
91677         Suggestion from Santiago Vila.
91678
91679 2002-03-08  Jim Meyering  <meyering@lucent.com>
91680
91681         * lib/rename.c: Mention that this wrapper is needed also on
91682         mips-dec-ultrix4.4 systems.
91683
91684 2002-03-02  Jim Meyering  <meyering@lucent.com>
91685
91686         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
91687         not HAVE_CLOCK_SETTIME.
91688
91689 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91690
91691         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
91692         Check for clock_settime.
91693
91694 2002-02-27  Paul Eggert  <eggert@twinsun.com>
91695
91696         * lib/nanosleep.h: Rename to....
91697         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
91698
91699         * lib/gettime.c: New file.
91700         * lib/settime.c: New file.
91701         * lib/stime.c: Remove.
91702
91703         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
91704         timespec.h.  Remove nanosleep.h.
91705
91706 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91707
91708         * m4/acl.m4: New file.
91709         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
91710         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
91711
91712 2002-02-25  Paul Eggert  <eggert@twinsun.com>
91713
91714         * lib/acl.c, lib/acl.h: New files.
91715         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
91716
91717 2002-02-24  Jim Meyering  <meyering@lucent.com>
91718
91719         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
91720         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
91721         cause trouble.  Reported by Nelson Beebe.
91722
91723 2002-02-23  Paul Eggert  <eggert@twinsun.com>
91724
91725         * lib/path-concat.c (xpath_concat): Reorder code to pacify
91726         compilers that don't know that xalloc_die never returns.
91727
91728 2002-02-20  Jim Meyering  <meyering@lucent.com>
91729
91730         * lib/getdate.c: Regenerate using bison-1.33.
91731
91732 2002-02-17  Jim Meyering  <meyering@lucent.com>
91733
91734         * config/config.guess (main): Don't use `head -1'; it's no longer
91735         portable. Use `sed 1q' instead.
91736
91737 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
91738
91739         * m4/codeset.m4: Upgrade to gettext-0.11.
91740         * m4/gettext.m4: Upgrade to gettext-0.11.
91741         * m4/glibc21.m4: Upgrade to gettext-0.11.
91742         * m4/iconv.m4: Upgrade to gettext-0.11.
91743         * m4/isc-posix.m4: Upgrade to gettext-0.11.
91744         * m4/lcmessage.m4: Upgrade to gettext-0.11.
91745         * m4/lib-ld.m4: New file, from gettext-0.11.
91746         * m4/lib-link.m4: New file, from gettext-0.11.
91747         * m4/lib-prefix.m4: New file, from gettext-0.11.
91748         * m4/progtest.m4: Upgrade to gettext-0.11.
91749
91750 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91751
91752         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
91753         (jm_PREREQ): Use it.
91754
91755 2002-02-15  Paul Eggert  <eggert@twinsun.com>
91756
91757         * lib/posixver.c, lib/posixver.h: New files.
91758         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91759
91760 2002-02-02  Paul Eggert  <eggert@twinsun.com>
91761             Bruno Haible  <bruno@clisp.org>
91762
91763         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
91764         (fwrite_success_callback): New declaration.
91765         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
91766         print_unicode_char. Call failure callback instead of error.
91767         (fwrite_success_callback): New function.
91768         (exit_failure_callback): New function.
91769         (fallback_failure_callback): New function.
91770         (print_unicode_char): Call unicode_to_mb.
91771
91772 2002-01-26  Jim Meyering  <meyering@lucent.com>
91773
91774         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
91775         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
91776
91777 2002-01-26  Jim Meyering  <meyering@lucent.com>
91778
91779         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
91780
91781 2002-01-22  Paul Eggert  <eggert@twinsun.com>
91782
91783         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
91784
91785 2002-01-22  Jim Meyering  <meyering@lucent.com>
91786
91787         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
91788         Otherwise, some versions of automake would omit the rule that makes
91789         Makefile from Makefile.in.
91790
91791 2002-01-21  Paul Eggert  <eggert@twinsun.com>
91792
91793         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
91794         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
91795         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
91796         (memcoll): Set errno to zero if there is no error.
91797
91798         * lib/quotearg.c (quotearg_buffer_restyled):
91799         Fix bug with quoting buffers containing NUL when backslashing escapes.
91800         This bug was exposed by the other changes in this patch.
91801         (quotearg_n_options): New arg ARGSIZE.
91802         All callers changed.
91803         (quoting_options_from_style): New function.
91804         (quotearg_n_style): Use it.
91805         (quotearg_n_style_mem): New function.
91806
91807         * lib/quotearg.h (quotearg_n_style_mem): New function.
91808
91809 2002-01-19  Jim Meyering  <meyering@lucent.com>
91810
91811         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
91812         Remove useless quotes: DF_PROG="df".
91813         * m4/strnlen.m4: New file.
91814
91815 2002-01-16  Paul Eggert  <eggert@twinsun.com>
91816
91817         * lib/backupfile.c (ISDIGIT): Comment fix.
91818         * lib/getdate.y (ISDIGIT): Likewise.
91819         * lib/posixtm.c (ISDIGIT, year): Likewise.
91820         * lib/strverscmp.c (ISDIGIT): Likewise.
91821         * lib/userspec.c (ISDIGIT): Likewise.
91822
91823 2002-01-16  Jim Meyering  <meyering@lucent.com>
91824
91825         * lib/getdate.y: Add three semicolons, each just before a closing
91826         brace. Bison (as of version 1.31) no longer papers over that mistake.
91827
91828 2002-01-05  Jim Meyering  <meyering@lucent.com>
91829
91830         * lib/version-etc.c (version_etc_copyright): Update copyright year.
91831
91832 2001-12-19  Paul Eggert  <eggert@twinsun.com>
91833
91834         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
91835         not silently exit merely because the output buffer happens to
91836         have nothing pending.
91837
91838 2001-12-18  Paul Eggert  <eggert@twinsun.com>
91839
91840         See the big note in ../ChangeLog.
91841         * lib/human.c (suffixes): Prefer K to k for 1024.
91842         (generate_suffix_backwards): New function.
91843         (human_readable_inexact): Use it.
91844         * lib/xstrtol.c (__xstrtol): If there is no number but there
91845         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
91846         Accept 'K' as well as 'k'.
91847
91848 2001-12-15  Jim Meyering  <meyering@lucent.com>
91849
91850         * lib/regex.h (__restrict_arr): Update from libc.
91851
91852         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
91853         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
91854         (STREQ): Define.
91855
91856 2001-12-14  Jim Meyering  <meyering@lucent.com>
91857
91858         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
91859         Suggestion from Bruno Haible.
91860
91861 2001-12-10  Jim Meyering  <meyering@lucent.com>
91862
91863         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
91864         xrealloc, Instead, include "xalloc.h".
91865         (initbuffer): Don't cast xmalloc return value to char*.
91866         (readline): Reword comment.
91867         Don't cast xrealloc return value to char*
91868         Return NULL, not 0.
91869
91870 2001-12-09  Jim Meyering  <meyering@lucent.com>
91871
91872         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
91873         about `signed and unsigned type in conditional expression'.
91874         * lib/posixtm.c (posix_time_parse): Likewise.
91875
91876         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
91877
91878         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
91879         to avoid a pedantic warning.
91880
91881         * lib/getstr.c: Don't include assert.h.
91882         (getstr): Remove warning-evoking assertions.
91883         Return -1 if offset parameter is out of bounds.
91884         Change the type of a local from int to size_t.
91885
91886         * lib/strftime.c (my_strftime_localtime_r): Include this function
91887         definition in the `#if ! HAVE_TM_GMTOFF' block.
91888
91889         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
91890         Include xalloc.h instead.
91891
91892 2001-12-02  Jim Meyering  <meyering@lucent.com>
91893
91894         * lib/tempname.c: Don't declare getenv, thus reverting the change of
91895         2001-11-18.  It's no longer necessary, now that stdlib.h is always
91896         included.
91897
91898         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
91899         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
91900
91901 2001-11-30  Akim Demaille  <akim@epita.fr>
91902
91903         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
91904         before being defined.
91905
91906 2001-11-27  Paul Eggert  <eggert@twinsun.com>
91907
91908         * lib/quotearg.h (quotearg_n, quotearg_n_style):
91909         First arg is int, not unsigned.
91910         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
91911         (SIZE_MAX, UINT_MAX): New macros.
91912         (quotearg_n_options): Abort if N is negative.
91913         Avoid overflow check on hosts where size_t is 64 bits and int
91914         is 32 bits, as overflow is impossible there.
91915         Fix off-by-one typo that caused unnecessary reallocation.
91916
91917 2001-11-27  Jim Meyering  <meyering@lucent.com>
91918
91919         * lib/tempname.c: Merge with version from libc.
91920         * lib/regex.c: Likewise.
91921
91922         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
91923         systems for which STDC_HEADERS is 0, it was not included, resulting in
91924         a warning about an integer-to-pointer conversion problem with getenv.
91925         Reported by Volker Borchert.
91926
91927 2001-11-26  Jim Meyering  <meyering@lucent.com>
91928
91929         * lib/gtod.h: Remove file.
91930         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
91931         * lib/gettimeofday.c: Don't include gtod.h.
91932         (GTOD_init): Remove function.
91933         (rpl_gettimeofday): Do its job here instead, rather than aborting.
91934         Suggestion from Volker Borchert.
91935
91936 2001-11-23  Jim Meyering  <meyering@lucent.com>
91937
91938         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
91939         it.
91940         * lib/hash.c (struct hash_table): Define it here instead.
91941
91942 2001-11-22  Jim Meyering  <meyering@lucent.com>
91943
91944         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
91945
91946 2001-11-20  Jim Meyering  <meyering@lucent.com>
91947
91948         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
91949         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
91950
91951 2001-11-19  Jim Meyering  <meyering@lucent.com>
91952
91953         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
91954         directory.  Use "conftestXXXXXX" as the template.
91955         Suggestion from Paul Eggert.
91956
91957         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
91958         immediately, so the test doesn't mistakenly hit the max-open-files
91959         limit.
91960
91961 2001-11-18  Paul Eggert  <eggert@twinsun.com>
91962
91963         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
91964         (TEMPORARIES): New macro.
91965         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
91966         removes an artificial limitation (e.g. HP-UX 10.20, where
91967         TMP_MAX is 17576).
91968
91969 2001-11-18  Jim Meyering  <meyering@lucent.com>
91970
91971         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
91972
91973 2001-11-18  Jim Meyering  <meyering@lucent.com>
91974
91975         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
91976         on SunOS 4.
91977
91978         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
91979         files will be created before anything else.
91980
91981 2001-11-17  Paul Eggert  <eggert@twinsun.com>
91982
91983         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
91984         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
91985
91986 2001-11-17  Jim Meyering  <meyering@lucent.com>
91987
91988         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
91989         Prompted by a report from Bob Proulx.
91990
91991         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
91992         Instead, require UTILS_FUNC_MKSTEMP.
91993
91994 2001-11-17  Jim Meyering  <meyering@lucent.com>
91995
91996         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
91997         Now, that's done as part of AC_FUNC_STRTOD.
91998
91999 2001-11-17  Jim Meyering  <meyering@lucent.com>
92000
92001         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
92002         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
92003         rather than group writable.  Patch by Juan F. Codagnone.
92004
92005         * lib/readtokens.c: Remove explicit declarations of xmalloc and
92006         xrealloc, Instead, include "xalloc.h".
92007
92008         * lib/mountlist.c: Include unlocked-io.h after all system headers.
92009         Remove explicit declarations of xmalloc, xrealloc,
92010         and xstrdup.  Instead, include "xalloc.h".
92011
92012         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
92013         unlocked-io.h.
92014         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
92015         Likewise.
92016         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
92017
92018         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
92019         Reported by Padraig Brady.
92020
92021         * lib/mkstemp.c: #undef mkstemp.
92022         Include config.h.
92023         (rpl_mkstemp): Rename from mkstemp.
92024         Protoize.
92025
92026 2001-11-16  Jim Meyering  <meyering@lucent.com>
92027
92028         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
92029         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
92030         determine the amount of total physical memory, use pstat_getstatic.
92031         HPUX-11 doesn't define _SC_PHYS_PAGES.
92032         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
92033         If sysconf couldn't be used to determine the amount of available
92034         physical memory, use both pstat_getstatic and pstat_getdynamic.
92035         Based on a patch from Bob Proulx.
92036
92037 2001-11-10  Jim Meyering  <meyering@lucent.com>
92038
92039         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
92040         (jm_PREREQ): Use it.
92041
92042 2001-11-09  Jim Meyering  <meyering@lucent.com>
92043
92044         * m4/jm-macros.m4: Require autoconf-2.52f.
92045         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
92046         Use these AC_-prefixed names, not the AM_-prefixed ones.
92047
92048         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
92049
92050 2001-11-05  Jim Meyering  <meyering@lucent.com>
92051
92052         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
92053
92054 2001-11-04  Jim Meyering  <meyering@lucent.com>
92055
92056         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
92057         $DEFS.
92058
92059 2001-11-03  Jim Meyering  <meyering@lucent.com>
92060
92061         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
92062         of AC_DEFUN.
92063
92064         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
92065         know the name of the variable in the macro definition.
92066
92067 2001-11-03  Jim Meyering  <meyering@lucent.com>
92068
92069         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
92070         in argmatch_to_argument call.
92071
92072         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
92073         argument.
92074
92075         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
92076         e.g., a fault due to an attempt to free a NULL pointer.
92077
92078 2001-11-01  Jim Meyering  <meyering@lucent.com>
92079
92080         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
92081         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
92082
92083 2001-11-01  Jim Meyering  <meyering@lucent.com>
92084
92085         * lib/dirfd.c, lib/dirfd.h: New files.
92086         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
92087
92088         * lib/hash.c (hash_print) [TESTING]: Clean up.
92089
92090 2001-10-22  Paul Eggert  <eggert@twinsun.com>
92091
92092         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
92093         to avoid a warning if -Wall.
92094
92095 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
92096
92097         * README: New file
92098         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
92099         (per RMS's instructions, this is now the canonical source)
92100         * lgpl/, gpl/: New directories.
92101
92102 2001-10-21  Paul Eggert  <eggert@twinsun.com>
92103
92104         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
92105
92106 2001-10-21  Jim Meyering  <meyering@lucent.com>
92107
92108         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
92109         this code would end up calling gettext even in packages built
92110         with --disable-nls.
92111         * lib/getopt.c (_): Likewise.
92112         * lib/regex.c (_): Likewise.
92113
92114 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92115
92116         * m4/error.m4 (jm_PREREQ_ERROR):
92117         Do not invoke AC_CHECK_FUNCS with strerror_r, as
92118         AC_FUNC_STRERROR_R does that.
92119         Check for strerror declaration.
92120
92121         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
92122         are supposed to have them these days.
92123         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
92124         Merge changes from latest Autoconf CVS.
92125         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
92126         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
92127         POSIX decided to standardize on the int flavor of strerror_r.
92128
92129 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92130
92131         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
92132         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
92133         Use strerror_r that is only a macro, even if it is not a function.
92134         (strerror): Check for HAVE_DECL_STRERROR before declaring.
92135         (private_strerror): Use prototypes, not old-style function definition.
92136         (print_errno_message): New function.
92137         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
92138         char*-flavored one.
92139         (error_tail, error, error_at_line): Use it.
92140
92141 2001-10-11  Jim Meyering  <meyering@lucent.com>
92142
92143         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
92144         and quote_n (1, ... to avoid clobbering a buffer.
92145
92146 2001-10-05  Jim Meyering  <meyering@lucent.com>
92147
92148         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
92149         hash-pjw.h.
92150         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
92151         * lib/hash-pjw.h: New file.
92152
92153 2001-09-30  Jim Meyering  <meyering@lucent.com>
92154
92155         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
92156         `struct fsstat' has the `f_fstypename' member.
92157         Use that to define FS_TYPE, which is now used to make
92158         the getfsstat link test tighter.
92159
92160 2001-09-30  Jim Meyering  <meyering@lucent.com>
92161
92162         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
92163         Include <sys/ucred.h>, for Apple Darwin.
92164         Include sys/mount.h and sys/fs_types.h only if available.
92165         (FS_TYPE): Define.
92166         (read_filesystem_list): Use FS_TYPE.
92167
92168 2001-09-29  Paul Eggert  <eggert@twinsun.com>
92169
92170         * lib/exclude.c (excluded_filename): 0 -> false, since it's
92171         a boolean context.
92172
92173 2001-09-29  Jim Meyering  <meyering@lucent.com>
92174
92175         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92176         [one-argument getmntent function]): Include stdio.h before mntent.h.
92177         SunOS 4.1.x needs it for the declaration of `FILE'.
92178         Patch by Volker Borchert.
92179
92180         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92181         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
92182         sys/fs_types.h, and make the link-test for getfsstat guard #include
92183         directives with appropriate #if HAVE_*_H tests so that we can
92184         detect getfsstat on Apple Darwin1.3.7 systems.
92185         Reported by Nelson Beebe.
92186         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
92187
92188 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92189
92190         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92191         #defines strtoimax.  Also treat the other strto* functions
92192         like strtoimax.
92193
92194         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92195         Check for strtoul and strtoumax,
92196         as those declarations are made even in the signed case.
92197         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
92198         Likewise, for strtol and strtoimax.
92199
92200 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92201
92202         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
92203         #defines strtoimax.  Also treat the other strto* functions
92204         like strtoimax.
92205
92206         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
92207         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
92208         (strtoimax, strtoumax): Do not declare if already defined as a macro.
92209
92210 2001-09-26  Jim Meyering  <meyering@lucent.com>
92211
92212         Most macros in unlocked-io.h had the wrong number of arguments.
92213         * lib/gen-uio: New script.
92214         (USE_UNLOCKED_IO): Define to 1 if not already defined.
92215         * lib/unlocked-io.hin: Remove file.
92216         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
92217         rather than trying to embed it here.
92218         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
92219         Reported by Padraig Brady.
92220
92221 2001-09-25  Volker Borchert  <bt@teknon.de>
92222
92223         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
92224         `result'.
92225
92226 2001-09-24  Jim Meyering  <meyering@lucent.com>
92227
92228         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
92229
92230 2001-09-23  Jim Meyering  <meyering@lucent.com>
92231
92232         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
92233         instead of the mere test for existence of mntent.h.  The latter
92234         would get a false-positive on AIX 3.4 systems.
92235         In the outer getmntent if-block, don't die if neither of the getmntent
92236         tests succeeds.  Instead, just fall through and continue with the
92237         remaining tests.
92238
92239 2001-09-23  Jim Meyering  <meyering@lucent.com>
92240
92241         * lib/mountlist.c: Remove useless parentheses in #if directives.
92242         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
92243         the deprecated MOUNTED symbol is no longer defined in mntent.h.
92244
92245 2001-09-22  Jim Meyering  <meyering@lucent.com>
92246
92247         * m4/gettext.m4: New file.  From gettext.
92248         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
92249         * m4/progtest.m4: Likewise
92250         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
92251         * m4/glibc21.m4: Likewise.
92252
92253         * m4/libintl.m4: Remove.  No longer used.
92254
92255 2001-09-22  Jim Meyering  <meyering@lucent.com>
92256
92257         * lib/localcharset.c: Update from latest gettext.
92258         * lib/config.charset: Likewise.
92259
92260 2001-09-20  Jim Meyering  <meyering@lucent.com>
92261
92262         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
92263         strtoimax.
92264         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
92265         strtoumax.
92266
92267 2001-09-20  Jim Meyering  <meyering@lucent.com>
92268
92269         * lib/xstrtol.c (strtoimax): Guard declaration with
92270         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
92271         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
92272         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
92273         (strtoumax): Likewise, for completeness (it wasn't necessary).
92274
92275 2001-09-17  Paul Eggert  <eggert@twinsun.com>
92276
92277         * lib/strtoimax.c (HAVE_LONG_LONG):
92278         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
92279         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
92280         to work around bug in IBM C compiler.
92281
92282 2001-09-17  Jim Meyering  <meyering@lucent.com>
92283
92284         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
92285         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
92286         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
92287         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
92288         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
92289         whenever the right hand side need not be expanded by the shell.
92290
92291 2001-09-16  Paul Eggert  <eggert@twinsun.com>
92292
92293         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
92294         library.  It's not correct, as some older glibcs are buggy.
92295         fnmatch wasn't fixed until glibc 2.2.
92296
92297         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
92298         special shell magic here.
92299
92300 2001-09-16  Jim Meyering  <meyering@lucent.com>
92301
92302         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
92303         * m4/jm-macros.m4: Require it.
92304
92305 2001-09-16  Jim Meyering  <meyering@lucent.com>
92306
92307         * lib/mkdir.c: New file.
92308
92309 2001-09-15  Jim Meyering  <meyering@lucent.com>
92310
92311         * m4/jm-macros.m4: Check for help2man.
92312
92313 2001-09-11  Jim Meyering  <meyering@lucent.com>
92314
92315         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
92316         The body, by Paul Eggert, was moved here from configure.in.
92317         * m4/jm-macros.m4: Require UTILS_HOST_OS.
92318
92319 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92320
92321         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
92322         (jm_PREREQ): Use it.
92323
92324 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92325
92326         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
92327         Use ssize_t, not int, to store result of readlink.
92328         Check for ssize_t overflow as well as size_t overflow,
92329         as POSIX says the result of readlink is implementation-defined
92330         when ssize_t overflows.
92331         Remove unnecessary cast to char*.
92332         Use free+malloc instead of realloc, as the storage doesn't need
92333         to be preserved and it's clearer and can be more efficient that way.
92334         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
92335         * lib/xreadlink.h (xreadlink): Update prototype.
92336
92337 2001-09-04  Paul Eggert  <eggert@twinsun.com>
92338
92339         * lib/xgetcwd.c: Revert some of the previous change; intead,
92340         fix the HAVE_GETCWD_NULL code to behave more like the
92341         !HAVE_GETCWD_NULL code used to.
92342
92343         Include "xalloc.h".
92344         (xgetcwd): Do not return NULL when memory is exhausted; instead,
92345         invoke xalloc_die.
92346
92347 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92348
92349         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
92350         sys/param.h, as pathmax.h includes them.
92351
92352 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92353
92354         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
92355         (jm_PREREQ_XGETCWD): New macro.
92356
92357         * m4/getcwd.m4: New file.
92358
92359 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92360
92361         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
92362         like the HAVE_GETCWD_NULL code.
92363         Include pathmax.h if not HAVE_GETCWD.
92364         Do not include xalloc.h.
92365         (INITIAL_BUFFER_SIZE): New symbol.
92366         Do not use xmalloc / xrealloc, since the caller is responsible for
92367         handling errors.  Preserve errno around `free' during failure.
92368         Do not overrun buffer when using getwd.
92369
92370 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92371
92372         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
92373         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
92374         getcwd (NULL, 0).
92375
92376 2001-09-03  Paul Eggert  <eggert@twinsun.com>
92377
92378         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
92379         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
92380         spotted by Jim Meyering.
92381
92382 2001-09-03  Jim Meyering  <meyering@lucent.com>
92383
92384         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
92385         failure.
92386
92387 2001-09-02  Jim Meyering  <meyering@lucent.com>
92388
92389         * lib/error.c: Update from GNU libc.
92390
92391 2001-09-01  Jim Meyering  <meyering@lucent.com>
92392
92393         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
92394         Used by df.
92395
92396 2001-09-01  Jim Meyering  <meyering@lucent.com>
92397
92398         * lib/xreadlink.c: New file.
92399         * lib/xreadlink.h: New file.
92400         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
92401         xreadlink.h.
92402
92403         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
92404         doesn't conflict with sparc Solaris 7's definition in
92405         /usr/include/sys/int_types.h.
92406
92407         * lib/exclude.c: Use `""', not `<>' to #include non-system header
92408         files.
92409         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
92410         and strncasecmp as r-values.  Unixware didn't have declarations.
92411
92412 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92413
92414         * lib/xstrtol.h: Add copyright notice.
92415         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
92416         LONGINT_INVALID_SUFFIX_CHAR.
92417
92418 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92419
92420         * lib/xstrtol.c (strtoimax): New decl.
92421
92422 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92423
92424         * lib/xgetcwd.c: Don't include pathmax.h.
92425         Include stdlib.h and unistd.h if available.
92426         Include xalloc.h.
92427         (xmalloc, xstrdup, free): Remove decls.
92428         (xgetcwd): Don't assume sizes fit in unsigned.
92429         Check for overflow when computing sizes.
92430         Simplify reallocation code.
92431
92432 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92433
92434         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
92435         a directory's st_size can have an arbitrary value, so the old
92436         usage could waste an arbitrary amount of memory.  All uses
92437         changed.
92438         * lib/savedir.h: Update prototype.
92439
92440 2001-08-31  Paul Eggert  <eggert@twinsun.com>
92441
92442         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
92443
92444         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
92445         old strtoimax.c.
92446
92447         Also, make the following further changes to make this file's
92448         configuration more similar to that of strtol.c:
92449         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
92450         (strtoumax, uintmax_t, strtoull, strtol): Remove.
92451         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
92452         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
92453         changed to signed values.
92454
92455         And make the following changes as well:
92456         Fix copyright notice, as 1999 was missing.
92457         (verify): New macro.
92458         (strtoimax): Check sizes at compile-time, not run-time.
92459         Prefer strtol to strtoll if both work.
92460         (main): Remove; it was not that useful and was a pain to maintain.
92461
92462         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
92463
92464 2001-08-31  Jim Meyering  <meyering@lucent.com>
92465
92466         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
92467         Use an initial, malloc'd, buffer of length 128 rather than
92468         a statically allocated one of length 1024.
92469
92470 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92471
92472         Simplify code, partly by assuming autoconf 2.52 semantics.
92473
92474         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
92475
92476         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
92477         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
92478         All uses removed.
92479         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
92480         Move AC_REQUIRE to next-to-top level, to avoid confusion.
92481         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
92482         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
92483         jm_AC_HEADER_INTTYPES_H.
92484         * m4/jm-macros.m4 (jm_MACROS): Likewise.
92485
92486         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
92487
92488         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
92489         Quote first arg of AC_DEFUN.
92490         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
92491         since they are needed to parse the include file even if we need
92492         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
92493         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
92494         but with opposite signedness.
92495
92496 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92497
92498         Merge 'exclude' changes from tar 1.13.22.
92499         This fixes one or two unlikely storage allocation overflow bugs,
92500         but doesn't change user-visible behavior otherwise.
92501
92502 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92503
92504         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
92505         (jm_PREREQ_EXCLUDE): New macro.
92506
92507 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92508
92509         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
92510         tm to be declared.
92511
92512 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92513
92514         * lib/hash.c: Remove '2001' from copyright notice.
92515
92516 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92517
92518         * lib/full-write.h: New file.
92519         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
92520         * lib/full-write.c: Correct credits, as cccp.c no longer
92521         exists and anyway it was so heavily changed from the old cccp
92522         code as to be unrecognizable.  Include full-write.h.
92523         (full_write): Return size_t, with short writes meaning failure.
92524         All callers changed.  This fixes a bug with large buffers
92525         on 64-bit hosts.
92526         * lib/utime.c: Include full-write.h.
92527
92528 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92529
92530         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
92531         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
92532         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
92533         Include if available.
92534         (<xalloc.h>): Include
92535         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
92536         (verify): New macro.  Use it to verify that EXCLUDE macros do not
92537         collide with FNM macros.
92538         (struct patopts): New struct.
92539         (struct exclude): Use it, as exclude patterns now come with options.
92540         (new_exclude): Support above changes.
92541         (new_exclude, add_exclude_file):
92542         Initial size must now be a power of two to simplify overflow checking.
92543         (free_exclude, fnmatch_no_wildcards): New function.
92544         (excluded_filename): No longer requires options arg, as the options
92545         are determined by add_exclude.  Now returns bool, not int.
92546         (excluded_filename, add_exclude):
92547         Add support for the fancy new exclusion options.
92548         (add_exclude, add_exclude_file): Now takes int options arg.
92549         Check for arithmetic overflow when computing sizes.
92550         (add_exclude_file): xrealloc might modify errno, so don't
92551         realloc until after errno might be used.
92552
92553         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
92554         New macros.
92555         (free_exclude): New decl.
92556         (add_exclude, add_exclude_file): Now takes int options arg.
92557         (excluded_filename): No longer requires options arg, as the options
92558         are determined by add_exclude.  Now returns bool, not int.
92559
92560 2001-08-30  Paul Eggert  <eggert@twinsun.com>
92561
92562         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
92563
92564 2001-08-27  Jim Meyering  <meyering@lucent.com>
92565
92566         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
92567
92568         * lib/version-etc.c (N_): Remove definition.
92569         Revert most of last change.
92570         Instead, simply don't mark the `Copyright...' string for translation.
92571         Based on advice from Paul Eggert.
92572
92573         * lib/strtoxmax.c: Tweak comment.
92574
92575 2001-08-26  Jim Meyering  <meyering@lucent.com>
92576
92577         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
92578
92579         * m4/xstrtoimax.m4: New file.
92580         * m4/xstrtoumax.m4: Add comments explaining why we
92581         AC_REPLACE_FUNCS(strtol).
92582
92583 2001-08-26  Jim Meyering  <meyering@lucent.com>
92584
92585         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
92586         of copyright with `%s' so translators don't get an untranslated
92587         message in 2002.
92588         (COPYRIGHT_YEAR): Define.
92589         (version_etc): Use fprintf rather than fputs.
92590         Suggestion from Ulrich Drepper.
92591
92592         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
92593
92594         * lib/strtoll.c: New file, from GNU libc.
92595         * lib/xstrtoimax.c: New file.
92596
92597         * lib/xstrtol.h: Add xstrtoimax.
92598         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
92599         * lib/strtoimax.c: New file.  Likewise, but first define
92600         STRTOUXMAX_SIGNED.
92601
92602         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
92603         ...
92604         * lib/strtoxmax.c: ... then renamed to this.
92605
92606 2001-08-18  Paul Eggert  <eggert@twinsun.com>
92607
92608         * m4/inttypes.m4: Add AC_PREREQ(2.13).
92609         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
92610         (jm_AC_TYPE_INTMAX_T): New macro.
92611         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
92612
92613         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
92614
92615         * m4/longlong.m4: Renamed from ulonglong.m4.
92616         * m4/inttypes.m4: Renamed from inttypes_h.m4.
92617         * m4/uintmax_t.m4: Removed.
92618
92619 2001-08-13  Paul Eggert  <eggert@twinsun.com>
92620
92621         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
92622         Port to Solaris 8, where 'sed' requires a space after the 'r'
92623         command, and where sh dislikes "$/".  Clean up the spacing a bit.
92624         Redirect output to $tmp just once.
92625
92626 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
92627
92628         * lib/addext.c (<errno.h>): Include.
92629         (errno): Declare if not defined.
92630         (addext): Work correctly when pathconf returns -1 and leaves
92631         errno alone because there is no limit.  Also, work even if
92632         pathconf returns a value greater than SIZE_MAX.
92633
92634 2001-08-12  Jim Meyering  <meyering@lucent.com>
92635
92636         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
92637         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
92638         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
92639         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
92640         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
92641         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
92642         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
92643         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
92644         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
92645         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
92646         utime.m4, utimes.m4, xstrtoumax.m4:
92647         Quote the first argument in each use of AC_DEFUN.
92648
92649 2001-08-12  Jim Meyering  <meyering@lucent.com>
92650
92651         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
92652         Simply `return getcwd (NULL, 0);'.
92653         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
92654         Use 1300 as initial value for length, not PATH_MAX.
92655
92656         * lib/pathmax.h: Clean up cpp syntax.
92657
92658 2001-08-12  Jim Meyering  <meyering@lucent.com>
92659
92660         * lib/gettimeofday.c: New file.
92661         * lib/gtod.h: New file.
92662         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
92663
92664 2001-08-05  Jim Meyering  <meyering@lucent.com>
92665
92666         * m4/jm-macros.m4: Require autoconf-2.52.
92667
92668 2001-08-04  Jim Meyering  <meyering@lucent.com>
92669
92670         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
92671         stmt, to get in sync with glibc.
92672
92673 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92674
92675         The following changes are from gettext 0.10.39 as maintained by
92676         Bruno Haible.
92677
92678         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
92679         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
92680         with inverted sense.  All uses changed.
92681
92682         * lib/mbswidth.c: Don't include <limits.h>.
92683         Include <stdlib.h> and <string.h> unconditionally.
92684         (iswcntrl, mbsinit, ISCNTRL): New macros.
92685         (mbsnwidth): Use K&R style function declarations.
92686         Don't bother checking for MB_LEN_MAX == 1, since the compiler
92687         can optimize it when MB_CUR_MAX == 1.
92688         The width of control characters is zero, not 1.
92689
92690 2001-08-03  Paul Eggert  <eggert@twinsun.com>
92691
92692         The following changes are from gettext 0.10.39 as maintained by
92693         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
92694
92695         * m4/codeset.m4: Upgrade to serial AM1.
92696         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
92697         all uses changed.  Quote first arg of AC_DEFUN.
92698         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
92699
92700         * m4/iconv.m4: Upgrade to serial AM2.
92701         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
92702         Add --with-libconv-prefix.
92703         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
92704         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
92705         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
92706         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
92707         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
92708
92709         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
92710         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
92711         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
92712         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
92713         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
92714         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
92715         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
92716         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
92717         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
92718
92719         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
92720         string.h any more.
92721
92722         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
92723         not the default value.
92724
92725         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
92726         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
92727         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
92728         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
92729         Also check for iswcntrl, used for wcwidth fallback.
92730         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
92731         to Autoconf 2.13.
92732
92733 2001-08-03  Jim Meyering  <meyering@lucent.com>
92734
92735         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
92736         as it was in the original.  Reported by Paul Eggert.
92737
92738 2001-07-16  Jim Meyering  <meyering@lucent.com>
92739
92740         * m4/gettimeofday.m4: New file.
92741         Prompted by a report from Bernhard Baehr.
92742
92743 2001-07-15  Jim Meyering  <meyering@lucent.com>
92744
92745         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
92746         stuff. Now it's in ../Makefile.cfg.
92747
92748 2001-07-15  Jim Meyering  <meyering@lucent.com>
92749
92750         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
92751         (BUILT_SOURCES): Add unlocked-io.h.
92752         (io_functions): Define.
92753         (unlocked-io.h): New rule.
92754         (DISTCLEANFILES): Add unlocked-io.h.
92755         (all-local): Depend on unlocked-io.h, to ensure it is created.
92756
92757         * lib/unlocked-io.hin: New file
92758
92759         * lib/regex.c: Update from glibc.
92760
92761 2001-07-05  Jim Meyering  <meyering@lucent.com>
92762
92763         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
92764         recommendation.
92765         (libfetish_a_SOURCES): Put all .h files here instead.
92766         Remove a thus-exposed (better checks in automake) duplicate and
92767         two unnecessary .h files.
92768
92769 2001-07-04  Jim Meyering  <meyering@lucent.com>
92770
92771         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
92772         that generates jm-glibc-io.m4 so that it doesn't trigger any make
92773         distcheck failure.
92774
92775 2001-07-02  Jim Meyering  <meyering@lucent.com>
92776
92777         The following changes were prompted by suggestions from Bruno Haible.
92778
92779         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
92780         is now generated.
92781         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
92782         definition of EXTRA_DIST.
92783         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
92784         ensure that the generated file is created/updated whenever the list
92785         of $(unlocked_functions) is changed.
92786         (jm-glibc-io.m4): New rule.
92787         (unlocked-io.h): New rule -- currently unused.
92788
92789 2001-06-24  Jim Meyering  <meyering@lucent.com>
92790
92791         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
92792         unmatched right bracket, rather than kludging it with an extra,
92793         falsely-matching quote in a comment.  Patch by Akim Demaille.
92794
92795 2001-06-11  Jim Meyering  <meyering@lucent.com>
92796
92797         * lib/regex.c: Update from GNU libc.
92798
92799 2001-05-27  Jim Meyering  <meyering@lucent.com>
92800
92801         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
92802         Check for ut_type in struct utmp.
92803
92804 2001-05-27  Jim Meyering  <meyering@lucent.com>
92805
92806         * lib/readutmp.h (UT_TYPE): Define.
92807
92808 2001-05-24  Jim Meyering  <meyering@lucent.com>
92809
92810         * lib/argmatch.c: Include "quote.h".
92811         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
92812         quote function.  Reported by Göran Uddeborg.
92813
92814 2001-05-22  Jim Meyering  <meyering@lucent.com>
92815
92816         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
92817         now that we use the package-supplied version unconditionally.
92818         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
92819
92820 2001-05-21  Jim Meyering  <meyering@lucent.com>
92821
92822         * m4/regex.m4: Change a couple backticks to single quotes to avoid
92823         shell syntax errors.
92824
92825 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92826
92827         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
92828
92829 2001-05-20  Paul Eggert  <eggert@twinsun.com>
92830
92831         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
92832         Don't bother to check library strftime, since
92833         we'll be using our own my_strftime function anyway.
92834         Define my_strftime instead of strftime.
92835
92836 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
92837
92838         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
92839         which is not yet declared.
92840
92841 2001-05-15  Jim Meyering  <meyering@lucent.com>
92842
92843         * m4/regex.m4: Use proper quoting so brackets appear in the test
92844         program.
92845         Reported by, and with help from, Bruno Haible.
92846
92847 2001-05-13  Jim Meyering  <meyering@lucent.com>
92848
92849         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
92850         undefined.
92851
92852 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92853
92854         dirname code cleanup.  base_name now behaves more compatibly
92855         with POSIX basename when given file names that have trailing
92856         slashes, and similarly for dir_name.  Add new primitives
92857         base_len and dir_len.  Put the directory-name-related decls
92858         into dirname.h.
92859
92860         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
92861         * lib/backupfile.c (base_name): Likewise.
92862         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
92863         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
92864         * lib/makepath.c (strip_trailing_slashes): Likewise.
92865         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
92866         ISSLASH): Likewise.
92867         * lib/rename.c (strip_trailing_slashes): Likewise.
92868         * lib/same.c (base_name): Likewise.
92869         * lib/stripslash.c (ISSLASH): Likewise.
92870
92871         * lib/addext.c: Include <dirname.h> after size_t is defined.
92872         * lib/backupfile.c: Likewise.
92873
92874         * lib/addext.c (addext): Use base_len to trim redundant
92875         trailing slashes instead of doing it ourselves.
92876         But do not trim the last slash if it is not redundant.
92877
92878         * lib/backupfile.c (find_backup_file_name,
92879         max_backup_version): Use base_len instead of rolling it ourselves.
92880         Handle the case of "" and (on DOS) "C:" correctly.
92881
92882         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
92883         needed. Include <string.h>, <dirname.h>.
92884         (base_name): Allow file names ending in slashes, other than names
92885         that are all slashes.  In this case, return the basename followed
92886         by the slashes.  This is more general, and can be used in places
92887         where the original base_name purposely had an assertion failure.
92888         (base_len): New function.
92889
92890         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
92891         Do not include <assert.h>; no longer needed.
92892         Include xalloc.h.
92893         (memrchr): Remove decl.
92894         (dir_name_r): Remove.
92895         (dir_len): Renamed from dirlen.  All callers changed.
92896         Rewrite in terms of base_name, for simplicity and consistency.
92897         (dir_name): Never return NULL.  All callers changed.
92898         Do not include <stdlib.h> in test program; no longer needed.
92899         return 0; is fine for test program.
92900
92901         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
92902         New macros.
92903         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
92904
92905         * lib/path-concat.c (path_concat): Use base_len to compute
92906         base length, not strlen; this means we cannot rely on memcpy
92907         to null-terminate.
92908
92909         * lib/same.c (STREQ): Remove.
92910         (same_name): Handle the case where the basename ends in trailing '/'.
92911
92912         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
92913         a slash was stripped.  Do not strip the last slash after a
92914         file system prefix.
92915
92916 2001-05-11  Paul Eggert  <eggert@twinsun.com>
92917
92918         * lib/Makefile.am (libfetish_a_SOURCES):
92919         Add strftime.c, since we now compile it on all hosts.
92920
92921         * lib/strftime.c (my_strftime):
92922         Define to nstrftime if emacs, but only if my_strftime is not defined.
92923         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
92924         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
92925         Add one more extra argument: a nanoseconds value.
92926         All uses changed.
92927         (ns): New macro.
92928         (my_strftime function): Add %N format.
92929         (emacs_strftimeu): Renamed from emacs_strftime,
92930         with extra ut argument.
92931
92932 2001-05-09  Paul Eggert  <eggert@twinsun.com>
92933
92934         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
92935
92936 2001-04-21  Jim Meyering  <meyering@lucent.com>
92937
92938         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
92939         doesn't interfere.
92940
92941 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
92942
92943         * m4/ftruncate.m4: Check for chsize.
92944         Link with ftruncate.o unconditionally if ftruncate is missing.
92945         This was required when cross-compiling to i586-mingw32msvc.
92946
92947 2001-04-08  Jim Meyering  <meyering@lucent.com>
92948
92949         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
92950         recomputed; that's necessary when the offset spans a DST transition.
92951         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
92952
92953 2001-04-02  Jim Meyering  <meyering@lucent.com>
92954
92955         * lib/regex.h, regex.c: Update from GNU libc.
92956
92957 2001-03-24  Jim Meyering  <meyering@lucent.com>
92958
92959         * m4/jm-macros.m4: Require autoconf-2.49d.
92960
92961 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
92962
92963         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
92964
92965 2001-03-19  Paul Eggert  <eggert@twinsun.com>
92966
92967         * lib/version-etc.c (version_etc_copyright): Update to 2001.
92968
92969 2001-03-17  Jim Meyering  <meyering@lucent.com>
92970
92971         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
92972         now that the version in autoconf is equivalent.
92973         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
92974
92975         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
92976         Suggestion from Akim Demaille.
92977
92978         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
92979         (jm_PREREQ_TEMPNAME): New function.
92980
92981 2001-03-16  Paul Eggert  <eggert@twinsun.com>
92982
92983         * lib/tempname.c (uint64_t): Define to uintmax_t if
92984         not defined, and if UINT64_MAX is not defined.
92985         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
92986         Reported by John David Anglin.
92987
92988 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
92989
92990         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
92991         resolve alias if codeset is empty.
92992         * lib/config.charset (BeOS): Use wildcard syntax.
92993
92994 2001-03-13  Jim Meyering  <meyering@lucent.com>
92995
92996         * lib/path-concat.c (path_concat)
92997         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
92998         concatenating e.g., `C:' and `foo'.
92999         From Bruno Haible.
93000
93001 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93002
93003         * lib/localcharset.c (locale_charset): Don't use
93004         setlocale(LC_CTYPE,NULL). Don't return NULL.
93005         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
93006
93007 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93008
93009         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
93010         support for DOS/DJGPP.
93011
93012 2001-03-01  Paul Eggert  <eggert@twinsun.com>
93013
93014         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
93015         lacks mkstemp.  Compile our own tempname.c if we compile our own
93016         mkstemp.c, as mkstemp relies on tempname.
93017
93018 2001-03-01  Jim Meyering  <meyering@lucent.com>
93019
93020         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
93021         AH_VERBATIM really does output its argument verbatim.
93022
93023 2001-02-28  Paul Eggert  <eggert@twinsun.com>
93024
93025         * lib/Makefile.am (libfetish_a_SOURCES):
93026         Add dup-safer.c, fopen-safer.c.
93027         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
93028
93029         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
93030         * lib/unistd-safer.h: New files.
93031
93032 2001-02-25  Paul Eggert  <eggert@twinsun.com>
93033
93034         The mkstemp replacement is taken from glibc 2.2.2, with some
93035         portability fixes for use outside glibc, as follows:
93036
93037         * lib/tempname.c (struct_stat64): New macro.
93038         (direxists, __gen_tempname): Use it.
93039         This avoids a portability problem with Solaris 8.
93040
93041         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
93042         (<stddef.h>, <stdint.h>, <string.h>):
93043         Include only if STDC_HEADERS || _LIBC.
93044         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
93045         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
93046         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
93047         (__set_errno): Define this macro if <errno.h> doesn't.
93048         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
93049         Define these macros if <stdio.h> doesn't.
93050         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
93051         Define these macros if <sys/stat.h>
93052         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
93053         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
93054         __xstat64): Define if not _LIBC.
93055         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
93056         (__gen_tempname): Invoke gettimeofday only if
93057         HAVE_GETTIMEOFDAY || _LIBC;
93058         otherwise, fall back on plain "time".
93059         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
93060
93061         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
93062
93063         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
93064
93065 2001-02-18  Paul Eggert  <eggert@twinsun.com>
93066
93067         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
93068
93069 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93070
93071         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
93072         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
93073         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
93074         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93075
93076 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93077
93078         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
93079         Remove workaround macros for hosts that have mbrtowc but not
93080         mbstate_t, as we now insist on proper declarations for both
93081         before using mbrtowc.
93082
93083 2001-02-17  Jim Meyering  <meyering@lucent.com>
93084
93085         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
93086         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
93087         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
93088         UnixWare 7.1.1.
93089
93090         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
93091         rather than AC_CACHE_VAL.
93092
93093 2001-02-17  Jim Meyering  <meyering@lucent.com>
93094
93095         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
93096         around included file name.
93097
93098         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
93099
93100         * lib/strftime.c: Update from GNU libc (the only changes were to
93101         comments).
93102
93103 2001-02-17  Jim Meyering  <meyering@lucent.com>
93104
93105         * lib/regex.c: Update from libc.
93106
93107 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
93108
93109         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
93110         clash.
93111
93112 2001-02-16  Paul Eggert  <eggert@twinsun.com>
93113
93114         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
93115         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
93116         Reported by Mark Hounschell via Paul Eggert.
93117
93118 2001-02-07  Jim Meyering  <meyering@lucent.com>
93119
93120         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
93121
93122 2001-02-05  Jim Meyering  <meyering@lucent.com>
93123
93124         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
93125         it includes the patch required for `large file' support with at least
93126         HP-UX's 10.20 /bin/cc.
93127
93128 2001-02-03  Jim Meyering  <meyering@lucent.com>
93129
93130         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
93131         AS_IF, now that it works once again (mysteriously).
93132         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93133
93134 2001-01-30  Jim Meyering  <meyering@lucent.com>
93135
93136         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
93137         * m4/chown.m4: Rename conftestchown to conftest.chown.
93138         * m4/rename.m4: s/conftestdir/conftest.d1/ and
93139         s/conftestdir2/conftest.d2/.
93140         * m4/utimes.m4: s/conftestdata/conftest.data/
93141         Inspired by Pavel Roskin's change in autoconf.
93142
93143 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
93144
93145         * lib/config.charset: Update for FreeBSD 4.2.
93146
93147 2001-01-27  Jim Meyering  <meyering@lucent.com>
93148
93149         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
93150         a use of AS_IF.
93151         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93152
93153 2001-01-26  Jim Meyering  <meyering@lucent.com>
93154
93155         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
93156         quotearg.c includes it.
93157
93158 2001-01-26  Jim Meyering  <meyering@lucent.com>
93159
93160         * lib/quotearg.c: Include stddef.h.
93161         * lib/quote.c: Include stddef.h.
93162         Reported by Axel Kittenberger.
93163
93164         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
93165         line in double quotes so that it evokes a better diagnostic.
93166         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
93167         Reported by Axel Kittenberger.
93168
93169 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
93170
93171         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
93172         as if it was a `charset'.
93173
93174 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93175
93176         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
93177         has const.
93178
93179 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93180
93181         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
93182         to avoid a warning.  Add back 'const' to inptr.
93183
93184 2001-01-20  Jim Meyering  <meyering@lucent.com>
93185
93186         Be sure that headers are checked before used in code compiled
93187         for the type checks.
93188         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
93189         In place of that, invoke jm_CHECK_ALL_TYPES.
93190         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
93191         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
93192         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
93193         The check for ssize_t was mistakenly run before the test for unistd.h.
93194
93195         The configure-time check for stdbool.h was missing.
93196         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
93197         (jm_PREREQ_HASH): New function.
93198
93199 2001-01-17  Jim Meyering  <meyering@lucent.com>
93200
93201         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
93202         for autoconf-2.49c.
93203         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
93204
93205 2001-01-16  Jim Meyering  <meyering@lucent.com>
93206
93207         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
93208         From Bruno Haible.
93209
93210 2001-01-14  Jim Meyering  <meyering@lucent.com>
93211
93212         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
93213         foo and bar.  Create conftestdir/ in the script, not in the C code.
93214         Remove directories in the script, not in the C code.
93215         Remove conftestdir{,2} before trying to create the directory.
93216         Make the entire configure script fail if the mkdir fails.
93217
93218 2001-01-14  Jim Meyering  <meyering@lucent.com>
93219
93220         * lib/rename.c: New file.  From Volker Borchert.
93221         Include stdlib.h, string.h or strings.h, and xalloc.h.
93222         Use strip_trailing_slashes rather than open-coding it.
93223
93224 2001-01-03  Paul Eggert  <eggert@twinsun.com>
93225
93226         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
93227
93228 2001-01-03  Jim Meyering  <meyering@lucent.com>
93229
93230         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
93231         of local `inptr' to avoid warning with some system declarations of
93232         iconv.
93233
93234 2001-01-02  Volker Borchert  <bt@teknon.de>
93235
93236         * m4/rename.m4: New file.
93237         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
93238
93239 2001-01-01  Jim Meyering  <meyering@lucent.com>
93240
93241         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
93242         even on systems with utmpx.h.  It's necessary for the declaration of
93243         utmp's ut_user member.  Reported by Andreas Jaeger.
93244
93245         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
93246         available. They are required for the declarations of getgrgid and
93247         getpwuid resp.
93248         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
93249         Reported by Andreas Jaeger.
93250
93251 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
93252
93253         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
93254         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
93255         so `make install' also works in VPATH builds.
93256
93257 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
93258
93259         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
93260         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
93261         can be used in subdirectories.
93262
93263 2000-12-29  Paul Eggert  <eggert@twinsun.com>
93264
93265         * lib/modechange.c: Do not assume that mode_t uses the
93266         traditional octal encoding.  E.g. "chmod 1 FOO" should set
93267         the other-execute bit of FOO even if S_IXOTH != 1.
93268
93269         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
93270         WOTH, XOTH, ALLM): New macros.
93271         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
93272          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
93273         Use them.
93274         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
93275         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
93276         (mode_compile):
93277         No need to use uintmax_t; unsigned long is long enough.
93278         Don't bother to get suffix since we don't use it.
93279
93280 2000-12-26  Jim Meyering  <meyering@lucent.com>
93281
93282         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
93283         better with autoheader.
93284
93285 2000-12-24  Jim Meyering  <meyering@lucent.com>
93286
93287         * lib/hash.c (is_prime): Return explicit boolean values.
93288         (hash_get_first): Return NULL to appease Irix5.6's 89.
93289         Reported by Nelson Beebe.
93290
93291 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
93292
93293         * lib/localcharset.c (locale_charset): Add support for Win32.
93294
93295 2000-12-18  Paul Eggert  <eggert@twinsun.com>
93296
93297         * lib/physmem.h, lib/physmem.c: New files.
93298
93299         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
93300         (noinst_HEADERS): Add physmem.h.
93301
93302         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
93303         't' for compatibility with Solaris 8 sort.
93304
93305 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
93306
93307         * lib/config.charset: Add support for BeOS.
93308
93309 2000-12-17  Jim Meyering  <meyering@lucent.com>
93310
93311         * m4/dos.m4 (jm_AC_DOS): New file and macro.
93312         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
93313
93314 2000-12-16  Jim Meyering  <meyering@lucent.com>
93315
93316         This bug had a serious impact on chown: `chown N:M FILE' (for integer
93317         N and M) would have treated it like `chown N:N FILE'.
93318
93319         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
93320
93321 2000-12-16  Jim Meyering  <meyering@lucent.com>
93322
93323         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
93324         SHELLS_FILE to a file name that's useful on djgpp systems.
93325         Include stdlib.h.
93326         (ADDITIONAL_DEFAULT_SHELLS): Define.
93327         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
93328         Based mostly on a patch from Prashant TR.
93329
93330 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
93331
93332         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
93333         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
93334         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
93335
93336 2000-12-08  Andreas Schwab  <schwab@suse.de>
93337
93338         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
93339         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
93340
93341 2000-12-07  Jim Meyering  <meyering@lucent.com>
93342
93343         * lib/stripslash.c (ISSLASH): Define.
93344         (strip_trailing_slashes): Use ISSLASH rather than comparing against
93345         `/'.
93346         From Prashant TR.
93347
93348         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
93349         (dir_name_r): Declare this function as static.
93350         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
93351         manifest itself on a name containing a mix of slashes and
93352         backslashes.
93353         Make this function work with names starting with a DOS-style
93354         drive letter and colon prefix.
93355         (dir_name): Append `.' if necessary.
93356         Based mostly on patches from Prashant TR and Eli Zaretskii.
93357
93358         * lib/dirname.h (dir_name_r): Remove prototype.
93359
93360 2000-12-06  Paul Eggert  <eggert@twinsun.com>
93361
93362         * m4/off_t-format.m4: Remove this file.
93363         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
93364
93365 2000-12-06  Jim Meyering  <meyering@lucent.com>
93366
93367         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
93368         replacement strtoull, we may well need the replacement strtoul, too.
93369         Check for declarations of strtoul and strtoull.
93370         Check for strtol.  Mainly as a cue to cause automake to include
93371         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
93372         Check for limits.h -- strtol.c needs it.
93373
93374 2000-12-05  Jim Meyering  <meyering@lucent.com>
93375
93376         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
93377
93378 2000-12-04  Jim Meyering  <meyering@lucent.com>
93379
93380         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
93381         Also include memory.h, stdlib.h, unistd.h if appropriate.
93382         Reported by Andreas Jaeger (conflicting declaration of malloc).
93383
93384 2000-12-02  Jim Meyering  <meyering@lucent.com>
93385
93386         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
93387         * m4/jm-macros.m4 (jm_MACROS): require it.
93388
93389 2000-12-02  Jim Meyering  <meyering@lucent.com>
93390
93391         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
93392
93393 2000-12-01  Paul Eggert  <eggert@twinsun.com>
93394
93395         * lib/memrchr.c: Include <config.h> before any system include file.
93396
93397 2000-11-30  Jim Meyering  <meyering@lucent.com>
93398
93399         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
93400
93401 2000-11-30  Jim Meyering  <meyering@lucent.com>
93402
93403         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
93404
93405 2000-11-29  Paul Eggert  <eggert@twinsun.com>
93406
93407         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
93408
93409 2000-11-26  Jim Meyering  <meyering@lucent.com>
93410
93411         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
93412
93413 2000-11-22  Paul Eggert  <eggert@twinsun.com>
93414
93415         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
93416         size of (size_t) -1; it's not portable.
93417
93418 2000-11-17  Jim Meyering  <meyering@lucent.com>
93419
93420         * lib/strstr.c: Update from GNU libc.
93421
93422 2000-11-17  Akim Demaille  <akim@epita.fr>
93423
93424         * lib/obstack.h: Formatting changes.
93425         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
93426         prevent type checking.
93427         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
93428         cast the value to (void *): assigning a `foo *' to a `void *'
93429         variable is valid.
93430         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
93431
93432 2000-11-16  Jim Meyering  <meyering@lucent.com>
93433
93434         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
93435
93436 2000-11-11  Jim Meyering  <meyering@lucent.com>
93437
93438         * lib/error.c: Add a couple #includes, merging from GNU libc version.
93439
93440 2000-11-10  Jim Meyering  <meyering@lucent.com>
93441
93442         * lib/obstack.h: Update from GNU libc.
93443         * lib/obstack.c: Likewise.
93444
93445 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
93446
93447         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
93448
93449 2000-11-06  Paul Eggert  <eggert@twinsun.com>
93450
93451         * lib/getusershell.c (setusershell): Use rewind rather than
93452         fseek/fseeko, to avoid configuration hassles with fseeko.
93453         Don't bother opening SHELLS_FILE if shellstream is NULL;
93454         it's not necessary.
93455
93456 2000-11-05  Jim Meyering  <meyering@lucent.com>
93457
93458         * lib/makepath.h (make_dir): Declare.
93459         * lib/makepath.c (make_dir): Remove `static' attribute.
93460         Tweak a comment.
93461
93462 2000-11-04  Jim Meyering  <meyering@lucent.com>
93463
93464         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
93465
93466 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
93467
93468         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
93469         last one in a bucket, advance to the next bucket.
93470
93471 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
93472
93473         * lib/fnmatch.c: Do not comment out all the code if we are using
93474         the GNU C library, because in some cases we are replacing buggy
93475         code in the GNU C library itself.
93476
93477 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
93478
93479         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
93480         (regex_compile): Catch bogus \(\1\).
93481
93482 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93483
93484         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
93485         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
93486         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
93487
93488 2000-10-30  Paul Eggert  <eggert@twinsun.com>
93489
93490         * lib/error.h, getline.h, modechange.h:
93491         Remove "2000" from Copyright line, as the file hasn't been
93492         changed this year other than in the copyright notice.
93493
93494         * lib/xalloc.h: Add "2000" to Copyright line, as this file
93495         was changed this year.
93496
93497 2000-10-29  Jim Meyering  <meyering@lucent.com>
93498
93499         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
93500         renaming.
93501         * m4/ls-mntd-fs.m4: Likewise
93502
93503 2000-10-29  Jim Meyering  <meyering@lucent.com>
93504
93505         * lib/xstat.in: Fix grammar in comment.
93506
93507 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
93508
93509         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
93510         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
93511         doesn't define __restrict_arr.
93512
93513 2000-10-28  Jim Meyering  <meyering@lucent.com>
93514
93515         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
93516         (jm_PREREQ_MEMCHR): New function.
93517
93518 2000-10-28  Jim Meyering  <meyering@lucent.com>
93519
93520         * lib/memchr.c: Update from libc.
93521         Adjust for portability:
93522         [HAVE_STDLIB_H]: Include stdlib.h.
93523         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
93524         Undef __memchr, too.
93525         [!weak_alias]: Define __memchr to memchr.
93526
93527         * lib/regex.c: Update from libc.
93528         * lib/regex.h: Likewise.
93529         * lib/getopt1.c: Likewise.
93530         * lib/memcmp.c: Likewise.
93531
93532         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
93533         Avoid using fseek, when possible -- it's broken by design.
93534         Patch by Ulrich Drepper.
93535
93536 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
93537
93538         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
93539         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
93540         Giving in to popular pressure to shut up the compiler with casts.
93541
93542 2000-10-26  Jim Meyering  <meyering@lucent.com>
93543
93544         * lib/strftime.c: Update from libc.
93545
93546 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
93547
93548         * regex.c: More `unsigned char' -> `re_char' changes.
93549         Also change several `int' into `re_wchar_t'.
93550         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
93551         (PUSH_FAILURE_POINTER): Don't cast any more.
93552         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
93553         We want GCC to complain, since this piece of code makes
93554         re_match non-reentrant, which *should* be fixed.
93555         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
93556         (EXTEND_BUFFER): Use RETALLOC.
93557         (SET_LIST_BIT): Don't cast.
93558         (re_wchar_t): New type.
93559         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
93560         that those two functions will always properly return.
93561         (IMMEDIATE_QUIT_CHECK): Cast to void.
93562         (analyse_first): Use recursion rather than an explicit stack.
93563         (re_compile_fastmap): Can't fail anymore.
93564         (re_search_2): Don't check re_compile_fastmap for failure.
93565         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
93566         Now also sets the new value (passed in a new argument).
93567         (re_match_2_internal): Use it.
93568         Also, use a new var `reg' of type size_t when looping through regs
93569         rather than reuse the inappropriate `mcnt'.
93570
93571 2000-10-25  Jim Meyering  <meyering@lucent.com>
93572
93573         * lib/obstack.c: Update from libc.
93574
93575 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
93576
93577         * regex.c (regex_compile): Change the way of handling a range from
93578         a char less than 256 to a char not less than 256.
93579
93580 2000-10-24  Andrew Innes  <andrewi@gnu.org>
93581
93582         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
93583         NT-Emacs only.
93584         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
93585         so that re_search functions only quit when callers expect them to.
93586
93587 2000-10-23  Jim Meyering  <meyering@lucent.com>
93588
93589         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
93590         wrong.  That set_locale call must not have any side effects.
93591         From Paul Eggert.
93592
93593 2000-10-22  Jim Meyering  <meyering@lucent.com>
93594
93595         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
93596         [CYCLIC]: Remove now-unused definition.
93597
93598         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
93599         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
93600         Suggestion from Ulrich Drepper.
93601
93602 2000-10-21  Jim Meyering  <meyering@lucent.com>
93603
93604         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
93605         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
93606         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
93607
93608 2000-10-21  Jim Meyering  <meyering@lucent.com>
93609
93610         * lib/dirname.c (memrchr): Declare if necessary.
93611         (dir_name): Remove the restriction that there be no
93612         trailing slashes.  Now, this code skips past them, effectively
93613         ignoring them.
93614         [TEST_DIRNAME] (main): New unit tests.
93615
93616         * lib/memrchr.c: New file from GNU libc.
93617         Undef __memrchr, too.
93618         [!weak_alias]: Define __memrchr to memrchr.
93619         Guard weak_alias use with `#ifdef weak_alias'.
93620
93621 2000-10-21  Jim Meyering  <meyering@lucent.com>
93622
93623         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
93624         (dir_name): Use dir_name_r.
93625         * lib/dirname.h (dir_name_r): Declare it.
93626
93627 2000-10-17  Jim Meyering  <meyering@lucent.com>
93628
93629         * lib/quote.h (PARAMS): Define and use.
93630         Reported by Akim Demaille.
93631
93632         * lib/getopt.c: Update from libc.
93633
93634 2000-10-16  Jim Meyering  <meyering@lucent.com>
93635
93636         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
93637         setlocale.
93638         From Jan Fedak.
93639
93640 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
93641
93642         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
93643
93644 2000-09-25  Jim Meyering  <meyering@lucent.com>
93645
93646         * lib/md5.h (rol): Define (from GnuPG).
93647
93648         * lib/sha.c: Give credit (GnuPG) where due.
93649         (M): Use rol rather than open-coding it.
93650         Add a FIXME comment.
93651
93652 2000-09-21  Jim Meyering  <meyering@lucent.com>
93653
93654         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
93655         Reported by Michael Stone.
93656
93657 2000-09-20  Jim Meyering  <meyering@lucent.com>
93658
93659         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
93660         (noinst_HEADERS): Add sha.h.
93661         Based on code from Scott G. Miller and from GnuPG.
93662
93663 2000-09-18  Jim Meyering  <meyering@lucent.com>
93664
93665         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
93666         LIBS. Otherwise, everyone ends up linking with -lelf for some
93667         configurations.
93668         Reported by Mike Stone.
93669
93670 2000-09-15  Jim Meyering  <meyering@lucent.com>
93671
93672         * lib/regex.c: Update from libc.
93673
93674 2000-09-10  Jim Meyering  <meyering@lucent.com>
93675
93676         * lib/getopt.c (_getopt_internal): Update from glibc.
93677
93678 2000-09-09  Jim Meyering  <meyering@lucent.com>
93679
93680         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
93681         think it should be used as a general replacement for isascii.
93682         * lib/fnmatch.c: Likewise.
93683         * lib/mbswidth.c: Likewise
93684         * lib/regex.c: Likewise.
93685
93686         Don't use atoi.
93687         * lib/userspec.c: Include sys/param.h and limits.h.
93688         Include xstrtol.h.
93689         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
93690         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
93691         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
93692         UID, GID.  Check range.
93693
93694 2000-09-06  Jim Meyering  <meyering@lucent.com>
93695
93696         * lib/getopt.c (_getopt_internal): Update from glibc.
93697
93698 2000-08-30  Jim Meyering  <meyering@lucent.com>
93699
93700         * lib/strftime.c: Merge in changes from GNU libc.
93701
93702 2000-08-26  Jim Meyering  <meyering@lucent.com>
93703
93704         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
93705         * m4/fpending.m4: New file.
93706
93707 2000-08-26  Jim Meyering  <meyering@lucent.com>
93708
93709         * lib/closeout.c: Include "__fpending.h".
93710         (close_stdout_status): Return right away if there's nothing to flush.
93711
93712         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
93713         * lib/__fpending.c: New file.
93714         * lib/__fpending.h: New file.
93715
93716 2000-08-20  Jim Meyering  <meyering@lucent.com>
93717
93718         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
93719         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
93720         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
93721
93722 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
93723
93724         Improve fileutils installation on systems where running
93725         programs (like install) can't be unlinked.
93726         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
93727         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
93728
93729 2000-08-07  Paul Eggert  <eggert@twinsun.com>
93730
93731         Standardize on "memory exhausted" instead of "Memory exhausted"
93732         or "virtual memory exhausted".
93733         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
93734         "virtual memory exhausted".
93735         * lib/same.c (same_name): Invoke xalloc_die instead of printing
93736         our own message.
93737         * lib/userspec.c (parse_user_spec): Likewise.
93738         * lib/bumpalloc.h: comment fix
93739         * lib/same.c, userspec.c: Include xalloc.h.
93740
93741         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
93742         not char *const and pointing to a constant array.
93743         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
93744         (xrealloc): Comment fix.
93745
93746         * lib/userspec.c (parse_user_spec):
93747         Don't translate a message until just before returning,
93748         to avoid unnecessary translation.
93749
93750 2000-08-07  Jim Meyering  <meyering@lucent.com>
93751
93752         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
93753         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
93754         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
93755         getgroups.c, gethostname.c, getopt.h, group-member.c,
93756         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
93757         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
93758         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
93759         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
93760         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
93761         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
93762         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
93763         yesno.c: Back out Copyright date changes for each file with no change
93764         this year.  This eases coordination with other programs using the same
93765         source code modules.  From Paul Eggert.
93766
93767 2000-08-06  Paul Eggert  <eggert@twinsun.com>
93768
93769         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
93770         not char, for compatibility with glibc 2.1.3 strftime.c.
93771
93772 2000-08-03  Greg McGary  <greg@mcgary.org>
93773
93774         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
93775         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
93776         (EXTEND_BUFFER): Use them.
93777
93778 2000-08-01  Jim Meyering  <meyering@lucent.com>
93779
93780         * lib/dirname.c (ISSLASH): Define.
93781         (BACKSLASH_IS_PATH_SEPARATOR): Define.
93782         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
93783         both `\' and `/' may be use as path separators.
93784         Based on a patch from Prashant TR.
93785
93786 2000-07-31  Paul Eggert  <eggert@twinsun.com>
93787
93788         * lib/quotearg.c (quotearg_n_options): Don't make the initial
93789         slot vector a constant, since it might get modified.
93790
93791 2000-07-31  Jim Meyering  <meyering@lucent.com>
93792
93793         * lib/xmalloc.c: Use `virtual memory exhausted', not
93794         `Memory exhausted'.
93795         * lib/obstack.c (print_and_abort): Likewise.
93796
93797 2000-07-30  Paul Eggert  <eggert@twinsun.com>
93798
93799         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
93800         buffer, so that the caller can always quote one small
93801         component of a "memory exhausted" message in slot 0.
93802         From a suggestion by Jim Meyering.
93803
93804 2000-07-30  Jim Meyering  <meyering@lucent.com>
93805
93806         * lib/makepath.c (make_path): Quote the other instance, too.
93807
93808         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
93809         (STATIC_BUF_SIZE): Define.
93810         (quotearg_n_options): Use only statically allocated storage when
93811         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
93812         than STATIC_BUF_SIZE.
93813
93814 2000-07-29  Jim Meyering  <meyering@lucent.com>
93815
93816         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
93817         * lib/dirname.c (dir_name): Likewise.
93818
93819         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
93820         `/'.
93821
93822         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
93823         (dir_name): Assert that there are no trailing slashes.
93824
93825 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
93826
93827         * lib/mbswidth.h (mbswidth): Add a flags argument.
93828         (mbswidth): New declaration.
93829         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
93830         * lib/mbswidth.c (mbswidth): Add a flags argument.
93831         (mbsnwidth): New function.
93832
93833 2000-07-24  Jim Meyering  <meyering@lucent.com>
93834
93835         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
93836
93837 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93838
93839         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
93840
93841 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93842
93843         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
93844         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
93845         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
93846         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
93847         invoke multibyte primitives.
93848
93849 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93850
93851         * lib/quotearg.c:
93852         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
93853         so that mbstate_t is always defined.
93854
93855         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
93856         be 1 in at least one GCC installation, and this configuration
93857         error is likely to be common.  Ignoring MB_LEN_MAX hurts
93858         performance on hosts that have mbrtowc but have only unibyte
93859         locales, but I assume these hosts are rare.
93860
93861 2000-07-23  Paul Eggert  <eggert@twinsun.com>
93862
93863         * lib/mbswidth.c (_XOPEN_SOURCE):
93864         Don't define; this causes problems on Solaris 7.
93865         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
93866
93867 2000-07-23  Jim Meyering  <meyering@lucent.com>
93868
93869         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
93870         too: getgrgid, getpwuid, getuid.
93871
93872 2000-07-23  Jim Meyering  <meyering@lucent.com>
93873
93874         * lib/basename.c (base_name): Add an assertion.
93875
93876 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
93877
93878         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
93879         shadow its mbsinit function.
93880
93881 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93882
93883         * lib/mbswidth.h: New file.
93884         * lib/mbswidth.c: New file.
93885         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
93886         (noinst_HEADERS): Add mbswidth.h.
93887
93888 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
93889
93890         * lib/config.charset: Add support for FreeBSD. Improve support for
93891         HP-UX and IRIX 6.
93892
93893 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
93894
93895         * m4/mbswidth.m4: New file.
93896         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
93897
93898 2000-07-15  Jim Meyering  <meyering@lucent.com>
93899
93900         * lib/makepath.c: Include quote.h.
93901         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
93902         corresponding argument in a `quote (...)' call.
93903         Give better diagnostics.
93904
93905         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
93906         (noinst_HEADERS): Add quote.h.
93907
93908         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
93909         from tar's src/misc.c.
93910         * lib/quote.h: New file.  Prototypes for same.
93911
93912 2000-07-14  Paul Eggert  <eggert@twinsun.com>
93913
93914         From a suggestion by Bruno Haible.
93915         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
93916         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
93917         to decide whether to define the BeOS workaround macro;
93918         this adjusts to the change to AC_MBSTATE_T.
93919
93920 2000-07-14  Jim Meyering  <meyering@lucent.com>
93921
93922         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
93923         jm_AC_TYPE_UINTMAX_T.
93924
93925 2000-07-13  Paul Eggert  <eggert@twinsun.com>
93926
93927         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
93928
93929         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
93930         quotearg_buffer_restyled): Add support for
93931         clocale_quoting_style.  Undo previous change to
93932         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
93933         and "{RIGHT QUOTATION MARK}" msgids.
93934
93935 2000-07-10  Paul Eggert  <eggert@twinsun.com>
93936
93937         From a suggestion by Bruno Haible.
93938         * m4/mbstate_t.m4 (AC_MBSTATE_T):
93939         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
93940         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
93941         and mbstate_t, to a single-part test that simply defines mbstate_t.
93942         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
93943         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
93944
93945 2000-07-10  Jim Meyering  <meyering@lucent.com>
93946
93947         * m4/strerror_r.m4: Mirror the correction made in autoconf.
93948
93949         * m4/gnu-source.m4: Output to confdefs.h directly.
93950         Suggestion from Akim Demaille.
93951
93952 2000-07-09  Paul Eggert  <eggert@twinsun.com>
93953
93954         The old behavior of quoting `like this' doesn't look good with
93955         newer, ISO-style fonts.  See:
93956         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
93957
93958         Instead, quote "like this" by default.  Let the translator
93959         tailor the locale-specific quoting behavior by providing
93960         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
93961
93962         * lib/quotearg.c (N_): New macro.
93963         (gettext_default): New function.
93964         (quotearg_buffer_restyled): Use
93965         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
93966         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
93967
93968 2000-07-09  Jim Meyering  <meyering@lucent.com>
93969
93970         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
93971         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
93972
93973         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
93974         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
93975
93976 2000-07-09  Jim Meyering  <meyering@lucent.com>
93977
93978         * lib/Most files: Update copyright dates to include 2000.
93979
93980 2000-07-08  Jim Meyering  <meyering@lucent.com>
93981
93982         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
93983         if not defined.
93984         (xgethostname): Remove now-unnecessary #ifdef.
93985         Move declaration of `err' into loop where it's used.
93986
93987 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93988         and Bruno Haible  <haible@clisp.cons.org>
93989
93990         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
93991         only if the test for an object-type mbstate_t fails.  This
93992         prevents us from mistakenly reporting that mbstate_t is a
93993         system object type after we "#define mbstate_t int" to work
93994         around its lack.
93995
93996 2000-07-05  Paul Eggert  <eggert@twinsun.com>
93997         and Bruno Haible  <haible@clisp.cons.org>
93998
93999         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
94000
94001 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94002
94003         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
94004         to strerror_r.
94005         Include <ctype.h> for use of isalpha.
94006
94007 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94008
94009         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
94010         by allocating a larger buffer. Test the gethostname return value for
94011         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
94012         returns an error and ENAMETOOLONG isn't defined.
94013
94014 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94015
94016         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
94017         dimension.
94018
94019 2000-07-04  Jim Meyering  <meyering@lucent.com>
94020
94021         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
94022         of the deprecated AC_CHECKING.
94023
94024 2000-07-04  Jim Meyering  <meyering@lucent.com>
94025
94026         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
94027         Reported by Bruno Haible.
94028
94029 2000-07-04  Jim Meyering  <meyering@lucent.com>
94030
94031         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
94032         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
94033         lacks mbrtowc.
94034
94035 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94036
94037         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
94038         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
94039
94040 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94041         and Bruno Haible  <haible@clisp.cons.org>
94042
94043         * lib/quotearg.c (mbrtowc):
94044         Assign to *pwc, and return 1 only if result is nonzero.
94045         (iswprint): Use ISPRINT when substituting our own mbrtowc.
94046
94047 2000-07-03  Jim Meyering  <meyering@lucent.com>
94048
94049         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
94050
94051 2000-07-03  Jim Meyering  <meyering@lucent.com>
94052
94053         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
94054         This is necessary to get a definition of e.g., UTMP_FILE on
94055         HP-UX 10.20.
94056         From Bob Proulx.
94057
94058 2000-07-02  Jim Meyering  <meyering@lucent.com>
94059
94060         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
94061
94062         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
94063         AC_LIBOBJ(function_name).
94064         * m4/chown.m4: Likewise.
94065         * m4/fnmatch.m4: Likewise.
94066         * m4/ftruncate.m4: Likewise.
94067         * m4/getgroups.m4: Likewise.
94068         * m4/getline.m4: Likewise.
94069         * m4/group-member.m4: Likewise.
94070         * m4/jm-macros.m4: Likewise.
94071         * m4/lstat.m4: Likewise.
94072         * m4/malloc.m4: Likewise.
94073         * m4/memcmp.m4: Likewise.
94074         * m4/nanosleep.m4: Likewise.
94075         * m4/putenv.m4: Likewise.
94076         * m4/realloc.m4: Likewise.
94077         * m4/regex.m4: Likewise.
94078         * m4/stat.m4: Likewise.
94079         * m4/strftime.m4: Likewise.
94080
94081 2000-07-02  Jim Meyering  <meyering@lucent.com>
94082
94083         * lib/quotearg.c (mbstate_t): Don't define here.
94084
94085 2000-07-02  Jim Meyering  <meyering@lucent.com>
94086
94087         * lib/nanosleep.c (SIGCONT): Define if not already defined.
94088
94089 2000-07-01  Jim Meyering  <meyering@lucent.com>
94090
94091         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
94092
94093 2000-07-01  Jim Meyering  <meyering@lucent.com>
94094
94095         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
94096         problem.
94097
94098 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94099
94100         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
94101         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
94102
94103 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94104
94105         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
94106         per change in ../m4/ls-mntd-fs.m4.
94107         (read_filesystem_list): Ignore symbolic links.
94108
94109 2000-06-29  Jim Meyering  <meyering@lucent.com>
94110
94111         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
94112         for declaration of strcmp.
94113
94114         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
94115
94116         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
94117         Avoid warning by casting result to `char *' to remove `const'.
94118
94119 2000-06-28  Jim Meyering  <meyering@lucent.com>
94120
94121         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
94122         included by quotearg.c, for which we perform this test.  From
94123         Bruno Haible.
94124
94125 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94126
94127         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
94128         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
94129         <utmpx.h> exists, put readutmp.o into LIBOBJS.
94130
94131 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94132
94133         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
94134
94135 2000-06-26  Paul Eggert  <eggert@twinsun.com>
94136
94137         savedir now sets errno on failure and invokes xmalloc to get memory.
94138         Fix a couple of other minor bugs while we're at it.
94139
94140         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
94141         (NAMLEN): Remove macro.
94142         (malloc, realloc): Remove decls.
94143         (stpcpy): Likewise.
94144         ("xalloc.h"): Include.
94145         (NAME_SIZE_DEFAULT): New macro.
94146         (savedir): Use xmalloc / xrealloc to allocate memory.
94147         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
94148         Skip "" directory entries.
94149         Use strlen to calculate directory entry length, since the old method
94150         is rarely used these days and isn't worth supporting.
94151         Don't use a pointer after freeing it.
94152         Check for integer overflow when calculating allocation size.
94153         Use memcpy to copy entries, instead of stpcpy.
94154         Set errno properly when returning NULL.
94155         Check for readdir error.
94156
94157 2000-06-26  Jim Meyering  <meyering@lucent.com>
94158
94159         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
94160
94161 2000-06-25  Jim Meyering  <meyering@lucent.com>
94162
94163         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
94164         Linux header bug when _XOPEN_SOURCE is defined to 500.
94165
94166 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94167
94168         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
94169         deficiency.
94170
94171 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94172
94173         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
94174         Include xalloc.h.
94175         Don't include <stdlib.h>.  Don't declare malloc, realloc.
94176
94177 2000-06-24  Jim Meyering  <meyering@lucent.com>
94178
94179         * m4/strerror_r.m4: Revive this file -- to try out an experimental
94180         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
94181         for which strerror does return char*, but which lacks a conveniently
94182         accessible declaration of the function.  If the compile-test says
94183         strerror_r doesn't work, then resort to a `run'-test that works on
94184         BeOS and segfaults on DEC Unix.
94185
94186 2000-06-24  Jim Meyering  <meyering@lucent.com>
94187
94188         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
94189
94190 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94191
94192         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
94193         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
94194
94195 2000-06-23  Paul Eggert  <eggert@twinsun.com>
94196
94197         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
94198         (mbrtowc, mbstate_t): Define substitutes if
94199         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
94200         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
94201         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
94202
94203 2000-06-23  Jim Meyering  <meyering@lucent.com>
94204
94205         * m4/afs.m4: Add missing AC_MSG_RESULT.
94206         Reported by Bruno Haible.
94207
94208         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
94209         Suggestion from Bruno Haible.
94210
94211 2000-06-23  Jim Meyering  <meyering@lucent.com>
94212
94213         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
94214
94215 2000-06-21  Jim Meyering  <meyering@lucent.com>
94216
94217         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
94218
94219 2000-06-21  Jim Meyering  <meyering@lucent.com>
94220
94221         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
94222         (noinst_HEADERS): Add getstr.h.
94223
94224         * lib/getline.c (getstr): Move into a separate file.
94225         * lib/getstr.c (getstr): New file, extracted from getline.c, with
94226         the following changes: new parameter, delim2; both delim[12]
94227         parameters have type `int', not `char'.  The latter would lose
94228         with 8-bit delimiters.
94229         * lib/getstr.h: New file.
94230
94231 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94232
94233         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
94234         than 1024, return a memory chunk of least possible size, instead
94235         of size PATH_MAX + 2. In the loop, increment the size proportionally.
94236         Use free/xmalloc instead of xrealloc to avoid copying for very long
94237         paths.
94238
94239 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94240
94241         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
94242         the empty string.
94243
94244 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
94245
94246         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
94247         address, not strdup.  Include <stdlib.h> and don't declare free().
94248
94249 2000-06-19  Jim Meyering  <meyering@lucent.com>
94250
94251         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
94252
94253 2000-06-18  Jim Meyering  <meyering@lucent.com>
94254
94255         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
94256
94257         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
94258         `checking whether...' message to be consistent with that of the
94259         lstat test.
94260
94261 2000-06-18  Jim Meyering  <meyering@lucent.com>
94262
94263         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
94264         Besides, these days every porting target provides a mkdir function.
94265
94266         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
94267         needed. (this snippet comes from src/system.h).
94268
94269 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
94270
94271         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
94272
94273 2000-06-15  Paul Eggert  <eggert@twinsun.com>
94274
94275         * lib/human.c (adjust_value): New function.
94276         (human_readable_inexact): Apply rounding style even when
94277         printing approximate values.
94278
94279 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94280
94281         * lib/human.c (human_readable_inexact): Allow an input block
94282         size that is not a multiple of the output block size, and vice versa.
94283         Reported by Piergiorgio Sartor.
94284
94285 2000-06-14  Paul Eggert  <eggert@twinsun.com>
94286
94287         * lib/getdate.y (get_date): Apply relative times after time
94288         zone indicator, not before.  Reported by Todd A. Jacobs.
94289
94290 2000-06-13  Jim Meyering  <meyering@lucent.com>
94291
94292         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
94293
94294         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
94295
94296 2000-06-12  Paul Eggert  <eggert@twinsun.com>
94297
94298         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
94299
94300 2000-06-12  Jim Meyering  <meyering@lucent.com>
94301
94302         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
94303         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
94304         optional argument.
94305         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
94306         the optional argument, `lib'.
94307
94308 2000-06-08  Jim Meyering  <meyering@lucent.com>
94309
94310         * m4/largefile.m4: Remove file (now that it's part of autoconf).
94311
94312 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94313
94314         Rewrite largefile configuration so that we don't need to run
94315         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
94316         AC_CANONICAL_HOST in configure.in -- jmm]
94317
94318         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
94319         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
94320         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
94321         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
94322         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
94323         All uses changed.
94324         Instead of inspecting the output of getconf, try to compile the
94325         test program without and with the macro definition.
94326         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
94327         for getconf.  Instead, check for the needed flags by compiling
94328         test programs.
94329
94330 2000-06-04  Paul Eggert  <eggert@twinsun.com>
94331
94332         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
94333
94334 2000-06-04  Jim Meyering  <meyering@lucent.com>
94335
94336         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
94337         SunOS 4.1.4 for which gid_t is an unsigned type.
94338
94339 2000-06-03  Jim Meyering  <meyering@lucent.com>
94340
94341         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
94342         now that autoconf requires that.
94343
94344         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
94345         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
94346         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
94347
94348 2000-06-03  Jim Meyering  <meyering@lucent.com>
94349
94350         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
94351
94352 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94353
94354         * m4/glibc21.m4: New file.
94355         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
94356
94357 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
94358
94359         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
94360         newer, don't install charset.alias.
94361         * lib/config.charset: Change the Linux/glibc rules so they become empty
94362         on glibc-2.1 or newer.
94363
94364 2000-06-02  Jim Meyering  <meyering@lucent.com>
94365
94366         * lib/mountlist.c: Back out last change.  Instead, do this...
94367         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
94368         me_dummy member using the same `ignore'-testing code.
94369         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
94370         fs_type strings.
94371         From Mark D. Roth.
94372
94373 2000-05-29  Jim Meyering  <meyering@lucent.com>
94374
94375         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
94376         mounts with the `ignore' attribute.  Based on a patch from
94377         Mark D. Roth.
94378
94379 2000-05-28  Jim Meyering  <meyering@lucent.com>
94380
94381         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
94382         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94383         * m4/stat.m4: Likewise.
94384         * m4/lstat.m4: Likewise.
94385         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
94386
94387         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
94388         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
94389
94390 2000-05-26  Jim Meyering  <meyering@lucent.com>
94391
94392         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
94393
94394 2000-05-24  Jim Meyering  <meyering@lucent.com>
94395
94396         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
94397         autoconf requires that.
94398         * m4/lib-check.m4: Likewise.
94399         * m4/jm-macros.m4: Likewise.
94400         * m4/strftime.m4: Likewise.
94401
94402         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
94403         AC_CHECK_DECLS, now that autoconf requires that.
94404
94405 2000-05-22  Jim Meyering  <meyering@lucent.com>
94406
94407         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
94408         * m4/lstat.m4: Likewise.
94409
94410 2000-05-22  Jim Meyering  <meyering@lucent.com>
94411
94412         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
94413
94414 2000-05-20  Jim Meyering  <meyering@lucent.com>
94415
94416         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
94417         (jm_PREREQ): Use it.
94418
94419 2000-05-18  Jim Meyering  <meyering@lucent.com>
94420
94421         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
94422         back, too, since it may have been modified by allocate_entry.
94423         (hash_delete): Rewrite to use neither the assignment operator
94424         nor the comma operator in an if-expression.
94425
94426 2000-05-15  Paul Eggert  <eggert@twinsun.com>
94427
94428         * lib/closeout.c:
94429         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
94430         Remove; no longer needed.
94431         "quotearg.h": Add include.
94432         (file_name): Do not bother to explicitly initialize to NULL; it's less
94433         efficient on some hosts.
94434         (close_stdout_status): Remove test as to whether stdout was already
94435         closed; it breaks for the case "echo x | sort >&-".
94436         Quote file name colons.
94437         Do not assume that _("write error") lacks format strings.
94438
94439 2000-05-15  Jim Meyering  <meyering@lucent.com>
94440
94441         * lib/version-etc.c (version_etc_copyright): Update the copyright
94442         string used in all --version output.
94443
94444 2000-05-14  Jim Meyering  <meyering@lucent.com>
94445
94446         * lib/closeout.c (close_stdout_set_file_name): New function.
94447         (close_stdout_status): Use new file-scoped global.
94448         Return right away if fstat says the stdout file descriptor is invalid.
94449         * lib/closeout.h (close_stdout_set_file_name): Declare.
94450
94451 2000-05-10  Jim Meyering  <meyering@lucent.com>
94452
94453         * lib/closeout.c [default_exit_status]: New file-scoped variable.
94454         (close_stdout_set_status): New function.
94455         * lib/closeout.h (close_stdout_set_status): Declare.
94456
94457 2000-05-09  Jim Meyering  <meyering@lucent.com>
94458
94459         * m4/gettext.m4: Rename this...
94460         * m4/libintl.m4: ...to this.
94461
94462 2000-05-08  Jim Meyering  <meyering@lucent.com>
94463
94464         * lib/long-options.c: Don't include closeout.h.
94465         (parse_long_options): Don't call close_stdout for --version.
94466
94467 2000-05-06  Paul Eggert  <eggert@twinsun.com>
94468
94469         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
94470         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
94471         2.1.3 bug.  This avoids a clash when files like regex.c define
94472         _GNU_SOURCE.
94473
94474 2000-05-06  Jim Meyering  <meyering@lucent.com>
94475
94476         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
94477         (AC_REPLACE_FUNCS): Add strnlen.
94478
94479         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
94480         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
94481
94482         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
94483         AC_SEARCH_LIBS call for nanosleep.
94484         (LIB_NANOSLEEP): Set and AC_SUBST.
94485
94486 2000-05-06  Jim Meyering  <meyering@lucent.com>
94487
94488         * lib/strnlen.c: Undefine __strnlen and strnlen.
94489         [!weak_alias]: Define __strnlen to strnlen.
94490
94491         * lib/atexit.c: New file, from libiberty.
94492
94493 2000-05-06  Jim Meyering  <meyering@lucent.com>
94494
94495         * lib/closeout.c (close_stdout_status): Also check for errors on the
94496         stderr stream.
94497
94498 2000-05-05  Jim Meyering  <meyering@lucent.com>
94499
94500         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
94501         AC_SEARCH_LIBS call for clock_gettime.
94502         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
94503
94504         * m4/search-libs.m4: Update from autoconf.
94505
94506         su doesn't work on Solaris 2.6.
94507         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
94508         <shadow.h>.  Reported by Dragos Harabor.
94509
94510 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
94511
94512         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
94513         memcpy instead of xmalloc, xrealloc, path_concat.
94514         (locale_charset): Treat empty environment variables as absent.
94515         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
94516
94517 2000-05-04  Jim Meyering  <meyering@lucent.com>
94518
94519         * lib/getopt.c: Update from glibc.
94520         * lib/obstack.c: Likewise.
94521         * lib/obstack.h: Likewise.
94522         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
94523         file
94524
94525         * lib/regex.h: Likewise.
94526         * lib/strndup.c: Likewise.
94527         * lib/strnlen.c: New file, from glibc.
94528
94529 2000-05-03  Jim Meyering  <meyering@lucent.com>
94530
94531         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
94532
94533 2000-05-02  Paul Eggert  <eggert@twinsun.com>
94534
94535         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
94536         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
94537         compile-time test, rather than inspecting host and OS, to
94538         decide whether to define _LARGEFILE_SOURCE.
94539
94540 2000-05-01  Jim Meyering  <meyering@lucent.com>
94541
94542         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
94543
94544         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
94545         Based on a patch from Bruno Haible.
94546
94547 2000-05-01  Jim Meyering  <meyering@lucent.com>
94548
94549         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
94550
94551 2000-04-29  Jim Meyering  <meyering@lucent.com>
94552
94553         * lib/path-concat.c: Declare strdup only if it's not defined.
94554         * lib/canon-host.c: Likewise.
94555
94556 2000-04-28  Jim Meyering  <meyering@lucent.com>
94557
94558         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
94559         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
94560         is included first, then limits.h is included by locale.h by libintl.h.
94561         From John David Anglin.
94562
94563 2000-04-25  Jim Meyering  <meyering@lucent.com>
94564
94565         * lib/makepath.c (S_IRWXUGO): Define.
94566         (make_path): Always perform explicit chmod if MODE specifies any
94567         of the `special' permission bits.  Prompted by a bug report against
94568         install from Mate Wierdl and Joost van Baal.
94569
94570 2000-04-18  Jim Meyering  <meyering@lucent.com>
94571
94572         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
94573         (jm_PREREQ): Use it.
94574
94575 2000-04-18  Jim Meyering  <meyering@lucent.com>
94576
94577         * lib/README: New file.
94578
94579         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
94580         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
94581
94582 2000-04-17  Jim Meyering  <meyering@lucent.com>
94583
94584         Get it right :-)
94585         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
94586         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
94587         Suggestion from Akim Demaille.
94588
94589 2000-04-17  Jim Meyering  <meyering@lucent.com>
94590
94591         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
94592         the definition of it to rpl_strftime also defined-away the system's
94593         declaration.
94594
94595 2000-04-15  Jim Meyering  <meyering@lucent.com>
94596
94597         Use `C' to denote so-called `contiguous' files, the same way
94598         that tar does.
94599         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
94600         (ftypelet): Use S_ISCTG.
94601         From Michael Deutschmann.
94602
94603 2000-04-14  Jim Meyering  <meyering@lucent.com>
94604
94605         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
94606         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
94607         clobbered.
94608
94609 2000-04-14  Jim Meyering  <meyering@lucent.com>
94610
94611         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
94612
94613 2000-04-13  Jim Meyering  <meyering@lucent.com>
94614
94615         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
94616         AH_VERBATIM to insert required #ifndef into config.h.in.
94617         Suggestion from Akim Demaille.
94618
94619 2000-04-12  Jim Meyering  <meyering@lucent.com>
94620
94621         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
94622         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
94623         Christian Krackowizer.
94624
94625         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
94626         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
94627         (AC_SYS_LARGEFILE): Require.
94628         (AM_C_PROTOTYPES): Require.
94629
94630 2000-04-08  Jim Meyering  <meyering@lucent.com>
94631
94632         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
94633         names don't conflict.  Reported by Eli Zaretskii.
94634
94635 2000-04-07  Jim Meyering  <meyering@lucent.com>
94636
94637         * lib/putenv.c: Move inclusion of errno.h so it follows that of
94638         sys/types.h, to work around system header problems on AIX 3.2.5.
94639         From Bruno Haible.
94640
94641 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
94642
94643         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
94644         bug.  Deal with the different error behavior of Irix iconv.
94645
94646 2000-04-05  Paul Eggert  <eggert@twinsun.com>
94647
94648         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
94649         IRIX if the installer said otherwise.
94650
94651 2000-04-05  Jim Meyering  <meyering@lucent.com>
94652
94653         Portability tweaks required for ultrix4.3.
94654         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
94655         (jm_CHECK_DECLS): Add getutent to the list of functions.
94656         (_jm_DECL_HEADERS): Add utmpx.h.
94657         From John David Anglin.
94658
94659         * m4/strftime.m4: Back out the 2000-04-02 change.
94660         Instead of that change, simply undefine putenv in the test program.
94661
94662 2000-04-05  Jim Meyering  <meyering@lucent.com>
94663
94664         Portability tweaks required for ultrix4.3.
94665         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
94666         getutent.
94667         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
94668         * lib/canon-host.c: Declare strdup.
94669         * lib/path-concat.c: Likewise.
94670         From John David Anglin.
94671
94672 2000-04-04  Jim Meyering  <meyering@lucent.com>
94673
94674         Be more DOS 8.3-friendly.
94675         * lib/ref-add.sin: Renamed from ref-add.sed.in.
94676         * lib/ref-del.sin: Renamed from ref-del.sed.in.
94677         * lib/Makefile.am: Reflect renaming.
94678         Reported by Eli Zaretskii.
94679
94680         Use a temporary file name that won't clash with `charset.alias'
94681         in the DOS 8.3 name space.
94682         * lib/Makefile.am (charset_tmp): Define.
94683         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
94684         (uninstall-local): Likewise.
94685         Reported by Eli Zaretskii.
94686
94687 2000-04-03  Jim Meyering  <meyering@lucent.com>
94688
94689         * m4/gettext.m4: Fix typo in comment.
94690
94691         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
94692         textutils/configure.in).  Suggestion from Paul Eggert.
94693         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
94694
94695 2000-04-02  Paul Eggert  <eggert@twinsun.com>
94696
94697         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
94698         variable in the shell rather than using putenv, which isn't
94699         portable.  This avoids the configure-time inter-test dependency
94700         on the potentially-renamed putenv function.
94701
94702 2000-03-30  Paul Eggert  <eggert@twinsun.com>
94703
94704         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
94705         before checking struct stat.st_blksize, so that
94706         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
94707
94708 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94709
94710         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
94711         since strftime.c uses HAVE_STRFTIME to decide whether to use
94712         the underlying strftime.
94713
94714 2000-03-29  Paul Eggert  <eggert@twinsun.com>
94715
94716         * lib/time/strftime.c (my_strftime): Make sure we call the system
94717         strftime, not ourselves, when invoking the underlying strftime.
94718
94719 2000-03-24  Jim Meyering  <meyering@lucent.com>
94720
94721         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
94722         (charset_alias): Define.
94723         (install-exec-local): Factor out common code.
94724         (uninstall-local): Split lines longer than 80.
94725         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
94726         (SUFFIXES): Define.
94727         (.sed.in.sed): New rule.  Don't redirect directly to $@.
94728         (CLEANFILES): Add ref-add.sed and ref-del.sed.
94729
94730 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
94731
94732         * lib/config.charset: Output a line containing "Packages using this
94733         file".
94734         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
94735         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
94736         ref-del.sed): New rules.
94737
94738 2000-03-17  Jim Meyering  <meyering@lucent.com>
94739
94740         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
94741         Otherwise, include <strings.h>
94742
94743 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
94744
94745         * lib/unicodeio.c (utf8_wctomb): New function.
94746         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
94747         format instead of in UCS-4 with platform dependent endianness.
94748
94749 2000-03-10  Jim Meyering  <meyering@lucent.com>
94750
94751         * m4/lib-check.m4: Look for getspnam in -lgen, too.
94752         From Marco Franzen.
94753
94754 2000-03-07  Paul Eggert  <eggert@twinsun.com>
94755
94756         * lib/savedir.c (savedir): Work even if directory size is
94757         negative; this can happen with some screwy NFS configurations.
94758
94759 2000-03-06  Jim Meyering  <meyering@lucent.com>
94760
94761         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
94762         if it's NULL (because we ran out of memory).  From Bruno Haible.
94763
94764 2000-03-05  Jim Meyering  <meyering@lucent.com>
94765
94766         * lib/localcharset.c ("path-concat.h"): Include.
94767         (get_charset_aliases): Use path_concat instead of ANSI string
94768         concatenation.
94769
94770         * lib/unicodeio.h (PARAMS): Define.
94771         Use it to guard prototype.
94772
94773 2000-03-04  Jim Meyering  <meyering@lucent.com>
94774
94775         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
94776         for lib/localcharset.c.
94777
94778 2000-03-04  Jim Meyering  <meyering@lucent.com>
94779
94780         * lib/Makefile.am (install-exec-local): Create $(libdir) before
94781         installing into it.
94782         (uninstall-local): Uncomment this rule so `make distcheck' works
94783         once again.
94784
94785         * lib/unicodeio.c (<errno.h>): Include it.
94786         (errno): Declare if not defined.
94787
94788         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
94789
94790         * lib/config.charset: New version, incorporating remarks from a linux
94791         i18n mailing list.  From Bruno Haible.
94792
94793 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
94794
94795         * m4/codeset.m4: New file.
94796         * m4/iconv.m4: New file.
94797         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
94798
94799 2000-03-03  Jim Meyering  <meyering@lucent.com>
94800
94801         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
94802
94803 2000-03-02  Jim Meyering  <meyering@lucent.com>
94804
94805         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
94806         the messages come out on separate lines.
94807
94808         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
94809         rather than jm_CHECK_DECLARATIONS.
94810         * m4/decl.m4: Remove now-unused file.
94811
94812         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
94813         geteuid.
94814
94815 2000-03-02  Jim Meyering  <meyering@lucent.com>
94816
94817         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
94818
94819 2000-03-01  Jim Meyering  <meyering@lucent.com>
94820
94821         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
94822         * lib/unicodeio.c: Likewise.
94823
94824 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
94825
94826         * lib/config.charset: New file.
94827         * lib/localcharset.c: New file.
94828         * lib/unicodeio.h, lib/unicodeio.c: New files.
94829         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
94830         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
94831         (noinst_HEADERS): Add unicodeio.h.
94832         (all-local, install-exec-local, charset.alias): New targets.
94833
94834 2000-02-28  Paul Eggert  <eggert@twinsun.com>
94835
94836         * lib/quotearg.c (ALERT_CHAR): New macro.
94837         (quotearg_buffer_restyled): Use it.
94838
94839 2000-02-27  Jim Meyering  <meyering@lucent.com>
94840
94841         * m4/check-decl.m4: Add getenv to the list.
94842
94843 2000-02-27  Jim Meyering  <meyering@lucent.com>
94844
94845         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
94846         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
94847
94848         * lib/backupfile.c: Guard inclusion of stdlib.h with
94849         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
94850         Declare malloc if needed.
94851
94852         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
94853         `#ifndef HAVE_DECL..'
94854         now that autoconf always defines the HAVE_DECL_ symbols.
94855         * lib/human.c: Likewise.
94856         * lib/same.c: Likewise.
94857         * lib/strtoumax.c: Likewise.
94858
94859         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
94860         declaration check was not run.
94861         * lib/hash.c: Likewise.
94862         * lib/human.c: Likewise.
94863         * lib/same.c: Likewise.
94864         * lib/strtoumax.c: Likewise.
94865
94866         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
94867         `.', then first look up the entire `.'-containing string as a login
94868         name.
94869
94870 2000-02-23  Jim Meyering  <meyering@lucent.com>
94871
94872         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
94873         in place of my hack.
94874
94875 2000-02-18  Paul Eggert  <eggert@twinsun.com>
94876
94877         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
94878         (textint): New typedef.
94879         (parser_control): Member year changed from int to textint.
94880         All uses changed.
94881         (YYSTYPE): Removed; replaced by %union with int and textint members.
94882         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
94883         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
94884         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
94885         (tSNUMBER, tUNUMBER): Now of type <textintval>.
94886         (date, number, to_year): Use width of number in digits, not its value,
94887         to determine whether it's a 2-digit year, or a 2-digit time.
94888         (yylex): Store number of digits of numeric tokens.
94889         Reported by John Kendall.
94890
94891         (parser_control): Changed from struct parser_control to typedef (for
94892         consistency).  All uses changed.
94893
94894         (tID): Removed; not used.
94895         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
94896
94897 2000-02-14  Paul Eggert  <eggert@twinsun.com>
94898
94899         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
94900         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
94901
94902 2000-02-12  Jim Meyering  <meyering@lucent.com>
94903
94904         * lib/userspec.c (ISDIGIT): Define it.
94905         (isdigit): Remove definition.
94906         (is_number): Use ISDIGIT, not isdigit.
94907         <libintl.h>: Include.
94908         (_ and N_): Define.
94909         (parse_user_spec): Mark translatable strings.
94910
94911 2000-02-10  Jim Meyering  <meyering@lucent.com>
94912
94913         With these changes, nanosleep.[ch] are finally enough like the other
94914         lib/* replacement files to compile on a few more losing systems.
94915
94916         * lib/nanosleep.h: Don't include config.h.
94917         Remove prototype from declaration of nanosleep.
94918         (PARAMS): Remove now-unneeded definition.
94919         * lib/nanosleep.c: #undef nanosleep.
94920         (rpl_nanosleep): Rename from nanosleep.
94921
94922 2000-02-10  Jim Meyering  <meyering@lucent.com>
94923
94924         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
94925         gnu_nanosleep to rpl_nanosleep.
94926
94927 2000-02-09  Jim Meyering  <meyering@lucent.com>
94928
94929         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
94930         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
94931
94932 2000-02-08  Akim Demaille  <akim@epita.fr>
94933
94934         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
94935         `[' and `]' and remove uses of `changequote'.
94936         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
94937         (AC_SYS_LARGEFILE): Likewise.
94938         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
94939         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
94940         of changequote.
94941         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
94942         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
94943         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
94944         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
94945
94946 2000-02-05  Jim Meyering  <meyering@lucent.com>
94947
94948         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
94949         Remove explicit use of AC_HEADER_TIME.  It is required by
94950         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
94951         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
94952         in autoconf whereby the expansion of the latter ended up preceding
94953         the expansion of its prerequisite, AC_HEADER_TIME.
94954         Reported by Volker Borchert.
94955
94956 2000-02-03  Jim Meyering  <meyering@lucent.com>
94957
94958         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
94959
94960 2000-02-03  Jim Meyering  <meyering@lucent.com>
94961
94962         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
94963         rather than with `#if HAVE_UTMPNAME'.
94964
94965 2000-02-02  Jim Meyering  <meyering@lucent.com>
94966
94967         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
94968         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
94969         Reported by Eli Zaretskii.
94970
94971 2000-02-01  Jim Meyering  <meyering@lucent.com>
94972
94973         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
94974
94975 2000-01-31  Jim Meyering  <meyering@lucent.com>
94976
94977         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
94978         functions.  Add the time.h and sys/time.h headers along with the
94979         AC_REQUIRE'ment of AC_HEADER_TIME.
94980
94981 2000-01-31  Jim Meyering  <meyering@lucent.com>
94982
94983         * lib/nanosleep.h (nanosleep): Guard declaration with
94984         `#if ! HAVE_DECL_NANOSLEEP'.
94985         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
94986         the declaration in that vendor's sys/timers.h.
94987         Reported by Christian Krackowizer.
94988
94989         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
94990         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
94991         (ISPRINT): Likewise.
94992         Reported by Tom Tromey.
94993
94994 2000-01-30  Jim Meyering  <meyering@lucent.com>
94995
94996         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
94997
94998         * m4/prereq.m4 (utmp_includes): Define.
94999         Check for ut_user and ut_name members in both struct utmpx
95000         and struct utmp.
95001
95002 2000-01-30  Jim Meyering  <meyering@lucent.com>
95003
95004         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
95005         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
95006         header files where only utmpx.ut_user is declared.
95007
95008         * lib/readutmp.h (UT_USER): Define.
95009
95010 2000-01-29  Jim Meyering  <meyering@lucent.com>
95011
95012         * m4/lib-check.m4: New file containing library-related checks from
95013         fileutils and sh-utils (textutils had none).
95014
95015 2000-01-28  Jim Meyering  <meyering@lucent.com>
95016
95017         * m4/perl.m4: Change format of warning message to look more like that
95018         from the missing script.  Suggestion from François Pinard.
95019
95020 2000-01-25  Jim Meyering  <meyering@lucent.com>
95021
95022         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
95023         well as time.h in the compile check.
95024         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
95025         Fix typo in cross-compiling case: s/yes/no/.
95026
95027 2000-01-23  Jim Meyering  <meyering@lucent.com>
95028
95029         * m4/jm-macros.m4: Move df-related tests here from
95030         fileutils/configure.in
95031
95032         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
95033         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
95034
95035         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
95036         s/space/ac_fsusage_space/.
95037         (jm_FILE_SYSTEM_USAGE): Take two parameters.
95038
95039         * m4/ftruncate.m4: New file (derived from part of
95040         fileutils/configure.in).
95041         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
95042         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
95043
95044         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
95045         AC_SUBST these here, rather than just in sh-util/configure.in, so
95046         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
95047         all the same.
95048         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
95049         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
95050         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
95051         (AC_SUBST(POW_LIBM)): Likewise.
95052         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
95053
95054 2000-01-23  Jim Meyering  <meyering@lucent.com>
95055
95056         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
95057         obstack.c.
95058
95059 2000-01-22  Jim Meyering  <meyering@lucent.com>
95060
95061         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
95062
95063         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
95064
95065         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
95066         configure.in
95067         (AC_CHECK_HEADERS): Likewise for sh-utils.
95068         (AC_CHECK_HEADERS): Likewise for textutils.
95069         Merge the three lists of headers.
95070
95071         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
95072         from fileutils' configure.in.
95073
95074         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
95075         code. Moved tests into their own function (_jm_DECL_HEADERS) in
95076         check-decl.m4.
95077
95078         * m4/check-decl.m4: Use #if rather than #ifdef.
95079         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
95080         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
95081         (_jm_DECL_HEADERS): Define new function.
95082         (jm_CHECK_DECLARATIONS): Require it.
95083
95084 2000-01-22  Jim Meyering  <meyering@lucent.com>
95085
95086         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
95087         [! HAVE_DECL_STRTOULL]: Declare strtoull.
95088         Required for some AIX systems.  Reported by Christian Krackowizer.
95089         [TESTING] (main): New function.
95090
95091         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
95092         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
95093         letters.
95094
95095         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
95096         iswprint.
95097
95098         * lib/strverscmp.c (ISDIGIT): Define.
95099         (strverscmp): Use ISDIGIT, not isdigit.
95100
95101 2000-01-19  Jim Meyering  <meyering@lucent.com>
95102
95103         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
95104         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
95105         defines `struct timespec' in <sys/time.h>
95106
95107         * m4/c-bs-a.m4: Remove uses of changequote altogether.
95108         Thanks to Akim for explaining.
95109
95110 2000-01-17  Paul Eggert  <eggert@twinsun.com>
95111
95112         * lib/nanosleep.c (nanosleep):
95113         Don't use SA_INTERRUPT to decide whether to call sigaction, as
95114         POSIX.1 doesn't require SA_INTERRUPT and some systems
95115         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
95116         it's been part of POSIX.1 since day 1 (in 1988).
95117
95118 2000-01-17  Jim Meyering  <meyering@lucent.com>
95119
95120         * lib/interlock: Remove unused file.  Reported by François Pinard.
95121
95122 2000-01-16  Paul Eggert  <eggert@twinsun.com>
95123
95124         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
95125         alert, backslash, formfeed, and vertical tab unnecessarily in
95126         shell quoting style.
95127
95128 2000-01-16  Jim Meyering  <meyering@lucent.com>
95129
95130         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
95131         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
95132         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
95133         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
95134
95135 2000-01-16  Jim Meyering  <meyering@lucent.com>
95136
95137         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
95138         because the latter didn't work.
95139
95140 2000-01-15  Jim Meyering  <meyering@lucent.com>
95141
95142         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
95143         (AC_REPLACE_FUNCS): Add memcpy and memset.
95144         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
95145         Add strpbrk.
95146         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
95147
95148 2000-01-12  Jim Meyering  <meyering@lucent.com>
95149
95150         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
95151         (jm_PREREQ): Use it.
95152         (jm_PREREQ_READUTMP): New macro.
95153         (jm_PREREQ): Use it.
95154
95155 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95156
95157         Quote multibyte characters correctly.
95158         * m4/c-bs-a.m4: New file.
95159         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
95160         (jm_PREREQ): Use it.
95161
95162 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95163
95164         * m4/uintmax_t.m4: Port to autoconf 2.13.
95165
95166 2000-01-08  Jim Meyering  <meyering@ascend.com>
95167
95168         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
95169         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
95170
95171 2000-01-04  Jim Meyering  <meyering@ascend.com>
95172
95173         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
95174         jm_STRUCT_DIRENT_D_TYPE.
95175         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
95176         jm_STRUCT_DIRENT_D_INO.
95177         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
95178         jm_STRUCT_UTIMBUF.
95179         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
95180         renamings.
95181         * m4/utime.m4: Likewise.
95182
95183         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
95184         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
95185
95186 2000-01-03  Paul Eggert  <eggert@twinsun.com>
95187
95188         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
95189         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
95190
95191 2000-01-02  Jim Meyering  <meyering@ascend.com>
95192
95193         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
95194         remember if this is necessary.
95195
95196 1999-12-26  Jim Meyering  <meyering@ascend.com>
95197
95198         * m4/jm-macros.m4: Use it here.
95199         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
95200
95201 1999-12-23  Jim Meyering  <meyering@ascend.com>
95202
95203         * m4/jm-macros.m4: Check for clock_gettime (moved from
95204         fileutils/configure.in)
95205         Check for gettimeofday.
95206
95207 1999-12-20  Jim Meyering  <meyering@ascend.com>
95208
95209         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
95210         autoconf-2.14a-1999-12-20.
95211
95212 1999-12-19  Jim Meyering  <meyering@ascend.com>
95213
95214         * m4/lstat-slash.m4: New file.
95215         * m4/jm-macros.m4: Use the new macro:
95216         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95217
95218 1999-12-07  Jim Meyering  <meyering@ascend.com>
95219
95220         * m4/perl.m4: Require that File::Compare be available, too.
95221         Too many systems seem to lack it.
95222
95223         * m4/strftime.m4: Add checks for most of the cpp macros tested in
95224         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
95225
95226 1999-11-18  Paul Eggert  <eggert@twinsun.com>
95227
95228         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
95229         problem with the QNX 4.25 shell, which doesn't propagate exit
95230         status of failed commands inside shell assignments.
95231
95232 1999-11-17  Jim Meyering  <meyering@ascend.com>
95233
95234         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
95235
95236 1999-11-07  Jim Meyering  <meyering@ascend.com>
95237
95238         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
95239
95240 1999-11-06  Jim Meyering  <meyering@ascend.com>
95241
95242         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
95243         * m4/jm-macros.m4 (jm_MACROS): Use it here.
95244
95245 1999-11-05  Jim Meyering  <meyering@ascend.com>
95246
95247         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
95248         configure.in of textutils, fileutils, and sh-utils into this one
95249         (shared between those packages) file.
95250         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
95251         AC_STRUCT_ST_BLKSIZE.
95252
95253 1999-11-03  Jim Meyering  <meyering@ascend.com>
95254
95255         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
95256         of AC_CHECK_TYPE checks includes unistd.h.
95257         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
95258         Suggestion from Akim Demaille.
95259
95260 1999-10-30  Jim Meyering  <meyering@ascend.com>
95261
95262         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
95263         m4-quoted string.
95264         * m4/ls-mntd-fs.m4: Likewise.
95265         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
95266         * m4/jm-winsz1.m4: Likewise.
95267
95268         * m4/const.m4: Remove file, since the fix made it into the experimental
95269         version of autoconf.
95270         * m4/mktime.m4: Likewise.
95271
95272         * m4/check-type.m4: Remove file, now that the latest version of
95273         AC_CHECK_TYPE takes a third arg to specify additional #includes.
95274
95275         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
95276         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
95277         AC_CHECK_TYPE.
95278
95279 1999-10-04  Jim Meyering  <meyering@ascend.com>
95280
95281         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
95282
95283 1999-09-22  Paul Eggert  <eggert@twinsun.com>
95284
95285         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
95286         2.95.1 bug with HP-UX 10.20.
95287
95288 1999-09-17  Jim Meyering  <meyering@ascend.com>
95289
95290         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
95291         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
95292         due to missing strdup (against sh-utils-2.0).
95293
95294 1999-08-29  Jim Meyering  <meyering@ascend.com>
95295
95296         * m4/jm-macros.m4: Require jm_BISON.
95297         * m4/bison.m4: New file.
95298
95299 1999-08-17  Paul Eggert  <eggert@twinsun.com>
95300
95301         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
95302         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
95303
95304 1999-08-05  Jim Meyering  <meyering@ascend.com>
95305
95306         * m4/getline.m4: Rename test file from conftestdata to conftest.data
95307         to avoid conflicts with `conftest' on 8+3 filesystems.
95308         Suggestion from Eli Zaretskii.
95309
95310 1999-08-04  Jim Meyering  <meyering@ascend.com>
95311
95312         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
95313         fileutils and sh-utils (textutils's getline test was inadequate).
95314         (AM_FUNC_GETLINE): Run this test.
95315         (AC_CHECK_FUNCS): Check for getdelim.
95316         Reported by Bob Proulx.
95317
95318 1999-08-02  Jim Meyering  <meyering@ascend.com>
95319
95320         * m4/jm-macros.m4: Add a comment.
95321
95322 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95323
95324         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
95325         <inttypes.h> defines strtoumax as a macro (and not as a
95326         function).
95327
95328 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95329
95330         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
95331         that we can shift, multiply and divide unsigned long long
95332         values; Ultrix cc can't do it.
95333
95334 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95335
95336         * m4/mktime.m4: New file, which is a preview of what should appear
95337         in the next public autoconf release.
95338
95339 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95340
95341         * m4/lfs.m4: Remove this file.
95342         * m4/largefile.m4: New file.  It contains the old contents of
95343         lfs.m4, except that all names with prefix AC_LFS have been
95344         changed to use the prefix AC_SYS_LARGEFILE instead, to be
95345         compatible with future autoconf versions.  Also, some minor m4
95346         quoting problems have been fixed.
95347
95348 1999-08-01  Paul Eggert  <eggert@twinsun.com>
95349
95350         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
95351         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
95352         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
95353         and simplify the shell code.
95354
95355 1999-08-01  Jim Meyering  <meyering@ascend.com>
95356
95357         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
95358         m4.
95359
95360 1999-07-20  Jim Meyering  <meyering@ascend.com>
95361
95362         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
95363
95364 1999-07-15  Jim Meyering  <meyering@ascend.com>
95365
95366         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
95367
95368 1999-05-22  Jim Meyering  <meyering@ascend.com>
95369
95370         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
95371
95372 1999-05-20  Jim Meyering  <meyering@ascend.com>
95373
95374         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
95375         Add a colon after each `then' in case $4 is empty.
95376
95377 1999-05-16  Jim Meyering  <meyering@ascend.com>
95378
95379         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
95380
95381 1999-05-10  Jim Meyering  <meyering@ascend.com>
95382
95383         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
95384
95385         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
95386         AC_FUNC_MKTIME.
95387
95388 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
95389
95390         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
95391
95392 1999-05-04  Paul Eggert  <eggert@twinsun.com>
95393
95394         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
95395         not CPPFLAGS, so that linking works correctly in IRIX.
95396
95397 1999-04-30  Paul Eggert  <eggert@twinsun.com>
95398
95399         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
95400
95401 1999-04-20  Paul Eggert  <eggert@twinsun.com>
95402
95403         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
95404         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
95405         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
95406         jm_AC_TYPE_UNSIGNED_LONG_LONG.
95407         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
95408
95409         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
95410
95411 1999-04-20  Jim Meyering  <meyering@ascend.com>
95412
95413         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
95414         AC_REPLACE xstroull if necessary.  From Paul Eggert.
95415         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
95416
95417 1999-04-18  Jim Meyering  <meyering@ascend.com>
95418
95419         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
95420         * m4/jm-macros.m4: Use it.
95421
95422 1999-04-06  Jim Meyering  <meyering@ascend.com>
95423
95424         * m4/strftime.m4: Remove test for %f.
95425
95426 1999-03-29  Jim Meyering  <meyering@ascend.com>
95427
95428         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
95429         superset of the AC_TYPE_* checks in the textutils, fileutils,
95430         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
95431         AC_TYPE_PID_T.
95432
95433 1999-03-28  Jim Meyering  <meyering@ascend.com>
95434
95435         * m4/jm-macros.m4: Define GNU_PACKAGE here.
95436         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
95437         replaced e.g., in the *.sh files of the sh-utils.
95438
95439 1999-03-20  Jim Meyering  <meyering@ascend.com>
95440
95441         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
95442         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
95443         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
95444
95445 1999-03-19  Jim Meyering  <meyering@ascend.com>
95446
95447         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
95448
95449 1999-03-12  Jim Meyering  <meyering@ascend.com>
95450
95451         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
95452
95453 1999-03-07  Jim Meyering  <meyering@ascend.com>
95454
95455         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
95456         declared.
95457
95458 1999-02-17  Jim Meyering  <meyering@ascend.com>
95459
95460         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
95461         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
95462
95463 1999-02-07  Jim Meyering  <meyering@ascend.com>
95464
95465         * m4/group-member.m4: New file -- extracted from sh-utils'
95466         configure.in.
95467
95468         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
95469         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
95470
95471 1999-02-06  Jim Meyering  <meyering@ascend.com>
95472
95473         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
95474         * m4/fnmatch.m4: Likewise.
95475         * m4/getgroups.m4: Likewise.
95476         * m4/lstat.m4: Likewise.
95477         * m4/malloc.m4: Likewise.
95478         * m4/putenv.m4: Likewise.
95479         * m4/realloc.m4: Likewise.
95480         * m4/regex.m4: Likewise.
95481         * m4/stat.m4: Likewise.
95482         * m4/strftime.m4: Likewise.
95483         Suggestion from Alain Magloire.
95484
95485         * m4/chown.m4: Use `.$ac_objext', not `.o'.
95486         * m4/fnmatch.m4: Likewise.
95487         * m4/getgroups.m4: Likewise.
95488         * m4/getline.m4: Likewise.
95489         * m4/lstat.m4: Likewise.
95490         * m4/malloc.m4: Likewise.
95491         * m4/memcmp.m4: Likewise.
95492         * m4/putenv.m4: Likewise.
95493         * m4/realloc.m4: Likewise.
95494         * m4/regex.m4: Likewise.
95495         * m4/stat.m4: Likewise.
95496         * m4/strftime.m4: Likewise.
95497         Suggestion from Alain Magloire.
95498
95499         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
95500         an argument.
95501
95502         * m4/regex.m4: Add a run-time Test for proper operation of
95503         re_compile_pattern.
95504
95505 1999-01-31  Jim Meyering  <meyering@ascend.com>
95506
95507         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
95508
95509 1999-01-30  Jim Meyering  <meyering@ascend.com>
95510
95511         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
95512
95513         * m4/jm-mktime.m4: Make this a wrapper around the official
95514         AM_FUNC_MKTIME rather than my private copy, now that the official one
95515         is up to date.
95516         * m4/mktime.m4: Remove file.
95517
95518         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
95519         * m4/uptime.m4: Likewise.
95520         * m4/uintmax_t.m4: Likewise.
95521
95522 1999-01-28  Jim Meyering  <meyering@ascend.com>
95523
95524         * m4/jm-macros.m4: Use jm_AFS.
95525         * m4/afs.m4: New file (from fileutils' configure.in).
95526
95527         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
95528         * m4/chown.m4: Likewise.
95529         * m4/d-ino.m4: Likewise.
95530         * m4/d-type.m4: Likewise.
95531         * m4/fnmatch.m4: Likewise.
95532         * m4/getgroups.m4: Likewise.
95533         * m4/gettext.m4: Likewise.
95534         * m4/jm-mktime.m4: Likewise.
95535         * m4/jm-winsz2.m4: Likewise.
95536         * m4/lcmessage.m4: Likewise.
95537         * m4/ls-mntd-fs.m4: Likewise.
95538         * m4/malloc.m4: Likewise.
95539         * m4/memcmp.m4: Likewise.
95540         * m4/putenv.m4: Likewise.
95541         * m4/realloc.m4: Likewise.
95542         * m4/st_mtim.m4: Likewise.
95543         * m4/strftime.m4: Likewise.
95544
95545 1999-01-16  Jim Meyering  <meyering@ascend.com>
95546
95547         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
95548         (ARGMATCH_DIE_DECL): Define.
95549
95550 1999-01-12  Jim Meyering  <meyering@ascend.com>
95551
95552         * m4/Makefile.am.in: Rewrite to avoid using fmt.
95553         Reported by Lars Hecking.
95554
95555 1999-01-10  Jim Meyering  <meyering@ascend.com>
95556
95557         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
95558         gross kludge.
95559         * m4/inttypes_h.m4: Likewise.
95560         * m4/lstat.m4: Likewise.
95561         * m4/malloc.m4: Likewise.
95562         * m4/readdir.m4: Likewise.
95563         * m4/realloc.m4: Likewise.
95564         * m4/st_dm_mode.m4: Likewise.
95565         * m4/stat.m4: Likewise.
95566         * m4/utimbuf.m4: Likewise.
95567         * m4/utimes.m4: Likewise.
95568
95569         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
95570         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
95571         comments in config.h.in are meaningful.
95572
95573         * m4/jm-macros.m4: Require autoconf-2.13 here.
95574
95575         * m4/regex.m4: By default, don't use the included regex.c on systems
95576         with glibc 2.  Suggestion from Uli Drepper.
95577
95578 1999-01-02  Jim Meyering  <meyering@ascend.com>
95579
95580         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
95581
95582 1998-12-18  Jim Meyering  <meyering@ascend.com>
95583
95584         * m4/Makefile.am.in (Makefile.am): Simplify rule.
95585         Based on a suggestion from Lars Hecking.
95586
95587 1998-11-16  Paul Eggert  <eggert@twinsun.com>
95588
95589         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
95590
95591 1998-11-16  Jim Meyering  <meyering@ascend.com>
95592
95593         * m4/lfs.m4: Double-quote the `uname...` expression.
95594
95595 1998-11-14  Jim Meyering  <meyering@ascend.com>
95596
95597         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
95598         * m4/stat.m4: Likewise.
95599
95600 1998-11-03  Jim Meyering  <meyering@ascend.com>
95601
95602         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
95603         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
95604
95605 1998-10-18  Jim Meyering  <meyering@ascend.com>
95606
95607         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
95608
95609 1998-10-17  Jim Meyering  <meyering@ascend.com>
95610
95611         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
95612         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
95613         calls for those previously hard-coded headers.  Instead, take a new
95614         parameter.
95615         (jm_CHECK_DECLARATIONS): Reflect interface change.
95616         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
95617         (jm_CHECK_DECL_LOCALTIME_R): New macro.
95618
95619         * m4/mktime.m4: Test for spring-forward gap before long-running test.
95620
95621 1998-10-14  Jim Meyering  <meyering@ascend.com>
95622
95623         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
95624         instead of "TZ=America/Vancouver".  From Paul Eggert.
95625
95626 1998-10-11  Jim Meyering  <meyering@ascend.com>
95627
95628         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
95629         This adds a test for a recently added compatibility fix for mktime.c.
95630         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
95631
95632 1998-09-27  Jim Meyering  <meyering@ascend.com>
95633
95634         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
95635
95636         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
95637         ../configure.in, including a change from Gordon Matzigkeit to allow
95638         cross-compiling for the Hurd.
95639
95640         * m4/glibc.m4: New file/macro to test for the GNU C Library
95641         versions 1 and 2.  From Gordon Matzigkeit.
95642         Indent.
95643
95644 1998-09-21  Jim Meyering  <meyering@ascend.com>
95645
95646         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
95647
95648 1998-08-18  Paul Eggert  <eggert@twinsun.com>
95649
95650         Port nanosecond-resolution times to UnixWare 2.1.2 and
95651         pedantic Solaris 2.6.
95652
95653         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
95654         AC_STRUCT_ST_MTIM.
95655         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
95656         Generate name of ns member, instead of just 1 or undef.
95657         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
95658
95659 1998-08-15  Jim Meyering  <meyering@ascend.com>
95660
95661         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
95662         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
95663         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
95664         instead of jm_TYPE_SSIZE_T.
95665
95666 1998-08-12  Jim Meyering  <meyering@ascend.com>
95667
95668         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
95669
95670 1998-08-02  Jim Meyering  <meyering@ascend.com>
95671
95672         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
95673         in acconfig.h manually.
95674
95675 1998-07-31  Paul Eggert  <eggert@twinsun.com>
95676
95677         * m4/st_mtim.m4: New file.
95678
95679 1998-07-28  Jim Meyering  <meyering@ascend.com>
95680
95681         * m4/utimes.m4: Undef stat.
95682
95683 1998-07-25  Jim Meyering  <meyering@ascend.com>
95684
95685         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
95686         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
95687
95688 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
95689
95690         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
95691         uid and gid actually remain unchanged.
95692
95693 1998-07-07  Jim Meyering  <meyering@ascend.com>
95694
95695         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
95696
95697 1998-07-04  Jim Meyering  <meyering@ascend.com>
95698
95699         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
95700         to prove that this macro can be used in packages without regex.c.
95701
95702 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
95703
95704         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
95705         is to be used.
95706
95707 1998-07-03  Jim Meyering  <meyering@ascend.com>
95708
95709         * m4/gettext.m4: Add -lintl if it's found to be necessary.
95710
95711         * m4/gettext.m4: New file -- from gettext-0.10.35.
95712         * m4/lcmessage.m4: Likewise.
95713         * m4/progtest.m4: Likewise.
95714
95715         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
95716         * m4/jm-macros.m4: Require the new macro.
95717
95718 1998-06-29  Jim Meyering  <meyering@ascend.com>
95719
95720         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
95721         for the definition of NGROUPS (used in a system header included
95722         by sys/mount.h).
95723
95724 1998-06-28  Jim Meyering  <meyering@ascend.com>
95725
95726         * m4/ls-mntd-fs.m4: New file.
95727         * m4/fstypename.m4: New file.
95728
95729         * m4/jm-macros.m4: Require the new macro.
95730         * m4/jm-glibc-io.m4: New file.
95731
95732 1998-05-19  Jim Meyering  <meyering@ascend.com>
95733
95734         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
95735         * m4/lchown.m4: New file.
95736
95737         * m4/Makefile.am.in: New file.
95738         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
95739
95740 1998-05-14  Jim Meyering  <meyering@ascend.com>
95741
95742         * m4/Makefile.am (EXTRA_DIST): Add them.
95743         * m4/jm-macros.m4: New file.
95744         * m4/utimbuf.m4: New file.
95745
95746 1998-05-12  Jim Meyering  <meyering@ascend.com>
95747
95748         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
95749
95750 1998-05-11  Jim Meyering  <meyering@ascend.com>
95751
95752         * m4/isc-posix.m4: New file.
95753
95754 1998-05-10  Jim Meyering  <meyering@ascend.com>
95755
95756         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
95757
95758 1998-05-09  Jim Meyering  <meyering@ascend.com>
95759
95760         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
95761         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
95762         with automake.
95763
95764         * m4/ssize_t.m4: New file.
95765         * m4/mktime.m4: Remove file -- the new automake has this now.
95766
95767 1998-04-26  Jim Meyering  <meyering@ascend.com>
95768
95769         * m4/assert.m4: New file.
95770         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
95771
95772 1998-04-05  Jim Meyering  <meyering@ascend.com>
95773
95774         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
95775         (jm_PREREQ): Use it here.
95776
95777 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
95778
95779         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
95780         in acconfig.h.
95781
95782 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
95783
95784         * m4/prereq.m4: New file.
95785         * m4/error.m4: New file.
95786         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
95787
95788 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
95789
95790         * m4/getline.m4: Don't set am_cv_func_working_getline before the
95791         cache-check for the same variable -- that defeated the purpose of
95792         the test; the test program was never run.  This was a problem only
95793         on systems with losing getline functions -- HP-UX 10.20 is one.
95794         Reported by Bjorn Helgaas.
95795
95796 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
95797
95798         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
95799
95800 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
95801
95802         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
95803
95804         * m4/const.m4: New file.  Use an initializer in this declaration
95805         typedef int charset[2]; const charset x;
95806         Reported by Bob Glickstein.
95807
95808 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
95809
95810         * m4/chown.m4: Fix reversed types on -1 args to chown.
95811         From Kaveh Ghazi.
95812
95813 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
95814
95815         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
95816         Add lseek and memchr.
95817
95818         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
95819         T.E.Dickey <dickey@clark.net> said that some older preprocessors
95820         have a 20-character limit on names.
95821
95822 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
95823
95824         * m4/inttypes_h.m4: New file.
95825         * m4/uintmax_t.m4: New file.
95826         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
95827
95828
95829         -----
95830
95831         Local Variables:
95832         coding: utf-8
95833         End:
95834
95835         Copyright (C) 1997-2012 Free Software Foundation, Inc.
95836
95837         Copying and distribution of this file, with or without
95838         modification, are permitted provided the copyright notice
95839         and this notice are preserved.